{"version":3,"sources":["../src/utils/Convert.ts"],"sourcesContent":["import { asString } from '../types/Text';\n\nexport class Convert<From = unknown, To = unknown> {\n  constructor(\n    public readonly from: (f: From) => To,\n    public readonly to: (t: To) => From\n  ) {}\n}\n\nexport const convert = {\n  default: new Convert<any, any>(\n    a => a,\n    a => a\n  ),\n  ignore: new Convert<any, any>(\n    () => undefined,\n    () => undefined\n  ),\n  toBool: {\n    fromNumber: new Convert<boolean, number>(\n      b => (b ? 1 : 0),\n      n => n !== 0\n    ),\n    fromString: new Convert<boolean, string>(\n      b => (b ? 'true' : 'false'),\n      s => s === 'true'\n    ),\n  },\n  toDate: {\n    fromString: new Convert<string, string>(\n      s => new Date(s).toISOString(),\n      s => s\n    ),\n  },\n  toNumber: {\n    fromString: new Convert<number, string>(\n      n => asString(n),\n      s => parseInt(s)\n    ),\n  },\n};\n"],"mappings":";;;;;AAEO,IAAM,UAAN,MAA4C;AAAA,EACjD,YACkB,MACA,IAChB;AAFgB;AACA;AAAA,EACf;AACL;AAEO,IAAM,UAAU;AAAA,EACrB,SAAS,IAAI;AAAA,IACX,OAAK;AAAA,IACL,OAAK;AAAA,EACP;AAAA,EACA,QAAQ,IAAI;AAAA,IACV,MAAM;AAAA,IACN,MAAM;AAAA,EACR;AAAA,EACA,QAAQ;AAAA,IACN,YAAY,IAAI;AAAA,MACd,OAAM,IAAI,IAAI;AAAA,MACd,OAAK,MAAM;AAAA,IACb;AAAA,IACA,YAAY,IAAI;AAAA,MACd,OAAM,IAAI,SAAS;AAAA,MACnB,OAAK,MAAM;AAAA,IACb;AAAA,EACF;AAAA,EACA,QAAQ;AAAA,IACN,YAAY,IAAI;AAAA,MACd,OAAK,IAAI,KAAK,CAAC,EAAE,YAAY;AAAA,MAC7B,OAAK;AAAA,IACP;AAAA,EACF;AAAA,EACA,UAAU;AAAA,IACR,YAAY,IAAI;AAAA,MACd,OAAK,SAAS,CAAC;AAAA,MACf,OAAK,SAAS,CAAC;AAAA,IACjB;AAAA,EACF;AACF;","names":[]}