@visulima/api-platform
Version:
Visulima API platform is a set of tools to build and consume web APIs
1 lines • 6.68 kB
Source Map (JSON)
{"version":3,"sources":["../src/zod/index.ts","../src/zod/date-in-schema.ts","../src/zod/date-out-schema.ts"],"names":["zod_exports","__export","dateIn","dateOut","zodDateInKind","isoDateRegex","ZodDateIn","_ZodDateIn","ZodType","input","ctx","status","ZodParsedType","addIssueToContext","ZodIssueCode","INVALID","date","zodDateOutKind","ZodDateOut","_ZodDateOut","parameters","withGetType","ts"],"mappings":"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","file":"chunk-BJSUSPWM.mjs","sourcesContent":["import { withGetType } from \"zod-to-ts\";\n\nimport { ZodDateIn } from \"./date-in-schema\";\nimport { ZodDateOut } from \"./date-out-schema\";\n\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nexport const dateIn = (...parameters: Parameters<typeof ZodDateIn.create>) =>\n withGetType(ZodDateIn.create(...parameters), (ts) => ts.factory.createKeywordTypeNode(ts.SyntaxKind.StringKeyword));\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nexport const dateOut = (...parameters: Parameters<typeof ZodDateOut.create>) =>\n withGetType(ZodDateOut.create(...parameters), (ts) => ts.factory.createKeywordTypeNode(ts.SyntaxKind.StringKeyword));\n","import type { ParseInput, ParseReturnType, ZodTypeDef } from \"zod\";\nimport { addIssueToContext, INVALID, ZodIssueCode, ZodParsedType, ZodType } from \"zod\";\n\nconst zodDateInKind = \"ZodDateIn\";\n\n// simple regex for ISO date, supports the following formats:\n// 2021-01-01T00:00:00.000Z\n// 2021-01-01T00:00:00Z\n// 2021-01-01T00:00:00\n// 2021-01-01\n// eslint-disable-next-line security/detect-unsafe-regex\nexport const isoDateRegex = /^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}(\\.\\d{3})?)?Z?$/;\n\n// eslint-disable-next-line unicorn/prevent-abbreviations\nexport interface ZodDateInDef extends ZodTypeDef {\n typeName: typeof zodDateInKind;\n}\n\nexport class ZodDateIn extends ZodType<Date, ZodDateInDef, string> {\n public static create = (): ZodDateIn =>\n new ZodDateIn({\n typeName: zodDateInKind,\n });\n\n // eslint-disable-next-line no-underscore-dangle\n public _parse(input: ParseInput): ParseReturnType<Date> {\n // eslint-disable-next-line no-underscore-dangle\n const { ctx, status } = this._processInputParams(input);\n\n if (ctx.parsedType !== ZodParsedType.string) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.string,\n received: ctx.parsedType,\n });\n\n return INVALID;\n }\n\n if (!isoDateRegex.test(ctx.data as string)) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_string,\n validation: \"regex\",\n });\n status.dirty();\n }\n\n const date = new Date(ctx.data as string);\n\n if (Number.isNaN(date.getTime())) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_date,\n });\n\n return INVALID;\n }\n\n return { status: status.value, value: date };\n }\n}\n","import type { ParseInput, ParseReturnType, ZodTypeDef } from \"zod\";\nimport { addIssueToContext, INVALID, ZodIssueCode, ZodParsedType, ZodType } from \"zod\";\n\nconst zodDateOutKind = \"ZodDateOut\";\n\n// eslint-disable-next-line unicorn/prevent-abbreviations\nexport interface ZodDateOutDef extends ZodTypeDef {\n typeName: typeof zodDateOutKind;\n}\n\nexport class ZodDateOut extends ZodType<string, ZodDateOutDef, Date> {\n public static create = (): ZodDateOut =>\n new ZodDateOut({\n typeName: zodDateOutKind,\n });\n\n // eslint-disable-next-line no-underscore-dangle\n public _parse(input: ParseInput): ParseReturnType<string> {\n // eslint-disable-next-line no-underscore-dangle\n const { ctx, status } = this._processInputParams(input);\n\n if (ctx.parsedType !== ZodParsedType.date) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.date,\n received: ctx.parsedType,\n });\n\n return INVALID;\n }\n\n if (Number.isNaN(ctx.data.getTime())) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_date,\n });\n\n return INVALID;\n }\n\n return { status: status.value, value: (ctx.data as Date).toISOString() };\n }\n}\n"]}