# Function inferBookmarkRawListSchema

- inferBookmarkRawListSchema<
  T extends
  ZodType<jObjectBase, ZodTypeDef, jObjectBase> =
  | ZodType<jUserLittle, ZodTypeDef, jUserLittle>
  | ZodType<jObjectLittle, ZodTypeDef, jObjectLittle>,
  >(
  type?: T,
  ): ZodObject<
  {
  _src: ZodOptional<
  | T
  | ZodUnion<
  [
  ZodObject<
  ZodShape<jObjectBase> & { _url: ZodString; title: ZodString },
  "strip",
  ZodTypeAny,
  jObjectLittle,
  jObjectLittle,
  >,
  ZodObject<
  {
  _url: ZodString;
  id: ZodType<(...), (...), (...)>;
  mainType: ZodType<(...), (...), (...)>;
  title: ZodString;
  type: ZodType<(...), (...), (...)>;
  uri: ZodType<(...), (...), (...)>;
  } & {
  dateCreation: ZodString;
  dateModified: ZodString;
  level: ZodNativeEnum<(...)>;
  variant: ZodOptional<(...)>;
  },
  "strip",
  ZodTypeAny,
  UserLittle,
  UserLittle,
  >,
  ],
  >,
  >;
  _target: ZodUnion<
  [
  ZodOptional<
  | T
  | ZodUnion<
  [
  ZodObject<
  (...) & (...),
  "strip",
  ZodTypeAny,
  jObjectLittle,
  jObjectLittle,
  >,
  ZodObject<(...) & (...), "strip", ZodTypeAny, UserLittle, UserLittle>,
  ],
  >,
  >,
  ZodUndefined,
  ],
  >;
  dateCreation: ZodOptionalType<
  ZodType<string | undefined, ZodTypeDef, string | undefined>,
  >;
  dateModified: ZodOptionalType<
  ZodType<
  string
  | null
  | undefined,
  ZodTypeDef,
  string | null | undefined,
  >,
  >;
  id: ZodType<number, ZodTypeDef, number>;
  mainType: ZodType<string, ZodTypeDef, string>;
  srcId: ZodNumber;
  srcType: ZodString;
  targetId: ZodNumber;
  targetType: ZodNullable<ZodString>;
  uri: ZodType<string, ZodTypeDef, string>;
  value: ZodNullable<ZodString>;
  } & {
  bookmarkLabel: ZodOptional<ZodString>;
  bookmarkMeta: ZodNullable<ZodOptional<ZodString>>;
  bookmarkOrder: ZodOptional<ZodNumber>;
  bookmarkUrl: ZodNullable<ZodOptional<ZodString>>;
  type: ZodLiteral<"bookmarkLink">;
  url: ZodNullable<ZodOptional<ZodString>>;
  },
  "strip",
  ZodTypeAny,
  {
  [k in | "id"
  | "value"
  | "type"
  | "srcId"
  | "srcType"
  | "targetId"
  | "targetType"
  | "mainType"
  | "uri"
  | "dateCreation"
  | "dateModified"
  | "url"
  | "_src"
  | "_target"
  | "bookmarkUrl"
  | "bookmarkOrder"
  | "bookmarkLabel"
  | "bookmarkMeta"]: addQuestionMarks<
  baseObjectOutputType<
  {
  _src: ZodOptional<T | ZodUnion<[(...), (...)]>>;
  _target: ZodUnion<[ZodOptional<(...) | (...)>, ZodUndefined]>;
  dateCreation: ZodOptionalType<
  ZodType<string | undefined, ZodTypeDef, string | undefined>,
  >;
  dateModified: ZodOptionalType<
  ZodType<
  string
  | null
  | undefined,
  ZodTypeDef,
  string | null | undefined,
  >,
  >;
  id: ZodType<number, ZodTypeDef, number>;
  mainType: ZodType<string, ZodTypeDef, string>;
  srcId: ZodNumber;
  srcType: ZodString;
  targetId: ZodNumber;
  targetType: ZodNullable<ZodString>;
  uri: ZodType<string, ZodTypeDef, string>;
  value: ZodNullable<ZodString>;
  } & {
  bookmarkLabel: ZodOptional<ZodString>;
  bookmarkMeta: ZodNullable<ZodOptional<ZodString>>;
  bookmarkOrder: ZodOptional<ZodNumber>;
  bookmarkUrl: ZodNullable<ZodOptional<ZodString>>;
  type: ZodLiteral<"bookmarkLink">;
  url: ZodNullable<ZodOptional<ZodString>>;
  },
  >,
  any,
  >[k]
  },
  {
  [k in | "id"
  | "value"
  | "type"
  | "srcId"
  | "srcType"
  | "targetId"
  | "targetType"
  | "mainType"
  | "uri"
  | "dateCreation"
  | "dateModified"
  | "url"
  | "_src"
  | "_target"
  | "bookmarkUrl"
  | "bookmarkOrder"
  | "bookmarkLabel"
  | "bookmarkMeta"]: baseObjectInputType<
  {
  _src: ZodOptional<
  | T
  | ZodUnion<
  [
  ZodObject<(...), (...), (...), (...), (...)>,
  ZodObject<(...), (...), (...), (...), (...)>,
  ],
  >,
  >;
  _target: ZodUnion<[ZodOptional<T | ZodUnion<(...)>>, ZodUndefined]>;
  dateCreation: ZodOptionalType<
  ZodType<string | undefined, ZodTypeDef, string | undefined>,
  >;
  dateModified: ZodOptionalType<
  ZodType<
  string
  | null
  | undefined,
  ZodTypeDef,
  string | null | undefined,
  >,
  >;
  id: ZodType<number, ZodTypeDef, number>;
  mainType: ZodType<string, ZodTypeDef, string>;
  srcId: ZodNumber;
  srcType: ZodString;
  targetId: ZodNumber;
  targetType: ZodNullable<ZodString>;
  uri: ZodType<string, ZodTypeDef, string>;
  value: ZodNullable<ZodString>;
  } & {
  bookmarkLabel: ZodOptional<ZodString>;
  bookmarkMeta: ZodNullable<ZodOptional<ZodString>>;
  bookmarkOrder: ZodOptional<ZodNumber>;
  bookmarkUrl: ZodNullable<ZodOptional<ZodString>>;
  type: ZodLiteral<"bookmarkLink">;
  url: ZodNullable<ZodOptional<ZodString>>;
  },
  >[k]
  },
  >

  #### Type Parameters

  - T extends ZodType<jObjectBase, ZodTypeDef, jObjectBase> =
    | ZodType<jUserLittle, ZodTypeDef, jUserLittle>
    | ZodType<jObjectLittle, ZodTypeDef, jObjectLittle>

  #### Parameters

  - `Optional` type: T

  #### Returns ZodObject<
  {
  _src: ZodOptional<
  | T
  | ZodUnion<
  [
  ZodObject<
  ZodShape<jObjectBase> & { _url: ZodString; title: ZodString },
  "strip",
  ZodTypeAny,
  jObjectLittle,
  jObjectLittle,
  >,
  ZodObject<
  {
  _url: ZodString;
  id: ZodType<(...), (...), (...)>;
  mainType: ZodType<(...), (...), (...)>;
  title: ZodString;
  type: ZodType<(...), (...), (...)>;
  uri: ZodType<(...), (...), (...)>;
  } & {
  dateCreation: ZodString;
  dateModified: ZodString;
  level: ZodNativeEnum<(...)>;
  variant: ZodOptional<(...)>;
  },
  "strip",
  ZodTypeAny,
  UserLittle,
  UserLittle,
  >,
  ],
  >,
  >;
  _target: ZodUnion<
  [
  ZodOptional<
  | T
  | ZodUnion<
  [
  ZodObject<
  (...) & (...),
  "strip",
  ZodTypeAny,
  jObjectLittle,
  jObjectLittle,
  >,
  ZodObject<(...) & (...), "strip", ZodTypeAny, UserLittle, UserLittle>,
  ],
  >,
  >,
  ZodUndefined,
  ],
  >;
  dateCreation: ZodOptionalType<
  ZodType<string | undefined, ZodTypeDef, string | undefined>,
  >;
  dateModified: ZodOptionalType<
  ZodType<
  string
  | null
  | undefined,
  ZodTypeDef,
  string | null | undefined,
  >,
  >;
  id: ZodType<number, ZodTypeDef, number>;
  mainType: ZodType<string, ZodTypeDef, string>;
  srcId: ZodNumber;
  srcType: ZodString;
  targetId: ZodNumber;
  targetType: ZodNullable<ZodString>;
  uri: ZodType<string, ZodTypeDef, string>;
  value: ZodNullable<ZodString>;
  } & {
  bookmarkLabel: ZodOptional<ZodString>;
  bookmarkMeta: ZodNullable<ZodOptional<ZodString>>;
  bookmarkOrder: ZodOptional<ZodNumber>;
  bookmarkUrl: ZodNullable<ZodOptional<ZodString>>;
  type: ZodLiteral<"bookmarkLink">;
  url: ZodNullable<ZodOptional<ZodString>>;
  },
  "strip",
  ZodTypeAny,
  {
  [k in | "id"
  | "value"
  | "type"
  | "srcId"
  | "srcType"
  | "targetId"
  | "targetType"
  | "mainType"
  | "uri"
  | "dateCreation"
  | "dateModified"
  | "url"
  | "_src"
  | "_target"
  | "bookmarkUrl"
  | "bookmarkOrder"
  | "bookmarkLabel"
  | "bookmarkMeta"]: addQuestionMarks<
  baseObjectOutputType<
  {
  _src: ZodOptional<T | ZodUnion<[(...), (...)]>>;
  _target: ZodUnion<[ZodOptional<(...) | (...)>, ZodUndefined]>;
  dateCreation: ZodOptionalType<
  ZodType<string | undefined, ZodTypeDef, string | undefined>,
  >;
  dateModified: ZodOptionalType<
  ZodType<
  string
  | null
  | undefined,
  ZodTypeDef,
  string | null | undefined,
  >,
  >;
  id: ZodType<number, ZodTypeDef, number>;
  mainType: ZodType<string, ZodTypeDef, string>;
  srcId: ZodNumber;
  srcType: ZodString;
  targetId: ZodNumber;
  targetType: ZodNullable<ZodString>;
  uri: ZodType<string, ZodTypeDef, string>;
  value: ZodNullable<ZodString>;
  } & {
  bookmarkLabel: ZodOptional<ZodString>;
  bookmarkMeta: ZodNullable<ZodOptional<ZodString>>;
  bookmarkOrder: ZodOptional<ZodNumber>;
  bookmarkUrl: ZodNullable<ZodOptional<ZodString>>;
  type: ZodLiteral<"bookmarkLink">;
  url: ZodNullable<ZodOptional<ZodString>>;
  },
  >,
  any,
  >[k]
  },
  {
  [k in | "id"
  | "value"
  | "type"
  | "srcId"
  | "srcType"
  | "targetId"
  | "targetType"
  | "mainType"
  | "uri"
  | "dateCreation"
  | "dateModified"
  | "url"
  | "_src"
  | "_target"
  | "bookmarkUrl"
  | "bookmarkOrder"
  | "bookmarkLabel"
  | "bookmarkMeta"]: baseObjectInputType<
  {
  _src: ZodOptional<
  | T
  | ZodUnion<
  [
  ZodObject<(...), (...), (...), (...), (...)>,
  ZodObject<(...), (...), (...), (...), (...)>,
  ],
  >,
  >;
  _target: ZodUnion<[ZodOptional<T | ZodUnion<(...)>>, ZodUndefined]>;
  dateCreation: ZodOptionalType<
  ZodType<string | undefined, ZodTypeDef, string | undefined>,
  >;
  dateModified: ZodOptionalType<
  ZodType<
  string
  | null
  | undefined,
  ZodTypeDef,
  string | null | undefined,
  >,
  >;
  id: ZodType<number, ZodTypeDef, number>;
  mainType: ZodType<string, ZodTypeDef, string>;
  srcId: ZodNumber;
  srcType: ZodString;
  targetId: ZodNumber;
  targetType: ZodNullable<ZodString>;
  uri: ZodType<string, ZodTypeDef, string>;
  value: ZodNullable<ZodString>;
  } & {
  bookmarkLabel: ZodOptional<ZodString>;
  bookmarkMeta: ZodNullable<ZodOptional<ZodString>>;
  bookmarkOrder: ZodOptional<ZodNumber>;
  bookmarkUrl: ZodNullable<ZodOptional<ZodString>>;
  type: ZodLiteral<"bookmarkLink">;
  url: ZodNullable<ZodOptional<ZodString>>;
  },
  >[k]
  },
  >

  - Defined in jamespot-user-api/src/types/bookmark.ts:7