@driveflux/time 4.3.1 → 4.3.3

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAMhD,MAAM,SAAS,GAAG,GAAW,EAAE,CAAC,CAAC;IAChC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,mBAAmB;CACtD,CAAC,CAAA;AAEF,MAAM,CAAC,IAAI,MAAM,GAAW,SAAS,CAAC,YAAY,EAAE,SAAS,EAAE,CAAC,CAAA;AAEhE,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,EAAE;IAC/B,MAAM,GAAG,SAAS,CAAC,YAAY,EAAE,SAAS,EAAE,EAAE,IAAI,CAAC,CAAA;IAEnD,OAAO,MAAM,CAAA;AACd,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,CACxB,GAAQ,EACR,KAAkB,EACjB,EAAE;IACH,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;AACpB,CAAC,CAAA"}
package/dist/index.js.map CHANGED
@@ -1,7 +1 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/index.ts", "../src/config.ts"],
4
- "sourcesContent": ["import * as dateFnsTz from 'date-fns-tz'\nimport { endOfDay } from 'date-fns/endOfDay'\nimport { format as fnsFormat } from 'date-fns/format'\nimport { parse as fnsParse } from 'date-fns/parse'\nimport { startOfDay } from 'date-fns/startOfDay'\nimport { config } from './config.js'\n\nconst { fromZonedTime, toZonedTime } = dateFnsTz\n\nexport type Timezone = string\n\n/**\n * @see https://date-fns.org/docs/format\n */\nexport const DEFAULT_DATE_FORMAT = 'dd-MM-yyyy'\nexport const DEFAULT_TIME_FORMAT = 'hh:mm a'\nexport const NUMBERED_TIME_FORMAT = 'hh:mm'\nexport const EASY_FORMATS = {\n date: DEFAULT_DATE_FORMAT,\n time: DEFAULT_TIME_FORMAT,\n full: `${DEFAULT_DATE_FORMAT} ${DEFAULT_TIME_FORMAT}`\n} as const\n\n/**\n * Formats a date according to date-fns format\n * There are 3 helper formats:\n * - date: dd-MM-yyyy\n * - time: hh:mm a\n * - full: dd-MM-yyyy hh:mm a\n *\n * @see https://date-fns.org/docs/format\n */\nexport const format = (date: string | Date, providedDateFormat?: string, timezone?: string) => {\n let dateFormat = providedDateFormat || DEFAULT_DATE_FORMAT\n if (dateFormat in EASY_FORMATS) {\n dateFormat = EASY_FORMATS[dateFormat as keyof typeof EASY_FORMATS]\n }\n\n const newDate = timezone ? toZonedTime(new Date(date), timezone) : new Date(date)\n return fnsFormat(newDate, dateFormat)\n}\n\nexport const formatToLocal = (date: string | Date = new Date(), timezone?: string) => {\n return format(new Date(date), undefined, timezone || config.timezone)\n}\n\nexport const parse = (date: string) => {\n return fnsParse(date, DEFAULT_DATE_FORMAT, new Date())\n}\n\nexport const ensureExtremityOfDay = (date: Date, startOrEnd: 'start' | 'end', timezone?: string) => {\n const extremity = startOrEnd === 'end' ? endOfDay : startOfDay\n const tz = timezone || getTimeZone()\n // First convert date to UTC, apply start of day, then convert back to timezone\n return fromZonedTime(extremity(toZonedTime(date, tz)), tz)\n}\n\nexport const getTimeZone = () => {\n return config.timezone\n}\n\n/**\n *\n * @param date Date is in UTC and this will convert to a zoned time (00:00:00 => 16:00:00)\n * @returns\n */\nexport const zonedDate = (date = new Date(), timezone?: Timezone) => {\n return fromZonedTime(date, timezone || getTimeZone())\n}\n\n/**\n *\n * @param date Date is in UTC and this will convert to a zoned time (16:00:00 => 00:00:00)\n * @returns\n */\nexport const utcDate = (date = new Date(), timezone?: Timezone) => {\n return toZonedTime(date, timezone || getTimeZone())\n}\n\nexport const setTimeZone = (timezone: string) => {\n config.timezone = timezone\n}\n\nexport * from './config.js'\n", "import { singleton } from '@driveflux/singleton'\n\nexport type Config = {\n timezone: string\n}\n\nconst getConfig = (): Config => ({\n timezone: process.env.TIME_ZONE || 'Asia/Kuala_Lumpur'\n})\n\nexport let config: Config = singleton('timeConfig', getConfig())\n\nexport const resetConfig = () => {\n config = singleton('timeConfig', getConfig(), true)\n\n return config\n}\n\nexport const setConfig = <Key extends keyof Config>(key: Key, value: Config[Key]) => {\n config[key] = value\n}\n"],
5
- "mappings": ";AAAA,YAAY,eAAe;AAC3B,SAAS,gBAAgB;AACzB,SAAS,UAAU,iBAAiB;AACpC,SAAS,SAAS,gBAAgB;AAClC,SAAS,kBAAkB;;;ACJ3B,SAAS,iBAAiB;AAM1B,IAAM,YAAY,OAAe;AAAA,EAC/B,UAAU,QAAQ,IAAI,aAAa;AACrC;AAEO,IAAI,SAAiB,UAAU,cAAc,UAAU,CAAC;AAExD,IAAM,cAAc,MAAM;AAC/B,WAAS,UAAU,cAAc,UAAU,GAAG,IAAI;AAElD,SAAO;AACT;AAEO,IAAM,YAAY,CAA2B,KAAU,UAAuB;AACnF,SAAO,GAAG,IAAI;AAChB;;;ADbA,IAAM,EAAE,eAAe,YAAY,IAAI;AAOhC,IAAM,sBAAsB;AAC5B,IAAM,sBAAsB;AAC5B,IAAM,uBAAuB;AAC7B,IAAM,eAAe;AAAA,EAC1B,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM,GAAG,mBAAmB,IAAI,mBAAmB;AACrD;AAWO,IAAM,SAAS,CAAC,MAAqB,oBAA6B,aAAsB;AAC7F,MAAI,aAAa,sBAAsB;AACvC,MAAI,cAAc,cAAc;AAC9B,iBAAa,aAAa,UAAuC;AAAA,EACnE;AAEA,QAAM,UAAU,WAAW,YAAY,IAAI,KAAK,IAAI,GAAG,QAAQ,IAAI,IAAI,KAAK,IAAI;AAChF,SAAO,UAAU,SAAS,UAAU;AACtC;AAEO,IAAM,gBAAgB,CAAC,OAAsB,oBAAI,KAAK,GAAG,aAAsB;AACpF,SAAO,OAAO,IAAI,KAAK,IAAI,GAAG,QAAW,YAAY,OAAO,QAAQ;AACtE;AAEO,IAAM,QAAQ,CAAC,SAAiB;AACrC,SAAO,SAAS,MAAM,qBAAqB,oBAAI,KAAK,CAAC;AACvD;AAEO,IAAM,uBAAuB,CAAC,MAAY,YAA6B,aAAsB;AAClG,QAAM,YAAY,eAAe,QAAQ,WAAW;AACpD,QAAM,KAAK,YAAY,YAAY;AAEnC,SAAO,cAAc,UAAU,YAAY,MAAM,EAAE,CAAC,GAAG,EAAE;AAC3D;AAEO,IAAM,cAAc,MAAM;AAC/B,SAAO,OAAO;AAChB;AAOO,IAAM,YAAY,CAAC,OAAO,oBAAI,KAAK,GAAG,aAAwB;AACnE,SAAO,cAAc,MAAM,YAAY,YAAY,CAAC;AACtD;AAOO,IAAM,UAAU,CAAC,OAAO,oBAAI,KAAK,GAAG,aAAwB;AACjE,SAAO,YAAY,MAAM,YAAY,YAAY,CAAC;AACpD;AAEO,IAAM,cAAc,CAAC,aAAqB;AAC/C,SAAO,WAAW;AACpB;",
6
- "names": []
7
- }
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"translations.js","sourceRoot":"","sources":["../src/translations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAEhD,MAAM,CAAC,MAAM,YAAY,GAAG,SAAS,CAAC,kBAAkB,EAAE;IACzD,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;CACR,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAAgC,EAAE,EAAE;IACnE,KAAK,MAAM,GAAG,IAAI,EAAE,EAAE,CAAC;QACtB,YAAY,CAAC,GAAgC,CAAC;YAC7C,EAAE,CAAC,GAAgC,CAAE,CAAA;IACvC,CAAC;AACF,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,CAC7B,GAA8B,EAC9B,KAAa,EACZ,EAAE;IACH,YAAY,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;AAC1B,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@driveflux/time",
3
- "version": "4.3.1",
3
+ "version": "4.3.3",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  "./package.json": "./package.json",
@@ -17,12 +17,12 @@
17
17
  "dist"
18
18
  ],
19
19
  "dependencies": {
20
- "@driveflux/singleton": "1.4.0",
20
+ "@driveflux/singleton": "1.5.1",
21
21
  "date-fns": "^3.6.0",
22
22
  "date-fns-tz": "^3.2.0"
23
23
  },
24
24
  "devDependencies": {
25
- "@driveflux/fab": "2.3.0",
25
+ "@driveflux/fab": "2.3.3",
26
26
  "@driveflux/tsconfig": "1.3.0",
27
27
  "@types/node": "^22.7.8",
28
28
  "del-cli": "^6.0.0",
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/index.ts", "../../src/config.ts"],
4
- "sourcesContent": ["import * as dateFnsTz from 'date-fns-tz'\nimport { endOfDay } from 'date-fns/endOfDay'\nimport { format as fnsFormat } from 'date-fns/format'\nimport { parse as fnsParse } from 'date-fns/parse'\nimport { startOfDay } from 'date-fns/startOfDay'\nimport { config } from './config.js'\n\nconst { fromZonedTime, toZonedTime } = dateFnsTz\n\nexport type Timezone = string\n\n/**\n * @see https://date-fns.org/docs/format\n */\nexport const DEFAULT_DATE_FORMAT = 'dd-MM-yyyy'\nexport const DEFAULT_TIME_FORMAT = 'hh:mm a'\nexport const NUMBERED_TIME_FORMAT = 'hh:mm'\nexport const EASY_FORMATS = {\n date: DEFAULT_DATE_FORMAT,\n time: DEFAULT_TIME_FORMAT,\n full: `${DEFAULT_DATE_FORMAT} ${DEFAULT_TIME_FORMAT}`\n} as const\n\n/**\n * Formats a date according to date-fns format\n * There are 3 helper formats:\n * - date: dd-MM-yyyy\n * - time: hh:mm a\n * - full: dd-MM-yyyy hh:mm a\n *\n * @see https://date-fns.org/docs/format\n */\nexport const format = (date: string | Date, providedDateFormat?: string, timezone?: string) => {\n let dateFormat = providedDateFormat || DEFAULT_DATE_FORMAT\n if (dateFormat in EASY_FORMATS) {\n dateFormat = EASY_FORMATS[dateFormat as keyof typeof EASY_FORMATS]\n }\n\n const newDate = timezone ? toZonedTime(new Date(date), timezone) : new Date(date)\n return fnsFormat(newDate, dateFormat)\n}\n\nexport const formatToLocal = (date: string | Date = new Date(), timezone?: string) => {\n return format(new Date(date), undefined, timezone || config.timezone)\n}\n\nexport const parse = (date: string) => {\n return fnsParse(date, DEFAULT_DATE_FORMAT, new Date())\n}\n\nexport const ensureExtremityOfDay = (date: Date, startOrEnd: 'start' | 'end', timezone?: string) => {\n const extremity = startOrEnd === 'end' ? endOfDay : startOfDay\n const tz = timezone || getTimeZone()\n // First convert date to UTC, apply start of day, then convert back to timezone\n return fromZonedTime(extremity(toZonedTime(date, tz)), tz)\n}\n\nexport const getTimeZone = () => {\n return config.timezone\n}\n\n/**\n *\n * @param date Date is in UTC and this will convert to a zoned time (00:00:00 => 16:00:00)\n * @returns\n */\nexport const zonedDate = (date = new Date(), timezone?: Timezone) => {\n return fromZonedTime(date, timezone || getTimeZone())\n}\n\n/**\n *\n * @param date Date is in UTC and this will convert to a zoned time (16:00:00 => 00:00:00)\n * @returns\n */\nexport const utcDate = (date = new Date(), timezone?: Timezone) => {\n return toZonedTime(date, timezone || getTimeZone())\n}\n\nexport const setTimeZone = (timezone: string) => {\n config.timezone = timezone\n}\n\nexport * from './config.js'\n", "import { singleton } from '@driveflux/singleton'\n\nexport type Config = {\n timezone: string\n}\n\nconst getConfig = (): Config => ({\n timezone: process.env.TIME_ZONE || 'Asia/Kuala_Lumpur'\n})\n\nexport let config: Config = singleton('timeConfig', getConfig())\n\nexport const resetConfig = () => {\n config = singleton('timeConfig', getConfig(), true)\n\n return config\n}\n\nexport const setConfig = <Key extends keyof Config>(key: Key, value: Config[Key]) => {\n config[key] = value\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gBAA2B;AAC3B,sBAAyB;AACzB,oBAAoC;AACpC,mBAAkC;AAClC,wBAA2B;;;ACJ3B,uBAA0B;AAM1B,IAAM,YAAY,OAAe;AAAA,EAC/B,UAAU,QAAQ,IAAI,aAAa;AACrC;AAEO,IAAI,aAAiB,4BAAU,cAAc,UAAU,CAAC;AAExD,IAAM,cAAc,MAAM;AAC/B,eAAS,4BAAU,cAAc,UAAU,GAAG,IAAI;AAElD,SAAO;AACT;AAEO,IAAM,YAAY,CAA2B,KAAU,UAAuB;AACnF,SAAO,GAAG,IAAI;AAChB;;;ADbA,IAAM,EAAE,eAAe,YAAY,IAAI;AAOhC,IAAM,sBAAsB;AAC5B,IAAM,sBAAsB;AAC5B,IAAM,uBAAuB;AAC7B,IAAM,eAAe;AAAA,EAC1B,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM,GAAG,mBAAmB,IAAI,mBAAmB;AACrD;AAWO,IAAM,SAAS,CAAC,MAAqB,oBAA6B,aAAsB;AAC7F,MAAI,aAAa,sBAAsB;AACvC,MAAI,cAAc,cAAc;AAC9B,iBAAa,aAAa,UAAuC;AAAA,EACnE;AAEA,QAAM,UAAU,WAAW,YAAY,IAAI,KAAK,IAAI,GAAG,QAAQ,IAAI,IAAI,KAAK,IAAI;AAChF,aAAO,cAAAA,QAAU,SAAS,UAAU;AACtC;AAEO,IAAM,gBAAgB,CAAC,OAAsB,oBAAI,KAAK,GAAG,aAAsB;AACpF,SAAO,OAAO,IAAI,KAAK,IAAI,GAAG,QAAW,YAAY,OAAO,QAAQ;AACtE;AAEO,IAAM,QAAQ,CAAC,SAAiB;AACrC,aAAO,aAAAC,OAAS,MAAM,qBAAqB,oBAAI,KAAK,CAAC;AACvD;AAEO,IAAM,uBAAuB,CAAC,MAAY,YAA6B,aAAsB;AAClG,QAAM,YAAY,eAAe,QAAQ,2BAAW;AACpD,QAAM,KAAK,YAAY,YAAY;AAEnC,SAAO,cAAc,UAAU,YAAY,MAAM,EAAE,CAAC,GAAG,EAAE;AAC3D;AAEO,IAAM,cAAc,MAAM;AAC/B,SAAO,OAAO;AAChB;AAOO,IAAM,YAAY,CAAC,OAAO,oBAAI,KAAK,GAAG,aAAwB;AACnE,SAAO,cAAc,MAAM,YAAY,YAAY,CAAC;AACtD;AAOO,IAAM,UAAU,CAAC,OAAO,oBAAI,KAAK,GAAG,aAAwB;AACjE,SAAO,YAAY,MAAM,YAAY,YAAY,CAAC;AACpD;AAEO,IAAM,cAAc,CAAC,aAAqB;AAC/C,SAAO,WAAW;AACpB;",
6
- "names": ["fnsFormat", "fnsParse"]
7
- }
@@ -1,3 +0,0 @@
1
- {
2
- "type": "commonjs"
3
- }