@actdim/utico 1.1.2 → 1.1.5

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.
Files changed (69) hide show
  1. package/README.md +1245 -5
  2. package/dist/array.es.js.map +1 -1
  3. package/dist/arrayExtensions.es.js.map +1 -1
  4. package/dist/asyncMutex.d.ts +1 -1
  5. package/dist/asyncMutex.d.ts.map +1 -1
  6. package/dist/asyncMutex.es.js +17 -17
  7. package/dist/asyncMutex.es.js.map +1 -1
  8. package/dist/cache/cacheContracts.es.js.map +1 -1
  9. package/dist/cache/memoryCache.d.ts +2 -3
  10. package/dist/cache/memoryCache.d.ts.map +1 -1
  11. package/dist/cache/memoryCache.es.js +2 -4
  12. package/dist/cache/memoryCache.es.js.map +1 -1
  13. package/dist/cache/persistentCache.d.ts +4 -2
  14. package/dist/cache/persistentCache.d.ts.map +1 -1
  15. package/dist/cache/persistentCache.es.js +41 -40
  16. package/dist/cache/persistentCache.es.js.map +1 -1
  17. package/dist/dataFormats.d.ts +1 -1
  18. package/dist/dataFormats.es.js.map +1 -1
  19. package/dist/dateTimeDataFormat.d.ts +13 -12
  20. package/dist/dateTimeDataFormat.d.ts.map +1 -1
  21. package/dist/dateTimeDataFormat.es.js +62 -68
  22. package/dist/dateTimeDataFormat.es.js.map +1 -1
  23. package/dist/decorators.d.ts +2 -0
  24. package/dist/decorators.d.ts.map +1 -0
  25. package/dist/decorators.es.js +20 -0
  26. package/dist/decorators.es.js.map +1 -0
  27. package/dist/gfx/canvasUtils.es.js.map +1 -1
  28. package/dist/gfx/color.es.js.map +1 -1
  29. package/dist/i18n/cultures.es.js.map +1 -1
  30. package/dist/i18n/enUsCulture.d.ts.map +1 -1
  31. package/dist/i18n/enUsCulture.es.js +17 -18
  32. package/dist/i18n/enUsCulture.es.js.map +1 -1
  33. package/dist/index.es.js.map +1 -1
  34. package/dist/math.es.js.map +1 -1
  35. package/dist/metadata.d.ts +3 -3
  36. package/dist/metadata.d.ts.map +1 -1
  37. package/dist/metadata.es.js +8 -8
  38. package/dist/metadata.es.js.map +1 -1
  39. package/dist/patterns.es.js.map +1 -1
  40. package/dist/store/dataStore.d.ts +17 -43
  41. package/dist/store/dataStore.d.ts.map +1 -1
  42. package/dist/store/dataStore.es.js +98 -92
  43. package/dist/store/dataStore.es.js.map +1 -1
  44. package/dist/store/persistentStore.d.ts +5 -4
  45. package/dist/store/persistentStore.d.ts.map +1 -1
  46. package/dist/store/persistentStore.es.js +12 -11
  47. package/dist/store/persistentStore.es.js.map +1 -1
  48. package/dist/store/storeContracts.d.ts +39 -9
  49. package/dist/store/storeContracts.d.ts.map +1 -1
  50. package/dist/store/storeContracts.es.js +2 -2
  51. package/dist/store/storeContracts.es.js.map +1 -1
  52. package/dist/store/storeDb.es.js +11 -11
  53. package/dist/store/storeDb.es.js.map +1 -1
  54. package/dist/stringCore.d.ts +1 -1
  55. package/dist/stringCore.d.ts.map +1 -1
  56. package/dist/stringCore.es.js +5 -5
  57. package/dist/stringCore.es.js.map +1 -1
  58. package/dist/structEvent.d.ts +4 -3
  59. package/dist/structEvent.d.ts.map +1 -1
  60. package/dist/structEvent.es.js +16 -9
  61. package/dist/structEvent.es.js.map +1 -1
  62. package/dist/typeCore.es.js.map +1 -1
  63. package/dist/typeUtils.d.ts +7 -6
  64. package/dist/typeUtils.d.ts.map +1 -1
  65. package/dist/typeUtils.es.js +38 -34
  66. package/dist/typeUtils.es.js.map +1 -1
  67. package/dist/utils.es.js.map +1 -1
  68. package/dist/watchable.es.js.map +1 -1
  69. package/package.json +7 -4
@@ -1 +1 @@
1
- {"version":3,"file":"watchable.es.js","sources":["D:/Src/my/actdim/public/utico/src/watchable.ts"],"sourcesContent":["import { Mutable, Executor, Func } from \"./typeCore\";\r\n\r\n// PromiseState\r\nexport type PromiseStatus = \"pending\" | \"fulfilled\" | \"rejected\";\r\n\r\n// TrackablePromise\r\nexport type WatchablePromise<T = void> = PromiseLike<T> & {\r\n readonly status?: PromiseStatus;\r\n readonly settled?: boolean;\r\n readonly result?: T;\r\n};\r\n\r\n// WatchableFn\r\nexport type WatchableFunc<TArgs extends any[] = any[], T = any> = Func<TArgs, T> & {\r\n executing?: boolean; // running/inProgress/pending\r\n};\r\n\r\n// we need promise wrapper because Promise [[PromiseState]] and [[PromiseResult]] symbols are not accessible\r\n// exec and watch/track\r\nexport function watch<T = void>(fn: Executor<T>) {\r\n // type PromiseExecutorType = ConstructorParameters<typeof Promise<Awaited<T>>>[0];\r\n let resolve!: (value: Awaited<T>) => void;\r\n // let resolve: Parameters<PromiseExecutorType>[0];\r\n let reject!: (reason: any) => void;\r\n // let reject: Parameters<PromiseExecutorType>[1];\r\n\r\n const promise: Mutable<WatchablePromise<Awaited<T>>> = new Promise<Awaited<T>>((res, rej) => {\r\n resolve = res;\r\n reject = rej;\r\n });\r\n\r\n promise.status = \"pending\";\r\n // TODO: create type-safe defineProperty utility method\r\n Object.defineProperty(promise, \"settled\" satisfies keyof typeof promise, {\r\n get: () => promise.status !== \"pending\"\r\n });\r\n\r\n (async () => {\r\n try {\r\n const retValue = (await Promise.resolve(fn())) as Awaited<T>;\r\n resolve(retValue);\r\n promise.result = retValue;\r\n promise.status = \"fulfilled\";\r\n } catch (err) {\r\n reject(err);\r\n promise.result = undefined;\r\n promise.status = \"rejected\";\r\n }\r\n })();\r\n\r\n return promise as WatchablePromise<Awaited<T>>;\r\n}\r\n\r\n// TODO: add Promise.prototype.finally support\r\n\r\n// toTrackable\r\n/** wrap to watchable func */\r\nexport function toWatchable<TArgs extends any[] = any[], T = void>(fn: Func<TArgs, T>): WatchableFunc<TArgs, T> {\r\n // result\r\n let watchable: Func<TArgs, T> & {\r\n executing?: boolean; // running/inProgress/pending\r\n };\r\n const complete = (err?: any) => {\r\n watchable.executing = false;\r\n // watchable result.executing;\r\n if (err) {\r\n // err instanceof Error\r\n throw err; // need to rethrow!\r\n }\r\n };\r\n watchable = (...args) => {\r\n watchable.executing = true;\r\n let isAsyncFn = false;\r\n try {\r\n const fnResult = fn(...args);\r\n if (fnResult instanceof Promise) {\r\n isAsyncFn = true;\r\n fnResult.catch(complete);\r\n fnResult.then(complete);\r\n }\r\n return fnResult;\r\n } finally {\r\n if (!isAsyncFn) {\r\n complete();\r\n }\r\n }\r\n };\r\n return watchable;\r\n}\r\n"],"names":["watch","fn","resolve","reject","promise","res","rej","retValue","err","toWatchable","watchable","complete","args","isAsyncFn","fnResult"],"mappings":"AAmBO,SAASA,EAAgBC,GAAiB;AAE7C,MAAIC,GAEAC;AAGJ,QAAMC,IAAiD,IAAI,QAAoB,CAACC,GAAKC,MAAQ;AACzF,IAAAJ,IAAUG,GACVF,IAASG;AAAA,EACb,CAAC;AAED,SAAAF,EAAQ,SAAS,WAEjB,OAAO,eAAeA,GAAS,WAA0C;AAAA,IACrE,KAAK,MAAMA,EAAQ,WAAW;AAAA,EAAA,CACjC,IAEA,YAAY;AACT,QAAI;AACA,YAAMG,IAAY,MAAM,QAAQ,QAAQN,GAAI;AAC5C,MAAAC,EAAQK,CAAQ,GAChBH,EAAQ,SAASG,GACjBH,EAAQ,SAAS;AAAA,IACrB,SAASI,GAAK;AACV,MAAAL,EAAOK,CAAG,GACVJ,EAAQ,SAAS,QACjBA,EAAQ,SAAS;AAAA,IACrB;AAAA,EACJ,GAAA,GAEOA;AACX;AAMO,SAASK,EAAmDR,GAA6C;AAE5G,MAAIS;AAGJ,QAAMC,IAAW,CAACH,MAAc;AAG5B,QAFAE,EAAU,YAAY,IAElBF;AAEA,YAAMA;AAAA,EAEd;AACA,SAAAE,IAAY,IAAIE,MAAS;AACrB,IAAAF,EAAU,YAAY;AACtB,QAAIG,IAAY;AAChB,QAAI;AACA,YAAMC,IAAWb,EAAG,GAAGW,CAAI;AAC3B,aAAIE,aAAoB,YACpBD,IAAY,IACZC,EAAS,MAAMH,CAAQ,GACvBG,EAAS,KAAKH,CAAQ,IAEnBG;AAAA,IACX,UAAA;AACI,MAAKD,KACDF,EAAA;AAAA,IAER;AAAA,EACJ,GACOD;AACX;"}
1
+ {"version":3,"file":"watchable.es.js","sources":["D:/Src/my/actdim/public/utico/src/watchable.ts"],"sourcesContent":null,"names":["watch","fn","resolve","reject","promise","res","rej","retValue","err","toWatchable","watchable","complete","args","isAsyncFn","fnResult"],"mappings":"AAmBO,SAASA,EAAgBC,GAAiB;AAE7C,MAAIC,GAEAC;AAGJ,QAAMC,IAAiD,IAAI,QAAoB,CAACC,GAAKC,MAAQ;AACzF,IAAAJ,IAAUG,GACVF,IAASG;AAAA,EACb,CAAC;AAED,SAAAF,EAAQ,SAAS,WAEjB,OAAO,eAAeA,GAAS,WAA0C;AAAA,IACrE,KAAK,MAAMA,EAAQ,WAAW;AAAA,EAAA,CACjC,IAEA,YAAY;AACT,QAAI;AACA,YAAMG,IAAY,MAAM,QAAQ,QAAQN,GAAI;AAC5C,MAAAC,EAAQK,CAAQ,GAChBH,EAAQ,SAASG,GACjBH,EAAQ,SAAS;AAAA,IACrB,SAASI,GAAK;AACV,MAAAL,EAAOK,CAAG,GACVJ,EAAQ,SAAS,QACjBA,EAAQ,SAAS;AAAA,IACrB;AAAA,EACJ,GAAA,GAEOA;AACX;AAMO,SAASK,EAAmDR,GAA6C;AAE5G,MAAIS;AAGJ,QAAMC,IAAW,CAACH,MAAc;AAG5B,QAFAE,EAAU,YAAY,IAElBF;AAEA,YAAMA;AAAA,EAEd;AACA,SAAAE,IAAY,IAAIE,MAAS;AACrB,IAAAF,EAAU,YAAY;AACtB,QAAIG,IAAY;AAChB,QAAI;AACA,YAAMC,IAAWb,EAAG,GAAGW,CAAI;AAC3B,aAAIE,aAAoB,YACpBD,IAAY,IACZC,EAAS,MAAMH,CAAQ,GACvBG,EAAS,KAAKH,CAAQ,IAEnBG;AAAA,IACX,UAAA;AACI,MAAKD,KACDF,EAAA;AAAA,IAER;AAAA,EACJ,GACOD;AACX;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@actdim/utico",
3
- "version": "1.1.2",
3
+ "version": "1.1.5",
4
4
  "description": "A modern foundation toolkit for complex TypeScript apps",
5
5
  "author": "Pavel Borodaev",
6
6
  "license": "Proprietary",
@@ -67,10 +67,11 @@
67
67
  },
68
68
  "peerDependencies": {
69
69
  "dexie": "^4.2.0",
70
- "moment": "^2.30.1",
71
- "uuid": "^13.0.0"
70
+ "uuid": "^13.0.0",
71
+ "luxon": "^3.7.2"
72
72
  },
73
73
  "devDependencies": {
74
+ "luxon": "^3.7.2",
74
75
  "@eslint/js": "^9.39.2",
75
76
  "@types/chai": "^5.2.3",
76
77
  "@types/mocha": "^10.0.10",
@@ -89,11 +90,13 @@
89
90
  "prettier": "^3.6.2",
90
91
  "prettier-plugin-classnames": "^0.8.5",
91
92
  "shx": "^0.4.0",
93
+ "tslib": "^2.8.1",
92
94
  "typescript": "^5.9.3",
93
95
  "typescript-eslint": "^8.46.3",
94
96
  "vite": "^7.2.2",
95
97
  "vite-plugin-dts": "^4.5.4",
96
98
  "vite-tsconfig-paths": "^5.1.4",
97
99
  "vitest": "^4.0.8"
98
- }
100
+ },
101
+ "dependencies": {}
99
102
  }