parse-temporal 0.4.0 → 0.5.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.tsbuildinfo +1 -0
- package/dist/index.d.ts +6 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -6
- package/dist/index.js.map +1 -1
- package/dist/{parseMonthFromName.d.ts → parse-month-from-name.d.ts} +1 -1
- package/dist/parse-month-from-name.d.ts.map +1 -0
- package/dist/{parseMonthFromName.js → parse-month-from-name.js} +1 -1
- package/dist/parse-month-from-name.js.map +1 -0
- package/dist/parse-month-from-name.test.d.ts +2 -0
- package/dist/parse-month-from-name.test.d.ts.map +1 -0
- package/dist/{parseMonthFromName.test.js → parse-month-from-name.test.js} +4 -4
- package/dist/parse-month-from-name.test.js.map +1 -0
- package/dist/{parseMonthLike.d.ts → parse-month-like.d.ts} +1 -1
- package/dist/parse-month-like.d.ts.map +1 -0
- package/dist/parse-month-like.js +9 -0
- package/dist/parse-month-like.js.map +1 -0
- package/dist/{parsePlainDateTimeYYYYMMDDHHMMp.d.ts → parse-plain-date-time-yyyymmddhhmmp.d.ts} +1 -1
- package/dist/parse-plain-date-time-yyyymmddhhmmp.d.ts.map +1 -0
- package/dist/{parsePlainDateTimeYYYYMMDDHHMMp.js → parse-plain-date-time-yyyymmddhhmmp.js} +5 -4
- package/dist/parse-plain-date-time-yyyymmddhhmmp.js.map +1 -0
- package/dist/parse-plain-date-time-yyyymmddhhmmp.test.d.ts +2 -0
- package/dist/parse-plain-date-time-yyyymmddhhmmp.test.d.ts.map +1 -0
- package/dist/{parsePlainDateTimeYYYYMMDDHHMMp.test.js → parse-plain-date-time-yyyymmddhhmmp.test.js} +6 -6
- package/dist/parse-plain-date-time-yyyymmddhhmmp.test.js.map +1 -0
- package/dist/{parsePlainDate.d.ts → parse-plain-date.d.ts} +1 -1
- package/dist/parse-plain-date.d.ts.map +1 -0
- package/dist/{parsePlainDate.js → parse-plain-date.js} +8 -6
- package/dist/parse-plain-date.js.map +1 -0
- package/dist/parse-plain-date.test.d.ts +2 -0
- package/dist/parse-plain-date.test.d.ts.map +1 -0
- package/dist/{parsePlainDate.test.js → parse-plain-date.test.js} +6 -6
- package/dist/parse-plain-date.test.js.map +1 -0
- package/dist/{parsePlainTimeHHMM.d.ts → parse-plain-time-hhmm.d.ts} +1 -1
- package/dist/parse-plain-time-hhmm.d.ts.map +1 -0
- package/dist/{parsePlainTimeHHMM.js → parse-plain-time-hhmm.js} +3 -3
- package/dist/parse-plain-time-hhmm.js.map +1 -0
- package/dist/parse-plain-time-hhmm.test.d.ts +2 -0
- package/dist/parse-plain-time-hhmm.test.d.ts.map +1 -0
- package/dist/{parsePlainTimeHHMM.test.js → parse-plain-time-hhmm.test.js} +7 -7
- package/dist/parse-plain-time-hhmm.test.js.map +1 -0
- package/dist/{parseYearLike.d.ts → parse-year-like.d.ts} +1 -1
- package/dist/parse-year-like.d.ts.map +1 -0
- package/dist/{parseYearLike.js → parse-year-like.js} +3 -3
- package/dist/parse-year-like.js.map +1 -0
- package/dist/utils/{splitNonNumeric.d.ts → split-non-numeric.d.ts} +1 -1
- package/dist/utils/split-non-numeric.d.ts.map +1 -0
- package/dist/utils/split-non-numeric.js +3 -0
- package/dist/utils/split-non-numeric.js.map +1 -0
- package/dist/utils/{tokenizeAlphanumeric.d.ts → tokenize-alphanumeric.d.ts} +1 -1
- package/dist/utils/tokenize-alphanumeric.d.ts.map +1 -0
- package/dist/utils/tokenize-alphanumeric.js +3 -0
- package/dist/utils/tokenize-alphanumeric.js.map +1 -0
- package/package.json +30 -37
- package/src/index.ts +6 -6
- package/src/{parseMonthFromName.test.ts → parse-month-from-name.test.ts} +3 -4
- package/src/parse-month-like.ts +9 -0
- package/src/{parsePlainDateTimeYYYYMMDDHHMMp.test.ts → parse-plain-date-time-yyyymmddhhmmp.test.ts} +5 -6
- package/src/{parsePlainDateTimeYYYYMMDDHHMMp.ts → parse-plain-date-time-yyyymmddhhmmp.ts} +4 -3
- package/src/{parsePlainDate.test.ts → parse-plain-date.test.ts} +5 -6
- package/src/{parsePlainDate.ts → parse-plain-date.ts} +7 -6
- package/src/{parsePlainTimeHHMM.test.ts → parse-plain-time-hhmm.test.ts} +6 -7
- package/src/{parsePlainTimeHHMM.ts → parse-plain-time-hhmm.ts} +2 -2
- package/src/{parseYearLike.ts → parse-year-like.ts} +2 -2
- package/src/utils/{splitNonNumeric.ts → split-non-numeric.ts} +3 -1
- package/src/utils/tokenize-alphanumeric.ts +4 -0
- package/LICENSE.txt +0 -209
- package/dist/parseMonthFromName.d.ts.map +0 -1
- package/dist/parseMonthFromName.js.map +0 -1
- package/dist/parseMonthFromName.test.d.ts +0 -2
- package/dist/parseMonthFromName.test.d.ts.map +0 -1
- package/dist/parseMonthFromName.test.js.map +0 -1
- package/dist/parseMonthLike.d.ts.map +0 -1
- package/dist/parseMonthLike.js +0 -9
- package/dist/parseMonthLike.js.map +0 -1
- package/dist/parsePlainDate.d.ts.map +0 -1
- package/dist/parsePlainDate.js.map +0 -1
- package/dist/parsePlainDate.test.d.ts +0 -2
- package/dist/parsePlainDate.test.d.ts.map +0 -1
- package/dist/parsePlainDate.test.js.map +0 -1
- package/dist/parsePlainDateTimeYYYYMMDDHHMMp.d.ts.map +0 -1
- package/dist/parsePlainDateTimeYYYYMMDDHHMMp.js.map +0 -1
- package/dist/parsePlainDateTimeYYYYMMDDHHMMp.test.d.ts +0 -2
- package/dist/parsePlainDateTimeYYYYMMDDHHMMp.test.d.ts.map +0 -1
- package/dist/parsePlainDateTimeYYYYMMDDHHMMp.test.js.map +0 -1
- package/dist/parsePlainTimeHHMM.d.ts.map +0 -1
- package/dist/parsePlainTimeHHMM.js.map +0 -1
- package/dist/parsePlainTimeHHMM.test.d.ts +0 -2
- package/dist/parsePlainTimeHHMM.test.d.ts.map +0 -1
- package/dist/parsePlainTimeHHMM.test.js.map +0 -1
- package/dist/parseYearLike.d.ts.map +0 -1
- package/dist/parseYearLike.js.map +0 -1
- package/dist/utils/splitNonNumeric.d.ts.map +0 -1
- package/dist/utils/splitNonNumeric.js +0 -2
- package/dist/utils/splitNonNumeric.js.map +0 -1
- package/dist/utils/tokenizeAlphanumeric.d.ts.map +0 -1
- package/dist/utils/tokenizeAlphanumeric.js +0 -2
- package/dist/utils/tokenizeAlphanumeric.js.map +0 -1
- package/src/parseMonthLike.ts +0 -9
- package/src/utils/tokenizeAlphanumeric.ts +0 -2
- /package/src/{parseMonthFromName.ts → parse-month-from-name.ts} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parsePlainDate.d.ts","sourceRoot":"","sources":["../src/parsePlainDate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAM7C,MAAM,MAAM,kBAAkB,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;AA2BvD,eAAO,MAAM,cAAc,GACzB,MAAM,MAAM,EACZ,YAAW,kBAA0B,KACpC,QAAQ,CAAC,SAMX,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parsePlainDate.js","sourceRoot":"","sources":["../src/parsePlainDate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAIvE;;;;;GAKG;AACH,MAAM,MAAM,GAAG,CACb,IAAY,EACZ,SAA6B,EACH,EAAE;IAC5B,MAAM,KAAK,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;IACzC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;IACxB,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;IAC3C,CAAC;IACD,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,KAAK;YACR,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACnB,KAAK,KAAK;YACR,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACnB,KAAK,KAAK;YACR,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACrB,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,IAAY,EACZ,YAAgC,KAAK,EACjB,EAAE;IACtB,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC5D,MAAM,KAAK,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;IACvC,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC7B,MAAM,IAAI,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IACpC,OAAO,IAAI,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;AAClD,CAAC,CAAC","sourcesContent":["import { Temporal } from \"temporal-polyfill\";\n\nimport { parseMonthLike } from \"./parseMonthLike.js\";\nimport { parseYearLike } from \"./parseYearLike.js\";\nimport { tokenizeAlphanumeric } from \"./utils/tokenizeAlphanumeric.js\";\n\nexport type PlainDatePartOrder = \"MDY\" | \"DMY\" | \"YMD\";\n\n/**\n * Returns year, month. day\n * @param date\n * @param partOrder\n * @returns\n */\nconst getYMD = (\n date: string,\n partOrder: PlainDatePartOrder,\n): [string, string, string] => {\n const parts = tokenizeAlphanumeric(date);\n const [a, b, c] = parts;\n if (!a || !b || !c) {\n throw new Error(`Invalid date: ${date}`);\n }\n switch (partOrder) {\n case \"MDY\":\n return [c, a, b];\n case \"DMY\":\n return [c, b, a];\n case \"YMD\":\n return [a, b, c];\n }\n};\n\nexport const parsePlainDate = (\n date: string,\n partOrder: PlainDatePartOrder = \"MDY\",\n): Temporal.PlainDate => {\n const [yearStr, monthStr, dayStr] = getYMD(date, partOrder);\n const month = parseMonthLike(monthStr);\n const day = parseInt(dayStr);\n const year = parseYearLike(yearStr);\n return new Temporal.PlainDate(year, month, day);\n};\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parsePlainDate.test.d.ts","sourceRoot":"","sources":["../src/parsePlainDate.test.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parsePlainDate.test.js","sourceRoot":"","sources":["../src/parsePlainDate.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE9C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,EAAE,CAAC,qBAAqB,EAAE,GAAG,EAAE;QAC7B,MAAM,CAAC,cAAc,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CACnD,IAAI,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,CACrC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wBAAwB,EAAE,GAAG,EAAE;QAChC,MAAM,CAAC,cAAc,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAChD,IAAI,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,CACrC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACnC,MAAM,CAAC,cAAc,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CACnD,IAAI,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,CACrC,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { Temporal } from \"temporal-polyfill\";\nimport { describe, expect, it } from \"vitest\";\n\nimport { parsePlainDate } from \"./parsePlainDate.js\";\n\ndescribe(\"parsePlainDate\", () => {\n it(\"should parse a date\", () => {\n expect(parsePlainDate(\"Nov 12, 2024\", \"MDY\")).toEqual(\n new Temporal.PlainDate(2024, 11, 12),\n );\n });\n\n it(\"should parse 23-NOV-24\", () => {\n expect(parsePlainDate(\"23-NOV-24\", \"DMY\")).toEqual(\n new Temporal.PlainDate(2024, 11, 23),\n );\n });\n\n it(\"should parse Oct 12, 2024\", () => {\n expect(parsePlainDate(\"Oct 12, 2024\", \"MDY\")).toEqual(\n new Temporal.PlainDate(2024, 10, 12),\n );\n });\n});\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parsePlainDateTimeYYYYMMDDHHMMp.d.ts","sourceRoot":"","sources":["../src/parsePlainDateTimeYYYYMMDDHHMMp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAI7C;;;GAGG;AACH,eAAO,MAAM,+BAA+B,GAC1C,UAAU,MAAM,KACf,QAAQ,CAAC,aAmBX,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parsePlainDateTimeYYYYMMDDHHMMp.js","sourceRoot":"","sources":["../src/parsePlainDateTimeYYYYMMDDHHMMp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD;;;GAGG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAC7C,QAAgB,EACQ,EAAE;IAC1B,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC3D,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAChD,CAAC;IACD,MAAM,IAAI,GAAG,cAAc,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC7C,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACzD,IAAI,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QACjD,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,IAAI,CAAC,eAAe,CACzB,QAAQ,CAAC,SAAS,CAAC,IAAI,CACrB;QACE,IAAI,EAAE,KAAK,GAAG,CAAC,MAAM,KAAK,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,MAAM,EAAE,OAAO;KAChB,EACD,EAAE,QAAQ,EAAE,QAAQ,EAAE,CACvB,CACF,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import { Temporal } from \"temporal-polyfill\";\n\nimport { parsePlainDate } from \"./parsePlainDate.js\";\n\n/**\n * Parses a date like 2025/01/04 12:50 PM\n * @param date\n */\nexport const parsePlainDateTimeYYYYMMDDHHMMp = (\n dateTime: string,\n): Temporal.PlainDateTime => {\n const [datePart, timePart, amOrPm] = dateTime.split(/\\s+/);\n if (!datePart || !timePart || !amOrPm) {\n throw new Error(\"Invalid date of extraction\");\n }\n const date = parsePlainDate(datePart, \"YMD\");\n const [hours, minutes] = timePart.split(\":\").map(Number);\n if (hours === undefined || minutes === undefined) {\n throw new Error(\"Invalid date of extraction\");\n }\n return date.toPlainDateTime(\n Temporal.PlainTime.from(\n {\n hour: hours + (amOrPm === \"PM\" && hours < 12 ? 12 : 0),\n minute: minutes,\n },\n { overflow: \"reject\" },\n ),\n );\n};\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parsePlainDateTimeYYYYMMDDHHMMp.test.d.ts","sourceRoot":"","sources":["../src/parsePlainDateTimeYYYYMMDDHHMMp.test.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parsePlainDateTimeYYYYMMDDHHMMp.test.js","sourceRoot":"","sources":["../src/parsePlainDateTimeYYYYMMDDHHMMp.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE9C,OAAO,EAAE,+BAA+B,EAAE,MAAM,sCAAsC,CAAC;AAEvF,QAAQ,CAAC,iCAAiC,EAAE,GAAG,EAAE;IAC/C,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,QAAQ,GAAG,qBAAqB,CAAC;QACvC,MAAM,CAAC,+BAA+B,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CACvD,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC;YAC1B,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,EAAE;YACT,GAAG,EAAE,EAAE;YACP,IAAI,EAAE,EAAE;YACR,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,CAAC;SACV,CAAC,CACH,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,MAAM,eAAe,GAAG,mBAAmB,CAAC;QAC5C,MAAM,CAAC,GAAG,EAAE,CAAC,+BAA+B,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IAC3E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAClD,MAAM,gBAAgB,GAAG,qBAAqB,CAAC;QAC/C,MAAM,CAAC,+BAA+B,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAC/D,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC;YAC1B,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,CAAC;YACR,GAAG,EAAE,EAAE;YACP,IAAI,EAAE,CAAC;YACP,MAAM,EAAE,CAAC;YACT,MAAM,EAAE,CAAC;SACV,CAAC,CACH,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { Temporal } from \"temporal-polyfill\";\nimport { describe, expect, it } from \"vitest\";\n\nimport { parsePlainDateTimeYYYYMMDDHHMMp } from \"./parsePlainDateTimeYYYYMMDDHHMMp.js\";\n\ndescribe(\"parsePlainDateTimeYYYYMMDDHHMMp\", () => {\n it(\"should parse a valid date-time string\", () => {\n const dateTime = \"2024/12/30 12:50 PM\";\n expect(parsePlainDateTimeYYYYMMDDHHMMp(dateTime)).toEqual(\n Temporal.PlainDateTime.from({\n year: 2024,\n month: 12,\n day: 30,\n hour: 12,\n minute: 50,\n second: 0,\n }),\n );\n });\n\n it(\"should throw an error for an invalid date-time string\", () => {\n const invalidDateTime = \"invalid-date-time\";\n expect(() => parsePlainDateTimeYYYYMMDDHHMMp(invalidDateTime)).toThrow();\n });\n\n it(\"should handle edge cases like leap years\", () => {\n const leapYearDateTime = \"2024/02/29 12:50 PM\";\n expect(parsePlainDateTimeYYYYMMDDHHMMp(leapYearDateTime)).toEqual(\n Temporal.PlainDateTime.from({\n year: 2024,\n month: 2,\n day: 29,\n hour: 0,\n minute: 0,\n second: 0,\n }),\n );\n });\n});\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parsePlainTimeHHMM.d.ts","sourceRoot":"","sources":["../src/parsePlainTimeHHMM.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C;;;;;;;;;GASG;AACH,eAAO,MAAM,kBAAkB,GAAI,MAAM,MAAM,KAAG,QAAQ,CAAC,SAU1D,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parsePlainTimeHHMM.js","sourceRoot":"","sources":["../src/parsePlainTimeHHMM.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,IAAY,EAAsB,EAAE;IACrE,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAClE,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1E,OAAO,QAAQ,CAAC,SAAS,CAAC,IAAI,CAC5B;QACE,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC;QACrB,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC;KAC1B,EACD,EAAE,QAAQ,EAAE,QAAQ,EAAE,CACvB,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import { Temporal } from \"temporal-polyfill\";\n\n/**\n * Parses a time in HHMM to a {@link Temporal.PlainTime}.\n *\n * E.g.\n * - 1225 -> 12:25\n * - 1321 -> 13:21\n *\n * @param time\n * @returns\n */\nexport const parsePlainTimeHHMM = (time: string): Temporal.PlainTime => {\n const paddedTime = time.replaceAll(/[^\\d]/g, \"\").padStart(4, \"0\");\n const [hours, minutes] = [paddedTime.slice(0, 2), paddedTime.slice(2, 4)];\n return Temporal.PlainTime.from(\n {\n hour: parseInt(hours),\n minute: parseInt(minutes),\n },\n { overflow: \"reject\" },\n );\n};\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parsePlainTimeHHMM.test.d.ts","sourceRoot":"","sources":["../src/parsePlainTimeHHMM.test.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parsePlainTimeHHMM.test.js","sourceRoot":"","sources":["../src/parsePlainTimeHHMM.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACtC,MAAM,IAAI,GAAG,MAAM,CAAC;QACpB,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CACtC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC;YACtB,IAAI,EAAE,EAAE;YACR,MAAM,EAAE,EAAE;SACX,CAAC,CACH,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACrC,MAAM,IAAI,GAAG,OAAO,CAAC;QACrB,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CACtC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC;YACtB,IAAI,EAAE,EAAE;YACR,MAAM,EAAE,EAAE;SACX,CAAC,CACH,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,MAAM,IAAI,GAAG,IAAI,CAAC;QAClB,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CACtC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC;YACtB,IAAI,EAAE,CAAC;YACP,MAAM,EAAE,EAAE;SACX,CAAC,CACH,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACtC,MAAM,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IACrD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { Temporal } from \"temporal-polyfill\";\nimport { describe, expect, it } from \"vitest\";\n\nimport { parsePlainTimeHHMM } from \"./parsePlainTimeHHMM.js\";\n\ndescribe(\"parsePlainTimeHHMM\", () => {\n it(\"should work for normal times\", () => {\n const time = \"1225\";\n expect(parsePlainTimeHHMM(time)).toEqual(\n Temporal.PlainTime.from({\n hour: 12,\n minute: 25,\n }),\n );\n });\n\n it(\"should allow for separators\", () => {\n const time = \"12:25\";\n expect(parsePlainTimeHHMM(time)).toEqual(\n Temporal.PlainTime.from({\n hour: 12,\n minute: 25,\n }),\n );\n });\n\n it(\"should work for times in 12AM\", () => {\n const time = \"56\";\n expect(parsePlainTimeHHMM(time)).toEqual(\n Temporal.PlainTime.from({\n hour: 0,\n minute: 56,\n }),\n );\n });\n\n it(\"should fail on invalid times\", () => {\n expect(() => parsePlainTimeHHMM(\"5682\")).toThrow();\n });\n});\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parseYearLike.d.ts","sourceRoot":"","sources":["../src/parseYearLike.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa,GAAI,UAAU,MAAM,KAAG,MAShD,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parseYearLike.js","sourceRoot":"","sources":["../src/parseYearLike.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,QAAgB,EAAU,EAAE;IACxD,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC/B,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,iBAAiB,QAAQ,EAAE,CAAC,CAAC;IAC/C,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,GAAG,GAAG,IAAI,CAAC;IACpB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC,CAAC","sourcesContent":["export const parseYearLike = (yearLike: string): number => {\n const num = parseInt(yearLike);\n if (isNaN(num)) {\n throw new Error(`Invalid year: ${yearLike}`);\n }\n if (yearLike.length === 2) {\n return num + 2000;\n }\n return num;\n};\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"splitNonNumeric.d.ts","sourceRoot":"","sources":["../../src/utils/splitNonNumeric.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,GAAI,GAAG,MAAM,KAAG,MAAM,EAAuB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"splitNonNumeric.js","sourceRoot":"","sources":["../../src/utils/splitNonNumeric.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAS,EAAY,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC","sourcesContent":["export const splitNonNumeric = (s: string): string[] => s.split(/[^\\d]+/);\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tokenizeAlphanumeric.d.ts","sourceRoot":"","sources":["../../src/utils/tokenizeAlphanumeric.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,GAAI,GAAG,MAAM,KAAG,MAAM,EAC9B,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tokenizeAlphanumeric.js","sourceRoot":"","sources":["../../src/utils/tokenizeAlphanumeric.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAS,EAAY,EAAE,CAC1D,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC","sourcesContent":["export const tokenizeAlphanumeric = (s: string): string[] =>\n s.split(/[^\\dA-Za-z]+/);\n"]}
|
package/src/parseMonthLike.ts
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { parseMonthFromName } from "./parseMonthFromName.js";
|
|
2
|
-
|
|
3
|
-
export const parseMonthLike = (monthLike: string): number => {
|
|
4
|
-
const month = parseMonthFromName(monthLike) ?? parseInt(monthLike);
|
|
5
|
-
if (isNaN(month)) {
|
|
6
|
-
throw new Error(`Invalid month: ${monthLike}`);
|
|
7
|
-
}
|
|
8
|
-
return month;
|
|
9
|
-
};
|
|
File without changes
|