@cratis/fundamentals 7.15.2 → 7.16.0

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 (64) hide show
  1. package/DerivedType.ts +1 -0
  2. package/Fields.ts +1 -1
  3. package/derivedTypeDecorator.ts +1 -1
  4. package/dist/DerivedType.d.ts +1 -0
  5. package/dist/DerivedType.d.ts.map +1 -1
  6. package/dist/DerivedType.js +1 -0
  7. package/dist/DerivedType.js.map +1 -1
  8. package/dist/Fields.d.ts +1 -1
  9. package/dist/Fields.d.ts.map +1 -1
  10. package/dist/Fields.js +1 -1
  11. package/dist/Fields.js.map +1 -1
  12. package/dist/cjs/DerivedType.d.ts +1 -0
  13. package/dist/cjs/DerivedType.d.ts.map +1 -1
  14. package/dist/cjs/DerivedType.js +2 -0
  15. package/dist/cjs/DerivedType.js.map +1 -1
  16. package/dist/cjs/Fields.d.ts +1 -1
  17. package/dist/cjs/Fields.d.ts.map +1 -1
  18. package/dist/cjs/Fields.js +1 -1
  19. package/dist/cjs/Fields.js.map +1 -1
  20. package/dist/cjs/derivedTypeDecorator.d.ts +1 -1
  21. package/dist/cjs/derivedTypeDecorator.d.ts.map +1 -1
  22. package/dist/cjs/derivedTypeDecorator.js +1 -1
  23. package/dist/cjs/derivedTypeDecorator.js.map +1 -1
  24. package/dist/cjs/json/PointJsonConverter.d.ts.map +1 -1
  25. package/dist/cjs/json/PointJsonConverter.js +3 -6
  26. package/dist/cjs/json/PointJsonConverter.js.map +1 -1
  27. package/dist/cjs/reflection.d.ts +15 -0
  28. package/dist/cjs/reflection.d.ts.map +1 -0
  29. package/dist/cjs/reflection.js +96 -0
  30. package/dist/cjs/reflection.js.map +1 -0
  31. package/dist/derivedTypeDecorator.d.ts +1 -1
  32. package/dist/derivedTypeDecorator.d.ts.map +1 -1
  33. package/dist/derivedTypeDecorator.js +1 -1
  34. package/dist/derivedTypeDecorator.js.map +1 -1
  35. package/dist/esm/DerivedType.d.ts +1 -0
  36. package/dist/esm/DerivedType.d.ts.map +1 -1
  37. package/dist/esm/DerivedType.js +2 -0
  38. package/dist/esm/DerivedType.js.map +1 -1
  39. package/dist/esm/Fields.d.ts +1 -1
  40. package/dist/esm/Fields.d.ts.map +1 -1
  41. package/dist/esm/Fields.js +1 -1
  42. package/dist/esm/Fields.js.map +1 -1
  43. package/dist/esm/derivedTypeDecorator.d.ts +1 -1
  44. package/dist/esm/derivedTypeDecorator.d.ts.map +1 -1
  45. package/dist/esm/derivedTypeDecorator.js +1 -1
  46. package/dist/esm/derivedTypeDecorator.js.map +1 -1
  47. package/dist/esm/json/PointJsonConverter.d.ts.map +1 -1
  48. package/dist/esm/json/PointJsonConverter.js +3 -6
  49. package/dist/esm/json/PointJsonConverter.js.map +1 -1
  50. package/dist/esm/reflection.d.ts +15 -0
  51. package/dist/esm/reflection.d.ts.map +1 -0
  52. package/dist/esm/reflection.js +94 -0
  53. package/dist/esm/reflection.js.map +1 -0
  54. package/dist/json/PointJsonConverter.d.ts.map +1 -1
  55. package/dist/json/PointJsonConverter.js +3 -6
  56. package/dist/json/PointJsonConverter.js.map +1 -1
  57. package/dist/reflection.d.ts +15 -0
  58. package/dist/reflection.d.ts.map +1 -0
  59. package/dist/reflection.js +95 -0
  60. package/dist/reflection.js.map +1 -0
  61. package/dist/tsconfig.tsbuildinfo +1 -1
  62. package/json/PointJsonConverter.ts +3 -6
  63. package/package.json +6 -4
  64. package/reflection.ts +139 -0
@@ -0,0 +1,94 @@
1
+ if (typeof Reflect.defineMetadata !== 'function' || typeof Reflect.getOwnMetadata !== 'function') {
2
+ const metadataMap = new WeakMap();
3
+ const propertyMetadataMap = new WeakMap();
4
+ function getMetadataStore(target, propertyKey) {
5
+ if (propertyKey != null) {
6
+ let propMap = propertyMetadataMap.get(target);
7
+ if (!propMap) {
8
+ propMap = new Map();
9
+ propertyMetadataMap.set(target, propMap);
10
+ }
11
+ if (!propMap.has(propertyKey)) {
12
+ propMap.set(propertyKey, new Map());
13
+ }
14
+ return propMap.get(propertyKey);
15
+ }
16
+ else {
17
+ if (!metadataMap.has(target)) {
18
+ metadataMap.set(target, new Map());
19
+ }
20
+ return metadataMap.get(target);
21
+ }
22
+ }
23
+ function getMetadataStoreIfExists(target, propertyKey) {
24
+ if (propertyKey != null) {
25
+ const propMap = propertyMetadataMap.get(target);
26
+ return propMap?.get(propertyKey);
27
+ }
28
+ else {
29
+ return metadataMap.get(target);
30
+ }
31
+ }
32
+ Reflect.defineMetadata = function (metadataKey, metadataValue, target, propertyKey) {
33
+ const store = getMetadataStore(target, propertyKey);
34
+ store.set(metadataKey, metadataValue);
35
+ };
36
+ Reflect.getMetadata = function (metadataKey, target, propertyKey) {
37
+ let currentTarget = target;
38
+ while (currentTarget !== null && currentTarget !== undefined) {
39
+ const store = getMetadataStoreIfExists(currentTarget, propertyKey);
40
+ if (store && store.has(metadataKey)) {
41
+ return store.get(metadataKey);
42
+ }
43
+ currentTarget = Object.getPrototypeOf(currentTarget);
44
+ }
45
+ return undefined;
46
+ };
47
+ Reflect.getOwnMetadata = function (metadataKey, target, propertyKey) {
48
+ const store = getMetadataStoreIfExists(target, propertyKey);
49
+ return store?.get(metadataKey);
50
+ };
51
+ Reflect.hasMetadata = function (metadataKey, target, propertyKey) {
52
+ let currentTarget = target;
53
+ while (currentTarget !== null && currentTarget !== undefined) {
54
+ const store = getMetadataStoreIfExists(currentTarget, propertyKey);
55
+ if (store && store.has(metadataKey)) {
56
+ return true;
57
+ }
58
+ currentTarget = Object.getPrototypeOf(currentTarget);
59
+ }
60
+ return false;
61
+ };
62
+ Reflect.hasOwnMetadata = function (metadataKey, target, propertyKey) {
63
+ const store = getMetadataStoreIfExists(target, propertyKey);
64
+ return store ? store.has(metadataKey) : false;
65
+ };
66
+ Reflect.getMetadataKeys = function (target, propertyKey) {
67
+ const keys = new Set();
68
+ let currentTarget = target;
69
+ while (currentTarget !== null && currentTarget !== undefined) {
70
+ const store = getMetadataStoreIfExists(currentTarget, propertyKey);
71
+ if (store) {
72
+ for (const key of store.keys()) {
73
+ keys.add(key);
74
+ }
75
+ }
76
+ currentTarget = Object.getPrototypeOf(currentTarget);
77
+ }
78
+ return Array.from(keys);
79
+ };
80
+ Reflect.getOwnMetadataKeys = function (target, propertyKey) {
81
+ const store = getMetadataStoreIfExists(target, propertyKey);
82
+ return store ? Array.from(store.keys()) : [];
83
+ };
84
+ Reflect.deleteMetadata = function (metadataKey, target, propertyKey) {
85
+ const store = getMetadataStoreIfExists(target, propertyKey);
86
+ return store ? store.delete(metadataKey) : false;
87
+ };
88
+ Reflect.metadata = function (metadataKey, metadataValue) {
89
+ return function (target, propertyKey) {
90
+ Reflect.defineMetadata(metadataKey, metadataValue, target, propertyKey);
91
+ };
92
+ };
93
+ }
94
+ //# sourceMappingURL=reflection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reflection.js","sources":["../../reflection.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\n/**\n * Reflect metadata polyfill\n * Provides a minimal implementation of the reflect-metadata API using WeakMap.\n * If native Reflect metadata API is already available, this is a no-op.\n *\n * Limitations:\n * - Only supports object targets (not primitives)\n * - Property-level metadata uses a secondary Map structure keyed by property\n * - Does not support all advanced reflect-metadata features\n */\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/no-namespace */\n\ndeclare global {\n namespace Reflect {\n function defineMetadata(metadataKey: string | symbol, metadataValue: any, target: any, propertyKey?: string | symbol): void;\n function getMetadata(metadataKey: string | symbol, target: any, propertyKey?: string | symbol): any;\n function getOwnMetadata(metadataKey: string | symbol, target: any, propertyKey?: string | symbol): any;\n function hasMetadata(metadataKey: string | symbol, target: any, propertyKey?: string | symbol): boolean;\n function hasOwnMetadata(metadataKey: string | symbol, target: any, propertyKey?: string | symbol): boolean;\n function getMetadataKeys(target: any, propertyKey?: string | symbol): (string | symbol)[];\n function getOwnMetadataKeys(target: any, propertyKey?: string | symbol): (string | symbol)[];\n function deleteMetadata(metadataKey: string | symbol, target: any, propertyKey?: string | symbol): boolean;\n function metadata(metadataKey: string | symbol, metadataValue: any): (target: any, propertyKey?: string | symbol) => void;\n }\n}\n\n// Check if native metadata API is available by testing for multiple methods\nif (typeof Reflect.defineMetadata !== 'function' || typeof Reflect.getOwnMetadata !== 'function') {\n const metadataMap = new WeakMap<any, Map<string | symbol, any>>();\n const propertyMetadataMap = new WeakMap<any, Map<string | symbol, Map<string | symbol, any>>>();\n\n function getMetadataStore(target: any, propertyKey?: string | symbol): Map<string | symbol, any> {\n if (propertyKey != null) {\n let propMap = propertyMetadataMap.get(target);\n if (!propMap) {\n propMap = new Map();\n propertyMetadataMap.set(target, propMap);\n }\n if (!propMap.has(propertyKey)) {\n propMap.set(propertyKey, new Map());\n }\n return propMap.get(propertyKey)!;\n } else {\n if (!metadataMap.has(target)) {\n metadataMap.set(target, new Map());\n }\n return metadataMap.get(target)!;\n }\n }\n\n function getMetadataStoreIfExists(target: any, propertyKey?: string | symbol): Map<string | symbol, any> | undefined {\n if (propertyKey != null) {\n const propMap = propertyMetadataMap.get(target);\n return propMap?.get(propertyKey);\n } else {\n return metadataMap.get(target);\n }\n }\n\n Reflect.defineMetadata = function (metadataKey: string | symbol, metadataValue: any, target: any, propertyKey?: string | symbol): void {\n const store = getMetadataStore(target, propertyKey);\n store.set(metadataKey, metadataValue);\n };\n\n Reflect.getMetadata = function (metadataKey: string | symbol, target: any, propertyKey?: string | symbol): any {\n let currentTarget = target;\n while (currentTarget !== null && currentTarget !== undefined) {\n const store = getMetadataStoreIfExists(currentTarget, propertyKey);\n if (store && store.has(metadataKey)) {\n return store.get(metadataKey);\n }\n currentTarget = Object.getPrototypeOf(currentTarget);\n }\n return undefined;\n };\n\n Reflect.getOwnMetadata = function (metadataKey: string | symbol, target: any, propertyKey?: string | symbol): any {\n const store = getMetadataStoreIfExists(target, propertyKey);\n return store?.get(metadataKey);\n };\n\n Reflect.hasMetadata = function (metadataKey: string | symbol, target: any, propertyKey?: string | symbol): boolean {\n let currentTarget = target;\n while (currentTarget !== null && currentTarget !== undefined) {\n const store = getMetadataStoreIfExists(currentTarget, propertyKey);\n if (store && store.has(metadataKey)) {\n return true;\n }\n currentTarget = Object.getPrototypeOf(currentTarget);\n }\n return false;\n };\n\n Reflect.hasOwnMetadata = function (metadataKey: string | symbol, target: any, propertyKey?: string | symbol): boolean {\n const store = getMetadataStoreIfExists(target, propertyKey);\n return store ? store.has(metadataKey) : false;\n };\n\n Reflect.getMetadataKeys = function (target: any, propertyKey?: string | symbol): (string | symbol)[] {\n const keys = new Set<string | symbol>();\n let currentTarget = target;\n while (currentTarget !== null && currentTarget !== undefined) {\n const store = getMetadataStoreIfExists(currentTarget, propertyKey);\n if (store) {\n for (const key of store.keys()) {\n keys.add(key);\n }\n }\n currentTarget = Object.getPrototypeOf(currentTarget);\n }\n return Array.from(keys);\n };\n\n Reflect.getOwnMetadataKeys = function (target: any, propertyKey?: string | symbol): (string | symbol)[] {\n const store = getMetadataStoreIfExists(target, propertyKey);\n return store ? Array.from(store.keys()) : [];\n };\n\n Reflect.deleteMetadata = function (metadataKey: string | symbol, target: any, propertyKey?: string | symbol): boolean {\n const store = getMetadataStoreIfExists(target, propertyKey);\n return store ? store.delete(metadataKey) : false;\n };\n\n // Decorator factory used by TypeScript's emitDecoratorMetadata output (the tslib\n // __metadata helper). Without this, 'design:type'/'design:paramtypes'/'design:returntype'\n // metadata is never recorded, which breaks constructor parameter type reflection.\n Reflect.metadata = function (metadataKey: string | symbol, metadataValue: any): (target: any, propertyKey?: string | symbol) => void {\n return function (target: any, propertyKey?: string | symbol): void {\n Reflect.defineMetadata(metadataKey, metadataValue, target, propertyKey);\n };\n };\n}\n\nexport {};\n"],"names":[],"mappings":"AAgCA,IAAI,OAAO,OAAO,CAAC,cAAc,KAAK,UAAU,IAAI,OAAO,OAAO,CAAC,cAAc,KAAK,UAAU,EAAE;AAC9F,IAAA,MAAM,WAAW,GAAG,IAAI,OAAO,EAAkC;AACjE,IAAA,MAAM,mBAAmB,GAAG,IAAI,OAAO,EAAwD;AAE/F,IAAA,SAAS,gBAAgB,CAAC,MAAW,EAAE,WAA6B,EAAA;AAChE,QAAA,IAAI,WAAW,IAAI,IAAI,EAAE;YACrB,IAAI,OAAO,GAAG,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC;YAC7C,IAAI,CAAC,OAAO,EAAE;AACV,gBAAA,OAAO,GAAG,IAAI,GAAG,EAAE;AACnB,gBAAA,mBAAmB,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;YAC5C;YACA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE;gBAC3B,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,GAAG,EAAE,CAAC;YACvC;AACA,YAAA,OAAO,OAAO,CAAC,GAAG,CAAC,WAAW,CAAE;QACpC;aAAO;YACH,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;gBAC1B,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;YACtC;AACA,YAAA,OAAO,WAAW,CAAC,GAAG,CAAC,MAAM,CAAE;QACnC;IACJ;AAEA,IAAA,SAAS,wBAAwB,CAAC,MAAW,EAAE,WAA6B,EAAA;AACxE,QAAA,IAAI,WAAW,IAAI,IAAI,EAAE;YACrB,MAAM,OAAO,GAAG,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC;AAC/C,YAAA,OAAO,OAAO,EAAE,GAAG,CAAC,WAAW,CAAC;QACpC;aAAO;AACH,YAAA,OAAO,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC;QAClC;IACJ;IAEA,OAAO,CAAC,cAAc,GAAG,UAAU,WAA4B,EAAE,aAAkB,EAAE,MAAW,EAAE,WAA6B,EAAA;QAC3H,MAAM,KAAK,GAAG,gBAAgB,CAAC,MAAM,EAAE,WAAW,CAAC;AACnD,QAAA,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,aAAa,CAAC;AACzC,IAAA,CAAC;IAED,OAAO,CAAC,WAAW,GAAG,UAAU,WAA4B,EAAE,MAAW,EAAE,WAA6B,EAAA;QACpG,IAAI,aAAa,GAAG,MAAM;QAC1B,OAAO,aAAa,KAAK,IAAI,IAAI,aAAa,KAAK,SAAS,EAAE;YAC1D,MAAM,KAAK,GAAG,wBAAwB,CAAC,aAAa,EAAE,WAAW,CAAC;YAClE,IAAI,KAAK,IAAI,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE;AACjC,gBAAA,OAAO,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC;YACjC;AACA,YAAA,aAAa,GAAG,MAAM,CAAC,cAAc,CAAC,aAAa,CAAC;QACxD;AACA,QAAA,OAAO,SAAS;AACpB,IAAA,CAAC;IAED,OAAO,CAAC,cAAc,GAAG,UAAU,WAA4B,EAAE,MAAW,EAAE,WAA6B,EAAA;QACvG,MAAM,KAAK,GAAG,wBAAwB,CAAC,MAAM,EAAE,WAAW,CAAC;AAC3D,QAAA,OAAO,KAAK,EAAE,GAAG,CAAC,WAAW,CAAC;AAClC,IAAA,CAAC;IAED,OAAO,CAAC,WAAW,GAAG,UAAU,WAA4B,EAAE,MAAW,EAAE,WAA6B,EAAA;QACpG,IAAI,aAAa,GAAG,MAAM;QAC1B,OAAO,aAAa,KAAK,IAAI,IAAI,aAAa,KAAK,SAAS,EAAE;YAC1D,MAAM,KAAK,GAAG,wBAAwB,CAAC,aAAa,EAAE,WAAW,CAAC;YAClE,IAAI,KAAK,IAAI,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE;AACjC,gBAAA,OAAO,IAAI;YACf;AACA,YAAA,aAAa,GAAG,MAAM,CAAC,cAAc,CAAC,aAAa,CAAC;QACxD;AACA,QAAA,OAAO,KAAK;AAChB,IAAA,CAAC;IAED,OAAO,CAAC,cAAc,GAAG,UAAU,WAA4B,EAAE,MAAW,EAAE,WAA6B,EAAA;QACvG,MAAM,KAAK,GAAG,wBAAwB,CAAC,MAAM,EAAE,WAAW,CAAC;AAC3D,QAAA,OAAO,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,KAAK;AACjD,IAAA,CAAC;AAED,IAAA,OAAO,CAAC,eAAe,GAAG,UAAU,MAAW,EAAE,WAA6B,EAAA;AAC1E,QAAA,MAAM,IAAI,GAAG,IAAI,GAAG,EAAmB;QACvC,IAAI,aAAa,GAAG,MAAM;QAC1B,OAAO,aAAa,KAAK,IAAI,IAAI,aAAa,KAAK,SAAS,EAAE;YAC1D,MAAM,KAAK,GAAG,wBAAwB,CAAC,aAAa,EAAE,WAAW,CAAC;YAClE,IAAI,KAAK,EAAE;gBACP,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE;AAC5B,oBAAA,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;gBACjB;YACJ;AACA,YAAA,aAAa,GAAG,MAAM,CAAC,cAAc,CAAC,aAAa,CAAC;QACxD;AACA,QAAA,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;AAC3B,IAAA,CAAC;AAED,IAAA,OAAO,CAAC,kBAAkB,GAAG,UAAU,MAAW,EAAE,WAA6B,EAAA;QAC7E,MAAM,KAAK,GAAG,wBAAwB,CAAC,MAAM,EAAE,WAAW,CAAC;AAC3D,QAAA,OAAO,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE;AAChD,IAAA,CAAC;IAED,OAAO,CAAC,cAAc,GAAG,UAAU,WAA4B,EAAE,MAAW,EAAE,WAA6B,EAAA;QACvG,MAAM,KAAK,GAAG,wBAAwB,CAAC,MAAM,EAAE,WAAW,CAAC;AAC3D,QAAA,OAAO,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,KAAK;AACpD,IAAA,CAAC;AAKD,IAAA,OAAO,CAAC,QAAQ,GAAG,UAAU,WAA4B,EAAE,aAAkB,EAAA;QACzE,OAAO,UAAU,MAAW,EAAE,WAA6B,EAAA;YACvD,OAAO,CAAC,cAAc,CAAC,WAAW,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,CAAC;AAC3E,QAAA,CAAC;AACL,IAAA,CAAC;AACL"}
@@ -1 +1 @@
1
- {"version":3,"file":"PointJsonConverter.d.ts","sourceRoot":"","sources":["../../json/PointJsonConverter.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAOhD,qBAAa,kBAAmB,SAAQ,aAAa,CAAC,KAAK,CAAC;IAExD,IAAI,IAAI,IAAI,WAAW,CAAC,KAAK,CAAC,CAE7B;IAGD,IAAI,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK;IAcvB,KAAK,CAAC,KAAK,EAAE,GAAG,GAAG,GAAG;CAGzB"}
1
+ {"version":3,"file":"PointJsonConverter.d.ts","sourceRoot":"","sources":["../../json/PointJsonConverter.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAOhD,qBAAa,kBAAmB,SAAQ,aAAa,CAAC,KAAK,CAAC;IAExD,IAAI,IAAI,IAAI,WAAW,CAAC,KAAK,CAAC,CAE7B;IAGD,IAAI,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK;IAWvB,KAAK,CAAC,KAAK,EAAE,GAAG,GAAG,GAAG;CAGzB"}
@@ -8,13 +8,10 @@ export class PointJsonConverter extends JsonConverter {
8
8
  if (value === null || value === undefined) {
9
9
  throw new Error('Cannot deserialize null or undefined to Point');
10
10
  }
11
- if (value.type === 'Point' && value.coordinates && value.coordinates.length === 2) {
12
- return new Point(value.coordinates[0], value.coordinates[1]);
11
+ if (value.type !== 'Point' || !value.coordinates || value.coordinates.length !== 2) {
12
+ throw new Error('Cannot deserialize Point: invalid GeoJSON format');
13
13
  }
14
- if (typeof value.longitude === 'number' && typeof value.latitude === 'number') {
15
- return new Point(value.longitude, value.latitude);
16
- }
17
- throw new Error('Cannot deserialize Point: expected GeoJSON format { type, coordinates } or { longitude, latitude }');
14
+ return new Point(value.coordinates[0], value.coordinates[1]);
18
15
  }
19
16
  write(value) {
20
17
  return value?.toJSON() ?? null;
@@ -1 +1 @@
1
- {"version":3,"file":"PointJsonConverter.js","sourceRoot":"","sources":["../../json/PointJsonConverter.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAOhD,MAAM,OAAO,kBAAmB,SAAQ,aAAoB;IAExD,IAAI,IAAI;QACJ,OAAO,KAAK,CAAC;IACjB,CAAC;IAGD,IAAI,CAAC,KAAU;QACX,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACrE,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChF,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;QACjE,CAAC;QACD,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC5E,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QACtD,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,oGAAoG,CAAC,CAAC;IAC1H,CAAC;IAGD,KAAK,CAAC,KAAU;QACZ,OAAO,KAAK,EAAE,MAAM,EAAE,IAAI,IAAI,CAAC;IACnC,CAAC;CACJ"}
1
+ {"version":3,"file":"PointJsonConverter.js","sourceRoot":"","sources":["../../json/PointJsonConverter.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAOhD,MAAM,OAAO,kBAAmB,SAAQ,aAAoB;IAExD,IAAI,IAAI;QACJ,OAAO,KAAK,CAAC;IACjB,CAAC;IAGD,IAAI,CAAC,KAAU;QACX,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACrE,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjF,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;QACxE,CAAC;QACD,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IACjE,CAAC;IAGD,KAAK,CAAC,KAAU;QACZ,OAAO,KAAK,EAAE,MAAM,EAAE,IAAI,IAAI,CAAC;IACnC,CAAC;CACJ"}
@@ -0,0 +1,15 @@
1
+ declare global {
2
+ namespace Reflect {
3
+ function defineMetadata(metadataKey: string | symbol, metadataValue: any, target: any, propertyKey?: string | symbol): void;
4
+ function getMetadata(metadataKey: string | symbol, target: any, propertyKey?: string | symbol): any;
5
+ function getOwnMetadata(metadataKey: string | symbol, target: any, propertyKey?: string | symbol): any;
6
+ function hasMetadata(metadataKey: string | symbol, target: any, propertyKey?: string | symbol): boolean;
7
+ function hasOwnMetadata(metadataKey: string | symbol, target: any, propertyKey?: string | symbol): boolean;
8
+ function getMetadataKeys(target: any, propertyKey?: string | symbol): (string | symbol)[];
9
+ function getOwnMetadataKeys(target: any, propertyKey?: string | symbol): (string | symbol)[];
10
+ function deleteMetadata(metadataKey: string | symbol, target: any, propertyKey?: string | symbol): boolean;
11
+ function metadata(metadataKey: string | symbol, metadataValue: any): (target: any, propertyKey?: string | symbol) => void;
12
+ }
13
+ }
14
+ export {};
15
+ //# sourceMappingURL=reflection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reflection.d.ts","sourceRoot":"","sources":["../reflection.ts"],"names":[],"mappings":"AAiBA,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,OAAO,CAAC;QACd,SAAS,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;QAC5H,SAAS,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,GAAG,CAAC;QACpG,SAAS,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,GAAG,CAAC;QACvG,SAAS,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;QACxG,SAAS,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;QAC3G,SAAS,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;QAC1F,SAAS,kBAAkB,CAAC,MAAM,EAAE,GAAG,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;QAC7F,SAAS,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;QAC3G,SAAS,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,aAAa,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC;KAC7H;CACJ;AA6GD,OAAO,EAAE,CAAC"}
@@ -0,0 +1,95 @@
1
+ if (typeof Reflect.defineMetadata !== 'function' || typeof Reflect.getOwnMetadata !== 'function') {
2
+ const metadataMap = new WeakMap();
3
+ const propertyMetadataMap = new WeakMap();
4
+ function getMetadataStore(target, propertyKey) {
5
+ if (propertyKey != null) {
6
+ let propMap = propertyMetadataMap.get(target);
7
+ if (!propMap) {
8
+ propMap = new Map();
9
+ propertyMetadataMap.set(target, propMap);
10
+ }
11
+ if (!propMap.has(propertyKey)) {
12
+ propMap.set(propertyKey, new Map());
13
+ }
14
+ return propMap.get(propertyKey);
15
+ }
16
+ else {
17
+ if (!metadataMap.has(target)) {
18
+ metadataMap.set(target, new Map());
19
+ }
20
+ return metadataMap.get(target);
21
+ }
22
+ }
23
+ function getMetadataStoreIfExists(target, propertyKey) {
24
+ if (propertyKey != null) {
25
+ const propMap = propertyMetadataMap.get(target);
26
+ return propMap?.get(propertyKey);
27
+ }
28
+ else {
29
+ return metadataMap.get(target);
30
+ }
31
+ }
32
+ Reflect.defineMetadata = function (metadataKey, metadataValue, target, propertyKey) {
33
+ const store = getMetadataStore(target, propertyKey);
34
+ store.set(metadataKey, metadataValue);
35
+ };
36
+ Reflect.getMetadata = function (metadataKey, target, propertyKey) {
37
+ let currentTarget = target;
38
+ while (currentTarget !== null && currentTarget !== undefined) {
39
+ const store = getMetadataStoreIfExists(currentTarget, propertyKey);
40
+ if (store && store.has(metadataKey)) {
41
+ return store.get(metadataKey);
42
+ }
43
+ currentTarget = Object.getPrototypeOf(currentTarget);
44
+ }
45
+ return undefined;
46
+ };
47
+ Reflect.getOwnMetadata = function (metadataKey, target, propertyKey) {
48
+ const store = getMetadataStoreIfExists(target, propertyKey);
49
+ return store?.get(metadataKey);
50
+ };
51
+ Reflect.hasMetadata = function (metadataKey, target, propertyKey) {
52
+ let currentTarget = target;
53
+ while (currentTarget !== null && currentTarget !== undefined) {
54
+ const store = getMetadataStoreIfExists(currentTarget, propertyKey);
55
+ if (store && store.has(metadataKey)) {
56
+ return true;
57
+ }
58
+ currentTarget = Object.getPrototypeOf(currentTarget);
59
+ }
60
+ return false;
61
+ };
62
+ Reflect.hasOwnMetadata = function (metadataKey, target, propertyKey) {
63
+ const store = getMetadataStoreIfExists(target, propertyKey);
64
+ return store ? store.has(metadataKey) : false;
65
+ };
66
+ Reflect.getMetadataKeys = function (target, propertyKey) {
67
+ const keys = new Set();
68
+ let currentTarget = target;
69
+ while (currentTarget !== null && currentTarget !== undefined) {
70
+ const store = getMetadataStoreIfExists(currentTarget, propertyKey);
71
+ if (store) {
72
+ for (const key of store.keys()) {
73
+ keys.add(key);
74
+ }
75
+ }
76
+ currentTarget = Object.getPrototypeOf(currentTarget);
77
+ }
78
+ return Array.from(keys);
79
+ };
80
+ Reflect.getOwnMetadataKeys = function (target, propertyKey) {
81
+ const store = getMetadataStoreIfExists(target, propertyKey);
82
+ return store ? Array.from(store.keys()) : [];
83
+ };
84
+ Reflect.deleteMetadata = function (metadataKey, target, propertyKey) {
85
+ const store = getMetadataStoreIfExists(target, propertyKey);
86
+ return store ? store.delete(metadataKey) : false;
87
+ };
88
+ Reflect.metadata = function (metadataKey, metadataValue) {
89
+ return function (target, propertyKey) {
90
+ Reflect.defineMetadata(metadataKey, metadataValue, target, propertyKey);
91
+ };
92
+ };
93
+ }
94
+ export {};
95
+ //# sourceMappingURL=reflection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reflection.js","sourceRoot":"","sources":["../reflection.ts"],"names":[],"mappings":"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"}