{"version":3,"sources":["../../../src/api/times.ts"],"sourcesContent":["import { standard } from './base/pipes'\nimport { getRandomValue } from '../utils/functions'\n\nexport type Timeable = Date | string | number\n\nexport const time = (err = 'is not a valid datetime') => {\n\tconst varName = `date_${getRandomValue()}`\n\treturn standard<Timeable, Date>(\n\t\t({ input, path }, opts) => [\n\t\t\topts.wrapError(\n\t\t\t\t`!(${input} instanceof Date || typeof ${input} === 'number' || typeof ${input} === 'string')`,\n\t\t\t\t`PipeError.root('${err}', ${input}, ${path})`,\n\t\t\t),\n\t\t\t`const ${varName} = new Date(${input})`,\n\t\t\topts.wrapError(`isNaN(${varName}.getTime())`, `PipeError.root('${err}', ${input}, ${path})`),\n\t\t\t`${input} = ${varName}`,\n\t\t],\n\t\t{\n\t\t\tschema: () => ({ oneOf: [{ type: 'string', format: 'date-time' }, { type: 'integer' }] }),\n\t\t},\n\t)\n}\n\nexport const after = (compare: Timeable, err?: string) => {\n\tconst varName = `compare_${getRandomValue()}`\n\treturn standard<Date, Date>(\n\t\t({ input, context, path }, opts) => [\n\t\t\t`const ${varName} = new Date(${context}.after)`,\n\t\t\topts.wrapError(\n\t\t\t\t`${input} <= ${varName}`,\n\t\t\t\t`PipeError.root('${err ?? `is not later than \\${${varName}.toString()}`}', ${input}, ${path})`,\n\t\t\t),\n\t\t],\n\t\t{\n\t\t\tcontext: { after: compare },\n\t\t},\n\t)\n}\n\nexport const before = (compare: Timeable, err?: string) => {\n\tconst varName = `compare_${getRandomValue()}`\n\treturn standard<Date, Date>(\n\t\t({ input, context, path }, opts) => [\n\t\t\t`const ${varName} = new Date(${context}.before)`,\n\t\t\topts.wrapError(\n\t\t\t\t`${input} >= ${varName}`,\n\t\t\t\t`PipeError.root('${err ?? `is not earlier than \\${${varName}.toString()}`}', ${input}, ${path}, ${path})`,\n\t\t\t),\n\t\t],\n\t\t{\n\t\t\tcontext: { before: compare },\n\t\t},\n\t)\n}\n\nexport const asStamp = () =>\n\tstandard<Date, number>(({ input }) => [`${input} = ${input}.getTime()`], { schema: () => ({ type: 'integer', oneOf: undefined }) })\nexport const asISOString = () =>\n\tstandard<Date, string>(({ input }) => [`${input} = ${input}.toISOString()`], {\n\t\tschema: () => ({ type: 'string', format: 'date-time', oneOf: undefined }),\n\t})\n"],"mappings":"AAAA,OAAS,YAAAA,MAAgB,eACzB,OAAS,kBAAAC,MAAsB,qBAIxB,MAAMC,EAAO,CAACC,EAAM,4BAA8B,CACxD,MAAMC,EAAU,QAAQH,EAAe,CAAC,GACxC,OAAOD,EACN,CAAC,CAAE,MAAAK,EAAO,KAAAC,CAAK,EAAGC,IAAS,CAC1BA,EAAK,UACJ,KAAKF,CAAK,8BAA8BA,CAAK,2BAA2BA,CAAK,iBAC7E,mBAAmBF,CAAG,MAAME,CAAK,KAAKC,CAAI,GAC3C,EACA,SAASF,CAAO,eAAeC,CAAK,IACpCE,EAAK,UAAU,SAASH,CAAO,cAAe,mBAAmBD,CAAG,MAAME,CAAK,KAAKC,CAAI,GAAG,EAC3F,GAAGD,CAAK,MAAMD,CAAO,EACtB,EACA,CACC,OAAQ,KAAO,CAAE,MAAO,CAAC,CAAE,KAAM,SAAU,OAAQ,WAAY,EAAG,CAAE,KAAM,SAAU,CAAC,CAAE,EACxF,CACD,CACD,EAEaI,EAAQ,CAACC,EAAmBN,IAAiB,CACzD,MAAMC,EAAU,WAAWH,EAAe,CAAC,GAC3C,OAAOD,EACN,CAAC,CAAE,MAAAK,EAAO,QAAAK,EAAS,KAAAJ,CAAK,EAAGC,IAAS,CACnC,SAASH,CAAO,eAAeM,CAAO,UACtCH,EAAK,UACJ,GAAGF,CAAK,OAAOD,CAAO,GACtB,mBAAmBD,GAAO,wBAAwBC,CAAO,cAAc,MAAMC,CAAK,KAAKC,CAAI,GAC5F,CACD,EACA,CACC,QAAS,CAAE,MAAOG,CAAQ,CAC3B,CACD,CACD,EAEaE,EAAS,CAACF,EAAmBN,IAAiB,CAC1D,MAAMC,EAAU,WAAWH,EAAe,CAAC,GAC3C,OAAOD,EACN,CAAC,CAAE,MAAAK,EAAO,QAAAK,EAAS,KAAAJ,CAAK,EAAGC,IAAS,CACnC,SAASH,CAAO,eAAeM,CAAO,WACtCH,EAAK,UACJ,GAAGF,CAAK,OAAOD,CAAO,GACtB,mBAAmBD,GAAO,0BAA0BC,CAAO,cAAc,MAAMC,CAAK,KAAKC,CAAI,KAAKA,CAAI,GACvG,CACD,EACA,CACC,QAAS,CAAE,OAAQG,CAAQ,CAC5B,CACD,CACD,EAEaG,EAAU,IACtBZ,EAAuB,CAAC,CAAE,MAAAK,CAAM,IAAM,CAAC,GAAGA,CAAK,MAAMA,CAAK,YAAY,EAAG,CAAE,OAAQ,KAAO,CAAE,KAAM,UAAW,MAAO,MAAU,EAAG,CAAC,EACtHQ,EAAc,IAC1Bb,EAAuB,CAAC,CAAE,MAAAK,CAAM,IAAM,CAAC,GAAGA,CAAK,MAAMA,CAAK,gBAAgB,EAAG,CAC5E,OAAQ,KAAO,CAAE,KAAM,SAAU,OAAQ,YAAa,MAAO,MAAU,EACxE,CAAC","names":["standard","getRandomValue","time","err","varName","input","path","opts","after","compare","context","before","asStamp","asISOString"]}