tell-me-when
Version:
human relative date and time parser
2 lines (1 loc) • 2.18 kB
Source Map (JSON)
{"version":3,"file":"cli.mjs","names":["tellMeWhen","ParseError","expr","process","argv","slice","filter","a","startsWith","join","iso","includes","result","error","console","repeat","from","Math","max","to","exit","formatDate","d","toISOString","toLocaleString","log","Array","isArray","map"],"sources":["src/cli.ts"],"sourcesContent":["import { tellMeWhen, ParseError } from './index'\n\nconst expr = process.argv\n .slice(2)\n .filter((a) => !a.startsWith('--'))\n .join(' ')\n\nconst iso = process.argv.includes('--iso')\n\nlet result: Date | [Date, Date]\ntry {\n result = tellMeWhen(expr)\n} catch (error) {\n if (error instanceof ParseError) {\n // eslint-disable-next-line no-console\n console.error(expr)\n // eslint-disable-next-line no-console\n console.error(\n `${' '.repeat(error.from)}${'^'.repeat(\n Math.max(1, error.to - error.from)\n )} parse error`\n )\n }\n process.exit(1)\n}\n\nconst formatDate = iso\n ? (d: Date) => d.toISOString()\n : (d: Date) => d.toLocaleString()\n\n// eslint-disable-next-line no-console\nconsole.log(\n Array.isArray(result)\n ? result.map(formatDate).join(' to ')\n : formatDate(result)\n)\n"],"mappings":"AAAA,SAASA,UAAU,EAAEC,UAAU;AAE/B,MAAMC,IAAI,GAAGC,OAAO,CAACC,IAAI,CACtBC,KAAK,CAAC,CAAC,CAAC,CACRC,MAAM,CAAEC,CAAC,IAAK,CAACA,CAAC,CAACC,UAAU,CAAC,IAAI,CAAC,CAAC,CAClCC,IAAI,CAAC,GAAG,CAAC;AAEZ,MAAMC,GAAG,GAAGP,OAAO,CAACC,IAAI,CAACO,QAAQ,CAAC,OAAO,CAAC;AAE1C,IAAIC,MAA2B;AAC/B,IAAI;EACFA,MAAM,GAAGZ,UAAU,CAACE,IAAI,CAAC;AAC3B,CAAC,CAAC,OAAOW,KAAK,EAAE;EACd,IAAIA,KAAK,YAAYZ,UAAU,EAAE;IAC/B;IACAa,OAAO,CAACD,KAAK,CAACX,IAAI,CAAC;IACnB;IACAY,OAAO,CAACD,KAAK,CACX,GAAG,GAAG,CAACE,MAAM,CAACF,KAAK,CAACG,IAAI,CAAC,GAAG,GAAG,CAACD,MAAM,CACpCE,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEL,KAAK,CAACM,EAAE,GAAGN,KAAK,CAACG,IAAI,CACnC,CAAC,cACH,CAAC;EACH;EACAb,OAAO,CAACiB,IAAI,CAAC,CAAC,CAAC;AACjB;AAEA,MAAMC,UAAU,GAAGX,GAAG,GACjBY,CAAO,IAAKA,CAAC,CAACC,WAAW,CAAC,CAAC,GAC3BD,CAAO,IAAKA,CAAC,CAACE,cAAc,CAAC,CAAC;;AAEnC;AACAV,OAAO,CAACW,GAAG,CACTC,KAAK,CAACC,OAAO,CAACf,MAAM,CAAC,GACjBA,MAAM,CAACgB,GAAG,CAACP,UAAU,CAAC,CAACZ,IAAI,CAAC,MAAM,CAAC,GACnCY,UAAU,CAACT,MAAM,CACvB,CAAC","ignoreList":[]}