{"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":"yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,WAAAE,EAAA,gBAAAC,EAAA,YAAAC,EAAA,WAAAC,EAAA,SAAAC,IAAA,eAAAC,EAAAP,GAAA,IAAAQ,EAAyB,wBACzBC,EAA+B,8BAIxB,MAAMH,EAAO,CAACI,EAAM,4BAA8B,CACxD,MAAMC,EAAU,WAAQ,kBAAe,CAAC,GACxC,SAAO,YACN,CAAC,CAAE,MAAAC,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,EAEaT,EAAQ,CAACa,EAAmBL,IAAiB,CACzD,MAAMC,EAAU,cAAW,kBAAe,CAAC,GAC3C,SAAO,YACN,CAAC,CAAE,MAAAC,EAAO,QAAAI,EAAS,KAAAH,CAAK,EAAGC,IAAS,CACnC,SAASH,CAAO,eAAeK,CAAO,UACtCF,EAAK,UACJ,GAAGF,CAAK,OAAOD,CAAO,GACtB,mBAAmBD,GAAO,wBAAwBC,CAAO,cAAc,MAAMC,CAAK,KAAKC,CAAI,GAC5F,CACD,EACA,CACC,QAAS,CAAE,MAAOE,CAAQ,CAC3B,CACD,CACD,EAEaV,EAAS,CAACU,EAAmBL,IAAiB,CAC1D,MAAMC,EAAU,cAAW,kBAAe,CAAC,GAC3C,SAAO,YACN,CAAC,CAAE,MAAAC,EAAO,QAAAI,EAAS,KAAAH,CAAK,EAAGC,IAAS,CACnC,SAASH,CAAO,eAAeK,CAAO,WACtCF,EAAK,UACJ,GAAGF,CAAK,OAAOD,CAAO,GACtB,mBAAmBD,GAAO,0BAA0BC,CAAO,cAAc,MAAMC,CAAK,KAAKC,CAAI,KAAKA,CAAI,GACvG,CACD,EACA,CACC,QAAS,CAAE,OAAQE,CAAQ,CAC5B,CACD,CACD,EAEaX,EAAU,OACtB,YAAuB,CAAC,CAAE,MAAAQ,CAAM,IAAM,CAAC,GAAGA,CAAK,MAAMA,CAAK,YAAY,EAAG,CAAE,OAAQ,KAAO,CAAE,KAAM,UAAW,MAAO,MAAU,EAAG,CAAC,EACtHT,EAAc,OAC1B,YAAuB,CAAC,CAAE,MAAAS,CAAM,IAAM,CAAC,GAAGA,CAAK,MAAMA,CAAK,gBAAgB,EAAG,CAC5E,OAAQ,KAAO,CAAE,KAAM,SAAU,OAAQ,YAAa,MAAO,MAAU,EACxE,CAAC","names":["times_exports","__export","after","asISOString","asStamp","before","time","__toCommonJS","import_pipes","import_functions","err","varName","input","path","opts","compare","context"]}