# Function inferJLinkListSchema

- inferJLinkListSchema<T extends ZodType<jObjectBase, ZodTypeDef, jObjectBase>>(
  type: T,
  ): ZodObject<
  ZodShape<jObjectBase> & {
  srcId: ZodNumber;
  srcType: ZodString;
  targetId: ZodNumber;
  targetType: ZodNullable<ZodString>;
  } & {
  _src: ZodOptional<T>;
  _target: ZodUnion<[ZodOptional<T>, ZodUndefined]>;
  value: ZodNullable<ZodString>;
  },
  "strip",
  ZodTypeAny,
  {
  [k in | "id"
  | "value"
  | "type"
  | "srcId"
  | "srcType"
  | "targetId"
  | "targetType"
  | "mainType"
  | "uri"
  | "dateCreation"
  | "dateModified"
  | "_src"
  | "_target"]: addQuestionMarks<
  baseObjectOutputType<
  ZodShape<jObjectBase> & {
  srcId: ZodNumber;
  srcType: ZodString;
  targetId: ZodNumber;
  targetType: ZodNullable<ZodString>;
  } & {
  _src: ZodOptional<T>;
  _target: ZodUnion<[ZodOptional<T>, ZodUndefined]>;
  value: ZodNullable<ZodString>;
  },
  >,
  any,
  >[k]
  },
  {
  [k in | "id"
  | "value"
  | "type"
  | "srcId"
  | "srcType"
  | "targetId"
  | "targetType"
  | "mainType"
  | "uri"
  | "dateCreation"
  | "dateModified"
  | "_src"
  | "_target"]: baseObjectInputType<
  ZodShape<jObjectBase> & {
  srcId: ZodNumber;
  srcType: ZodString;
  targetId: ZodNumber;
  targetType: ZodNullable<ZodString>;
  } & {
  _src: ZodOptional<T>;
  _target: ZodUnion<[ZodOptional<T>, ZodUndefined]>;
  value: ZodNullable<ZodString>;
  },
  >[k]
  },
  >

  #### Type Parameters

  - T extends ZodType<jObjectBase, ZodTypeDef, jObjectBase>

  #### Parameters

  - type: T

  #### Returns ZodObject<
  ZodShape<jObjectBase> & {
  srcId: ZodNumber;
  srcType: ZodString;
  targetId: ZodNumber;
  targetType: ZodNullable<ZodString>;
  } & {
  _src: ZodOptional<T>;
  _target: ZodUnion<[ZodOptional<T>, ZodUndefined]>;
  value: ZodNullable<ZodString>;
  },
  "strip",
  ZodTypeAny,
  {
  [k in | "id"
  | "value"
  | "type"
  | "srcId"
  | "srcType"
  | "targetId"
  | "targetType"
  | "mainType"
  | "uri"
  | "dateCreation"
  | "dateModified"
  | "_src"
  | "_target"]: addQuestionMarks<
  baseObjectOutputType<
  ZodShape<jObjectBase> & {
  srcId: ZodNumber;
  srcType: ZodString;
  targetId: ZodNumber;
  targetType: ZodNullable<ZodString>;
  } & {
  _src: ZodOptional<T>;
  _target: ZodUnion<[ZodOptional<T>, ZodUndefined]>;
  value: ZodNullable<ZodString>;
  },
  >,
  any,
  >[k]
  },
  {
  [k in | "id"
  | "value"
  | "type"
  | "srcId"
  | "srcType"
  | "targetId"
  | "targetType"
  | "mainType"
  | "uri"
  | "dateCreation"
  | "dateModified"
  | "_src"
  | "_target"]: baseObjectInputType<
  ZodShape<jObjectBase> & {
  srcId: ZodNumber;
  srcType: ZodString;
  targetId: ZodNumber;
  targetType: ZodNullable<ZodString>;
  } & {
  _src: ZodOptional<T>;
  _target: ZodUnion<[ZodOptional<T>, ZodUndefined]>;
  value: ZodNullable<ZodString>;
  },
  >[k]
  },
  >

  - Defined in jamespot-user-api/src/types/link.ts:13