@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.
- package/DerivedType.ts +1 -0
- package/Fields.ts +1 -1
- package/derivedTypeDecorator.ts +1 -1
- package/dist/DerivedType.d.ts +1 -0
- package/dist/DerivedType.d.ts.map +1 -1
- package/dist/DerivedType.js +1 -0
- package/dist/DerivedType.js.map +1 -1
- package/dist/Fields.d.ts +1 -1
- package/dist/Fields.d.ts.map +1 -1
- package/dist/Fields.js +1 -1
- package/dist/Fields.js.map +1 -1
- package/dist/cjs/DerivedType.d.ts +1 -0
- package/dist/cjs/DerivedType.d.ts.map +1 -1
- package/dist/cjs/DerivedType.js +2 -0
- package/dist/cjs/DerivedType.js.map +1 -1
- package/dist/cjs/Fields.d.ts +1 -1
- package/dist/cjs/Fields.d.ts.map +1 -1
- package/dist/cjs/Fields.js +1 -1
- package/dist/cjs/Fields.js.map +1 -1
- package/dist/cjs/derivedTypeDecorator.d.ts +1 -1
- package/dist/cjs/derivedTypeDecorator.d.ts.map +1 -1
- package/dist/cjs/derivedTypeDecorator.js +1 -1
- package/dist/cjs/derivedTypeDecorator.js.map +1 -1
- package/dist/cjs/json/PointJsonConverter.d.ts.map +1 -1
- package/dist/cjs/json/PointJsonConverter.js +3 -6
- package/dist/cjs/json/PointJsonConverter.js.map +1 -1
- package/dist/cjs/reflection.d.ts +15 -0
- package/dist/cjs/reflection.d.ts.map +1 -0
- package/dist/cjs/reflection.js +96 -0
- package/dist/cjs/reflection.js.map +1 -0
- package/dist/derivedTypeDecorator.d.ts +1 -1
- package/dist/derivedTypeDecorator.d.ts.map +1 -1
- package/dist/derivedTypeDecorator.js +1 -1
- package/dist/derivedTypeDecorator.js.map +1 -1
- package/dist/esm/DerivedType.d.ts +1 -0
- package/dist/esm/DerivedType.d.ts.map +1 -1
- package/dist/esm/DerivedType.js +2 -0
- package/dist/esm/DerivedType.js.map +1 -1
- package/dist/esm/Fields.d.ts +1 -1
- package/dist/esm/Fields.d.ts.map +1 -1
- package/dist/esm/Fields.js +1 -1
- package/dist/esm/Fields.js.map +1 -1
- package/dist/esm/derivedTypeDecorator.d.ts +1 -1
- package/dist/esm/derivedTypeDecorator.d.ts.map +1 -1
- package/dist/esm/derivedTypeDecorator.js +1 -1
- package/dist/esm/derivedTypeDecorator.js.map +1 -1
- package/dist/esm/json/PointJsonConverter.d.ts.map +1 -1
- package/dist/esm/json/PointJsonConverter.js +3 -6
- package/dist/esm/json/PointJsonConverter.js.map +1 -1
- package/dist/esm/reflection.d.ts +15 -0
- package/dist/esm/reflection.d.ts.map +1 -0
- package/dist/esm/reflection.js +94 -0
- package/dist/esm/reflection.js.map +1 -0
- package/dist/json/PointJsonConverter.d.ts.map +1 -1
- package/dist/json/PointJsonConverter.js +3 -6
- package/dist/json/PointJsonConverter.js.map +1 -1
- package/dist/reflection.d.ts +15 -0
- package/dist/reflection.d.ts.map +1 -0
- package/dist/reflection.js +95 -0
- package/dist/reflection.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/json/PointJsonConverter.ts +3 -6
- package/package.json +6 -4
- package/reflection.ts +139 -0
package/DerivedType.ts
CHANGED
package/Fields.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// Copyright (c) Cratis. All rights reserved.
|
|
2
2
|
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
3
|
|
|
4
|
-
import '
|
|
4
|
+
import './reflection';
|
|
5
5
|
import { Constructor } from './Constructor';
|
|
6
6
|
import { Field } from './Field';
|
|
7
7
|
|
package/derivedTypeDecorator.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// Copyright (c) Cratis. All rights reserved.
|
|
2
2
|
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
3
|
|
|
4
|
-
import '
|
|
4
|
+
import './reflection';
|
|
5
5
|
import { Constructor } from './Constructor';
|
|
6
6
|
import { DerivedType } from './DerivedType';
|
|
7
7
|
|
package/dist/DerivedType.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DerivedType.d.ts","sourceRoot":"","sources":["../DerivedType.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,qBAAa,WAAW;IACpB,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,WAAW;IAW5E,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM;IAIvC,MAAM,CAAC,kBAAkB,CAAC,UAAU,EAAE,WAAW,GAAG,WAAW,EAAE;CAGpE"}
|
|
1
|
+
{"version":3,"file":"DerivedType.d.ts","sourceRoot":"","sources":["../DerivedType.ts"],"names":[],"mappings":"AAGA,OAAO,cAAc,CAAC;AACtB,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,qBAAa,WAAW;IACpB,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,WAAW;IAW5E,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM;IAIvC,MAAM,CAAC,kBAAkB,CAAC,UAAU,EAAE,WAAW,GAAG,WAAW,EAAE;CAGpE"}
|
package/dist/DerivedType.js
CHANGED
package/dist/DerivedType.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DerivedType.js","sourceRoot":"","sources":["../DerivedType.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DerivedType.js","sourceRoot":"","sources":["../DerivedType.ts"],"names":[],"mappings":"AAGA,OAAO,cAAc,CAAC;AAGtB,MAAM,OAAO,WAAW;IACpB,MAAM,CAAC,GAAG,CAAC,MAAmB,EAAE,UAAkB,EAAE,UAAwB;QACxE,OAAO,CAAC,cAAc,CAAC,aAAa,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;QAC1D,IAAI,UAAU,EAAE,CAAC;YACb,MAAM,QAAQ,GAAkB,OAAO,CAAC,cAAc,CAAC,cAAc,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC;YACzF,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC7B,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACtB,OAAO,CAAC,cAAc,CAAC,cAAc,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;YACjE,CAAC;QACL,CAAC;IACL,CAAC;IAED,MAAM,CAAC,GAAG,CAAC,MAAmB;QAC1B,OAAO,OAAO,CAAC,cAAc,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,CAAC,kBAAkB,CAAC,UAAuB;QAC7C,OAAO,OAAO,CAAC,cAAc,CAAC,cAAc,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC;IACpE,CAAC;CACJ"}
|
package/dist/Fields.d.ts
CHANGED
package/dist/Fields.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Fields.d.ts","sourceRoot":"","sources":["../Fields.ts"],"names":[],"mappings":"AAGA,OAAO,
|
|
1
|
+
{"version":3,"file":"Fields.d.ts","sourceRoot":"","sources":["../Fields.ts"],"names":[],"mappings":"AAGA,OAAO,cAAc,CAAC;AACtB,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAKhC,qBAAa,MAAM;IACf,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,EAAE,gBAAgB,EAAE,WAAW,EAAE;IASlK,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,WAAW,GAAG,KAAK,EAAE;CAWxD"}
|
package/dist/Fields.js
CHANGED
package/dist/Fields.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Fields.js","sourceRoot":"","sources":["../Fields.ts"],"names":[],"mappings":"AAGA,OAAO,
|
|
1
|
+
{"version":3,"file":"Fields.js","sourceRoot":"","sources":["../Fields.ts"],"names":[],"mappings":"AAGA,OAAO,cAAc,CAAC;AAEtB,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAKhC,MAAM,OAAO,MAAM;IACf,MAAM,CAAC,cAAc,CAAC,MAAmB,EAAE,KAAa,EAAE,SAAsB,EAAE,UAAmB,EAAE,WAA0B,EAAE,gBAA+B;QAC9J,IAAI,MAAM,GAAuB,IAAI,GAAG,EAAiB,CAAC;QAC1D,IAAI,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC;YAC3C,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACtD,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,gBAAgB,CAAC,CAAC,CAAC;QAC1F,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,MAAmB;QACvC,MAAM,MAAM,GAAY,EAAE,CAAC;QAC3B,IAAI,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC;YAC3C,MAAM,SAAS,GAAG,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAuB,CAAC;YACjF,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC;gBACtC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1B,CAAC;QACL,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DerivedType.d.ts","sourceRoot":"","sources":["../../DerivedType.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,qBAAa,WAAW;IACpB,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,WAAW;IAW5E,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM;IAIvC,MAAM,CAAC,kBAAkB,CAAC,UAAU,EAAE,WAAW,GAAG,WAAW,EAAE;CAGpE"}
|
|
1
|
+
{"version":3,"file":"DerivedType.d.ts","sourceRoot":"","sources":["../../DerivedType.ts"],"names":[],"mappings":"AAGA,OAAO,cAAc,CAAC;AACtB,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,qBAAa,WAAW;IACpB,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,WAAW;IAW5E,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM;IAIvC,MAAM,CAAC,kBAAkB,CAAC,UAAU,EAAE,WAAW,GAAG,WAAW,EAAE;CAGpE"}
|
package/dist/cjs/DerivedType.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DerivedType.js","sources":["../../DerivedType.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\nimport { Constructor } from './Constructor';\n\nexport class DerivedType {\n static set(target: Constructor, identifier: string, targetType?: Constructor) {\n Reflect.defineMetadata('derivedType', identifier, target);\n if (targetType) {\n const existing: Constructor[] = Reflect.getOwnMetadata('derivedTypes', targetType) ?? [];\n if (!existing.includes(target)) {\n existing.push(target);\n Reflect.defineMetadata('derivedTypes', existing, targetType);\n }\n }\n }\n\n static get(target: Constructor): string {\n return Reflect.getOwnMetadata('derivedType', target);\n }\n\n static getDerivedTypesFor(targetType: Constructor): Constructor[] {\n return Reflect.getOwnMetadata('derivedTypes', targetType) ?? [];\n }\n}\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DerivedType.js","sources":["../../DerivedType.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\nimport './reflection';\nimport { Constructor } from './Constructor';\n\nexport class DerivedType {\n static set(target: Constructor, identifier: string, targetType?: Constructor) {\n Reflect.defineMetadata('derivedType', identifier, target);\n if (targetType) {\n const existing: Constructor[] = Reflect.getOwnMetadata('derivedTypes', targetType) ?? [];\n if (!existing.includes(target)) {\n existing.push(target);\n Reflect.defineMetadata('derivedTypes', existing, targetType);\n }\n }\n }\n\n static get(target: Constructor): string {\n return Reflect.getOwnMetadata('derivedType', target);\n }\n\n static getDerivedTypesFor(targetType: Constructor): Constructor[] {\n return Reflect.getOwnMetadata('derivedTypes', targetType) ?? [];\n }\n}\n"],"names":[],"mappings":";;;;MAMa,WAAW,CAAA;AACpB,IAAA,OAAO,GAAG,CAAC,MAAmB,EAAE,UAAkB,EAAE,UAAwB,EAAA;QACxE,OAAO,CAAC,cAAc,CAAC,aAAa,EAAE,UAAU,EAAE,MAAM,CAAC;QACzD,IAAI,UAAU,EAAE;AACZ,YAAA,MAAM,QAAQ,GAAkB,OAAO,CAAC,cAAc,CAAC,cAAc,EAAE,UAAU,CAAC,IAAI,EAAE;YACxF,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;AAC5B,gBAAA,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;gBACrB,OAAO,CAAC,cAAc,CAAC,cAAc,EAAE,QAAQ,EAAE,UAAU,CAAC;YAChE;QACJ;IACJ;IAEA,OAAO,GAAG,CAAC,MAAmB,EAAA;QAC1B,OAAO,OAAO,CAAC,cAAc,CAAC,aAAa,EAAE,MAAM,CAAC;IACxD;IAEA,OAAO,kBAAkB,CAAC,UAAuB,EAAA;QAC7C,OAAO,OAAO,CAAC,cAAc,CAAC,cAAc,EAAE,UAAU,CAAC,IAAI,EAAE;IACnE;AACH;;;;"}
|
package/dist/cjs/Fields.d.ts
CHANGED
package/dist/cjs/Fields.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Fields.d.ts","sourceRoot":"","sources":["../../Fields.ts"],"names":[],"mappings":"AAGA,OAAO,
|
|
1
|
+
{"version":3,"file":"Fields.d.ts","sourceRoot":"","sources":["../../Fields.ts"],"names":[],"mappings":"AAGA,OAAO,cAAc,CAAC;AACtB,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAKhC,qBAAa,MAAM;IACf,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,EAAE,gBAAgB,EAAE,WAAW,EAAE;IASlK,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,WAAW,GAAG,KAAK,EAAE;CAWxD"}
|
package/dist/cjs/Fields.js
CHANGED
package/dist/cjs/Fields.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Fields.js","sources":["../../Fields.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\nimport '
|
|
1
|
+
{"version":3,"file":"Fields.js","sources":["../../Fields.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\nimport './reflection';\nimport { Constructor } from './Constructor';\nimport { Field } from './Field';\n\n/**\n * Represents a system working with fields on types.\n */\nexport class Fields {\n static addFieldToType(target: Constructor, field: string, fieldType: Constructor, enumerable: boolean, derivatives: Constructor[], genericArguments: Constructor[]) {\n let fields: Map<string, Field> = new Map<string, Field>();\n if (Reflect.hasOwnMetadata('fields', target)) {\n fields = Reflect.getOwnMetadata('fields', target);\n }\n fields.set(field, new Field(field, fieldType, enumerable, derivatives, genericArguments));\n Reflect.defineMetadata('fields', fields, target);\n }\n\n static getFieldsForType(target: Constructor): Field[] {\n const fields: Field[] = [];\n if (Reflect.hasOwnMetadata('fields', target)) {\n const fieldsMap = Reflect.getOwnMetadata('fields', target) as Map<string, Field>;\n for (const field of fieldsMap.entries()) {\n fields.push(field[1]);\n }\n }\n\n return fields;\n }\n}\n"],"names":["Field"],"mappings":";;;;;MAUa,MAAM,CAAA;AACf,IAAA,OAAO,cAAc,CAAC,MAAmB,EAAE,KAAa,EAAE,SAAsB,EAAE,UAAmB,EAAE,WAA0B,EAAE,gBAA+B,EAAA;AAC9J,QAAA,IAAI,MAAM,GAAuB,IAAI,GAAG,EAAiB;QACzD,IAAI,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE;YAC1C,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC;QACrD;AACA,QAAA,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,IAAIA,WAAK,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,gBAAgB,CAAC,CAAC;QACzF,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;IACpD;IAEA,OAAO,gBAAgB,CAAC,MAAmB,EAAA;QACvC,MAAM,MAAM,GAAY,EAAE;QAC1B,IAAI,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE;YAC1C,MAAM,SAAS,GAAG,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAuB;YAChF,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,OAAO,EAAE,EAAE;gBACrC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACzB;QACJ;AAEA,QAAA,OAAO,MAAM;IACjB;AACH;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"derivedTypeDecorator.d.ts","sourceRoot":"","sources":["../../derivedTypeDecorator.ts"],"names":[],"mappings":"AAGA,OAAO,
|
|
1
|
+
{"version":3,"file":"derivedTypeDecorator.d.ts","sourceRoot":"","sources":["../../derivedTypeDecorator.ts"],"names":[],"mappings":"AAGA,OAAO,cAAc,CAAC;AACtB,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAM5C,wBAAgB,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,WAAW,IACnD,QAAQ,GAAG,UAY/B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"derivedTypeDecorator.js","sources":["../../derivedTypeDecorator.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\nimport '
|
|
1
|
+
{"version":3,"file":"derivedTypeDecorator.js","sources":["../../derivedTypeDecorator.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\nimport './reflection';\nimport { Constructor } from './Constructor';\nimport { DerivedType } from './DerivedType';\n\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nexport function derivedType(identifier: string, targetType?: Constructor) {\n return function (target: any) {\n DerivedType.set(target, identifier, targetType);\n\n // Auto-register with every class in the prototype chain so that JsonSerializer\n // can discover all derived types via DerivedType.getDerivedTypesFor() at runtime,\n // without requiring the parent type to import each subtype (which causes circular deps).\n let proto = Object.getPrototypeOf(target.prototype);\n while (proto && proto.constructor && proto.constructor !== Object) {\n DerivedType.set(target, identifier, proto.constructor);\n proto = Object.getPrototypeOf(proto);\n }\n };\n}\n"],"names":["DerivedType"],"mappings":";;;;;AAUM,SAAU,WAAW,CAAC,UAAkB,EAAE,UAAwB,EAAA;AACpE,IAAA,OAAO,UAAU,MAAW,EAAA;QACxBA,uBAAW,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,CAAC;QAK/C,IAAI,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC;AACnD,QAAA,OAAO,KAAK,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,KAAK,MAAM,EAAE;YAC/DA,uBAAW,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC,WAAW,CAAC;AACtD,YAAA,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC;QACxC;AACJ,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;
|
|
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"}
|
|
@@ -11,13 +11,10 @@ class PointJsonConverter extends JsonConverter.JsonConverter {
|
|
|
11
11
|
if (value === null || value === undefined) {
|
|
12
12
|
throw new Error('Cannot deserialize null or undefined to Point');
|
|
13
13
|
}
|
|
14
|
-
if (value.type
|
|
15
|
-
|
|
14
|
+
if (value.type !== 'Point' || !value.coordinates || value.coordinates.length !== 2) {
|
|
15
|
+
throw new Error('Cannot deserialize Point: invalid GeoJSON format');
|
|
16
16
|
}
|
|
17
|
-
|
|
18
|
-
return new Point.Point(value.longitude, value.latitude);
|
|
19
|
-
}
|
|
20
|
-
throw new Error('Cannot deserialize Point: expected GeoJSON format { type, coordinates } or { longitude, latitude }');
|
|
17
|
+
return new Point.Point(value.coordinates[0], value.coordinates[1]);
|
|
21
18
|
}
|
|
22
19
|
write(value) {
|
|
23
20
|
return value?.toJSON() ?? null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PointJsonConverter.js","sources":["../../../json/PointJsonConverter.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\nimport { Constructor } from '../Constructor';\nimport { Point } from '../geospatial';\nimport { JsonConverter } from './JsonConverter';\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\n/**\n * JSON converter for Point type (GeoJSON format).\n */\nexport class PointJsonConverter extends JsonConverter<Point> {\n /** @inheritdoc */\n get type(): Constructor<Point> {\n return Point;\n }\n\n /** @inheritdoc */\n read(value: any): Point {\n if (value === null || value === undefined) {\n throw new Error('Cannot deserialize null or undefined to Point');\n }\n if (value.type
|
|
1
|
+
{"version":3,"file":"PointJsonConverter.js","sources":["../../../json/PointJsonConverter.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\nimport { Constructor } from '../Constructor';\nimport { Point } from '../geospatial';\nimport { JsonConverter } from './JsonConverter';\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\n/**\n * JSON converter for Point type (GeoJSON format).\n */\nexport class PointJsonConverter extends JsonConverter<Point> {\n /** @inheritdoc */\n get type(): Constructor<Point> {\n return Point;\n }\n\n /** @inheritdoc */\n read(value: any): Point {\n if (value === null || value === undefined) {\n throw new Error('Cannot deserialize null or undefined to Point');\n }\n if (value.type !== 'Point' || !value.coordinates || value.coordinates.length !== 2) {\n throw new Error('Cannot deserialize Point: invalid GeoJSON format');\n }\n return new Point(value.coordinates[0], value.coordinates[1]);\n }\n\n /** @inheritdoc */\n write(value: any): any {\n return value?.toJSON() ?? null;\n }\n}\n"],"names":["JsonConverter","Point"],"mappings":";;;;;AAYM,MAAO,kBAAmB,SAAQA,2BAAoB,CAAA;AAExD,IAAA,IAAI,IAAI,GAAA;AACJ,QAAA,OAAOC,WAAK;IAChB;AAGA,IAAA,IAAI,CAAC,KAAU,EAAA;QACX,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE;AACvC,YAAA,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC;QACpE;AACA,QAAA,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;AAChF,YAAA,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC;QACvE;AACA,QAAA,OAAO,IAAIA,WAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAChE;AAGA,IAAA,KAAK,CAAC,KAAU,EAAA;AACZ,QAAA,OAAO,KAAK,EAAE,MAAM,EAAE,IAAI,IAAI;IAClC;AACH;;;;"}
|
|
@@ -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,96 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
if (typeof Reflect.defineMetadata !== 'function' || typeof Reflect.getOwnMetadata !== 'function') {
|
|
4
|
+
const metadataMap = new WeakMap();
|
|
5
|
+
const propertyMetadataMap = new WeakMap();
|
|
6
|
+
function getMetadataStore(target, propertyKey) {
|
|
7
|
+
if (propertyKey != null) {
|
|
8
|
+
let propMap = propertyMetadataMap.get(target);
|
|
9
|
+
if (!propMap) {
|
|
10
|
+
propMap = new Map();
|
|
11
|
+
propertyMetadataMap.set(target, propMap);
|
|
12
|
+
}
|
|
13
|
+
if (!propMap.has(propertyKey)) {
|
|
14
|
+
propMap.set(propertyKey, new Map());
|
|
15
|
+
}
|
|
16
|
+
return propMap.get(propertyKey);
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
if (!metadataMap.has(target)) {
|
|
20
|
+
metadataMap.set(target, new Map());
|
|
21
|
+
}
|
|
22
|
+
return metadataMap.get(target);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
function getMetadataStoreIfExists(target, propertyKey) {
|
|
26
|
+
if (propertyKey != null) {
|
|
27
|
+
const propMap = propertyMetadataMap.get(target);
|
|
28
|
+
return propMap?.get(propertyKey);
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
return metadataMap.get(target);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
Reflect.defineMetadata = function (metadataKey, metadataValue, target, propertyKey) {
|
|
35
|
+
const store = getMetadataStore(target, propertyKey);
|
|
36
|
+
store.set(metadataKey, metadataValue);
|
|
37
|
+
};
|
|
38
|
+
Reflect.getMetadata = function (metadataKey, target, propertyKey) {
|
|
39
|
+
let currentTarget = target;
|
|
40
|
+
while (currentTarget !== null && currentTarget !== undefined) {
|
|
41
|
+
const store = getMetadataStoreIfExists(currentTarget, propertyKey);
|
|
42
|
+
if (store && store.has(metadataKey)) {
|
|
43
|
+
return store.get(metadataKey);
|
|
44
|
+
}
|
|
45
|
+
currentTarget = Object.getPrototypeOf(currentTarget);
|
|
46
|
+
}
|
|
47
|
+
return undefined;
|
|
48
|
+
};
|
|
49
|
+
Reflect.getOwnMetadata = function (metadataKey, target, propertyKey) {
|
|
50
|
+
const store = getMetadataStoreIfExists(target, propertyKey);
|
|
51
|
+
return store?.get(metadataKey);
|
|
52
|
+
};
|
|
53
|
+
Reflect.hasMetadata = function (metadataKey, target, propertyKey) {
|
|
54
|
+
let currentTarget = target;
|
|
55
|
+
while (currentTarget !== null && currentTarget !== undefined) {
|
|
56
|
+
const store = getMetadataStoreIfExists(currentTarget, propertyKey);
|
|
57
|
+
if (store && store.has(metadataKey)) {
|
|
58
|
+
return true;
|
|
59
|
+
}
|
|
60
|
+
currentTarget = Object.getPrototypeOf(currentTarget);
|
|
61
|
+
}
|
|
62
|
+
return false;
|
|
63
|
+
};
|
|
64
|
+
Reflect.hasOwnMetadata = function (metadataKey, target, propertyKey) {
|
|
65
|
+
const store = getMetadataStoreIfExists(target, propertyKey);
|
|
66
|
+
return store ? store.has(metadataKey) : false;
|
|
67
|
+
};
|
|
68
|
+
Reflect.getMetadataKeys = function (target, propertyKey) {
|
|
69
|
+
const keys = new Set();
|
|
70
|
+
let currentTarget = target;
|
|
71
|
+
while (currentTarget !== null && currentTarget !== undefined) {
|
|
72
|
+
const store = getMetadataStoreIfExists(currentTarget, propertyKey);
|
|
73
|
+
if (store) {
|
|
74
|
+
for (const key of store.keys()) {
|
|
75
|
+
keys.add(key);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
currentTarget = Object.getPrototypeOf(currentTarget);
|
|
79
|
+
}
|
|
80
|
+
return Array.from(keys);
|
|
81
|
+
};
|
|
82
|
+
Reflect.getOwnMetadataKeys = function (target, propertyKey) {
|
|
83
|
+
const store = getMetadataStoreIfExists(target, propertyKey);
|
|
84
|
+
return store ? Array.from(store.keys()) : [];
|
|
85
|
+
};
|
|
86
|
+
Reflect.deleteMetadata = function (metadataKey, target, propertyKey) {
|
|
87
|
+
const store = getMetadataStoreIfExists(target, propertyKey);
|
|
88
|
+
return store ? store.delete(metadataKey) : false;
|
|
89
|
+
};
|
|
90
|
+
Reflect.metadata = function (metadataKey, metadataValue) {
|
|
91
|
+
return function (target, propertyKey) {
|
|
92
|
+
Reflect.defineMetadata(metadataKey, metadataValue, target, propertyKey);
|
|
93
|
+
};
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
//# 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":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"derivedTypeDecorator.d.ts","sourceRoot":"","sources":["../derivedTypeDecorator.ts"],"names":[],"mappings":"AAGA,OAAO,
|
|
1
|
+
{"version":3,"file":"derivedTypeDecorator.d.ts","sourceRoot":"","sources":["../derivedTypeDecorator.ts"],"names":[],"mappings":"AAGA,OAAO,cAAc,CAAC;AACtB,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAM5C,wBAAgB,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,WAAW,IACnD,QAAQ,GAAG,UAY/B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"derivedTypeDecorator.js","sourceRoot":"","sources":["../derivedTypeDecorator.ts"],"names":[],"mappings":"AAGA,OAAO,
|
|
1
|
+
{"version":3,"file":"derivedTypeDecorator.js","sourceRoot":"","sources":["../derivedTypeDecorator.ts"],"names":[],"mappings":"AAGA,OAAO,cAAc,CAAC;AAEtB,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAK5C,MAAM,UAAU,WAAW,CAAC,UAAkB,EAAE,UAAwB;IACpE,OAAO,UAAU,MAAW;QACxB,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;QAKhD,IAAI,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACpD,OAAO,KAAK,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,KAAK,MAAM,EAAE,CAAC;YAChE,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;YACvD,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACzC,CAAC;IACL,CAAC,CAAC;AACN,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DerivedType.d.ts","sourceRoot":"","sources":["../../DerivedType.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,qBAAa,WAAW;IACpB,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,WAAW;IAW5E,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM;IAIvC,MAAM,CAAC,kBAAkB,CAAC,UAAU,EAAE,WAAW,GAAG,WAAW,EAAE;CAGpE"}
|
|
1
|
+
{"version":3,"file":"DerivedType.d.ts","sourceRoot":"","sources":["../../DerivedType.ts"],"names":[],"mappings":"AAGA,OAAO,cAAc,CAAC;AACtB,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,qBAAa,WAAW;IACpB,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,WAAW;IAW5E,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM;IAIvC,MAAM,CAAC,kBAAkB,CAAC,UAAU,EAAE,WAAW,GAAG,WAAW,EAAE;CAGpE"}
|
package/dist/esm/DerivedType.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DerivedType.js","sources":["../../DerivedType.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\nimport { Constructor } from './Constructor';\n\nexport class DerivedType {\n static set(target: Constructor, identifier: string, targetType?: Constructor) {\n Reflect.defineMetadata('derivedType', identifier, target);\n if (targetType) {\n const existing: Constructor[] = Reflect.getOwnMetadata('derivedTypes', targetType) ?? [];\n if (!existing.includes(target)) {\n existing.push(target);\n Reflect.defineMetadata('derivedTypes', existing, targetType);\n }\n }\n }\n\n static get(target: Constructor): string {\n return Reflect.getOwnMetadata('derivedType', target);\n }\n\n static getDerivedTypesFor(targetType: Constructor): Constructor[] {\n return Reflect.getOwnMetadata('derivedTypes', targetType) ?? [];\n }\n}\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DerivedType.js","sources":["../../DerivedType.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\nimport './reflection';\nimport { Constructor } from './Constructor';\n\nexport class DerivedType {\n static set(target: Constructor, identifier: string, targetType?: Constructor) {\n Reflect.defineMetadata('derivedType', identifier, target);\n if (targetType) {\n const existing: Constructor[] = Reflect.getOwnMetadata('derivedTypes', targetType) ?? [];\n if (!existing.includes(target)) {\n existing.push(target);\n Reflect.defineMetadata('derivedTypes', existing, targetType);\n }\n }\n }\n\n static get(target: Constructor): string {\n return Reflect.getOwnMetadata('derivedType', target);\n }\n\n static getDerivedTypesFor(targetType: Constructor): Constructor[] {\n return Reflect.getOwnMetadata('derivedTypes', targetType) ?? [];\n }\n}\n"],"names":[],"mappings":";;MAMa,WAAW,CAAA;AACpB,IAAA,OAAO,GAAG,CAAC,MAAmB,EAAE,UAAkB,EAAE,UAAwB,EAAA;QACxE,OAAO,CAAC,cAAc,CAAC,aAAa,EAAE,UAAU,EAAE,MAAM,CAAC;QACzD,IAAI,UAAU,EAAE;AACZ,YAAA,MAAM,QAAQ,GAAkB,OAAO,CAAC,cAAc,CAAC,cAAc,EAAE,UAAU,CAAC,IAAI,EAAE;YACxF,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;AAC5B,gBAAA,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;gBACrB,OAAO,CAAC,cAAc,CAAC,cAAc,EAAE,QAAQ,EAAE,UAAU,CAAC;YAChE;QACJ;IACJ;IAEA,OAAO,GAAG,CAAC,MAAmB,EAAA;QAC1B,OAAO,OAAO,CAAC,cAAc,CAAC,aAAa,EAAE,MAAM,CAAC;IACxD;IAEA,OAAO,kBAAkB,CAAC,UAAuB,EAAA;QAC7C,OAAO,OAAO,CAAC,cAAc,CAAC,cAAc,EAAE,UAAU,CAAC,IAAI,EAAE;IACnE;AACH;;;;"}
|
package/dist/esm/Fields.d.ts
CHANGED
package/dist/esm/Fields.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Fields.d.ts","sourceRoot":"","sources":["../../Fields.ts"],"names":[],"mappings":"AAGA,OAAO,
|
|
1
|
+
{"version":3,"file":"Fields.d.ts","sourceRoot":"","sources":["../../Fields.ts"],"names":[],"mappings":"AAGA,OAAO,cAAc,CAAC;AACtB,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAKhC,qBAAa,MAAM;IACf,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,EAAE,gBAAgB,EAAE,WAAW,EAAE;IASlK,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,WAAW,GAAG,KAAK,EAAE;CAWxD"}
|
package/dist/esm/Fields.js
CHANGED
package/dist/esm/Fields.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Fields.js","sources":["../../Fields.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\nimport '
|
|
1
|
+
{"version":3,"file":"Fields.js","sources":["../../Fields.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\nimport './reflection';\nimport { Constructor } from './Constructor';\nimport { Field } from './Field';\n\n/**\n * Represents a system working with fields on types.\n */\nexport class Fields {\n static addFieldToType(target: Constructor, field: string, fieldType: Constructor, enumerable: boolean, derivatives: Constructor[], genericArguments: Constructor[]) {\n let fields: Map<string, Field> = new Map<string, Field>();\n if (Reflect.hasOwnMetadata('fields', target)) {\n fields = Reflect.getOwnMetadata('fields', target);\n }\n fields.set(field, new Field(field, fieldType, enumerable, derivatives, genericArguments));\n Reflect.defineMetadata('fields', fields, target);\n }\n\n static getFieldsForType(target: Constructor): Field[] {\n const fields: Field[] = [];\n if (Reflect.hasOwnMetadata('fields', target)) {\n const fieldsMap = Reflect.getOwnMetadata('fields', target) as Map<string, Field>;\n for (const field of fieldsMap.entries()) {\n fields.push(field[1]);\n }\n }\n\n return fields;\n }\n}\n"],"names":[],"mappings":";;;MAUa,MAAM,CAAA;AACf,IAAA,OAAO,cAAc,CAAC,MAAmB,EAAE,KAAa,EAAE,SAAsB,EAAE,UAAmB,EAAE,WAA0B,EAAE,gBAA+B,EAAA;AAC9J,QAAA,IAAI,MAAM,GAAuB,IAAI,GAAG,EAAiB;QACzD,IAAI,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE;YAC1C,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC;QACrD;AACA,QAAA,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,gBAAgB,CAAC,CAAC;QACzF,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;IACpD;IAEA,OAAO,gBAAgB,CAAC,MAAmB,EAAA;QACvC,MAAM,MAAM,GAAY,EAAE;QAC1B,IAAI,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE;YAC1C,MAAM,SAAS,GAAG,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAuB;YAChF,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,OAAO,EAAE,EAAE;gBACrC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACzB;QACJ;AAEA,QAAA,OAAO,MAAM;IACjB;AACH;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"derivedTypeDecorator.d.ts","sourceRoot":"","sources":["../../derivedTypeDecorator.ts"],"names":[],"mappings":"AAGA,OAAO,
|
|
1
|
+
{"version":3,"file":"derivedTypeDecorator.d.ts","sourceRoot":"","sources":["../../derivedTypeDecorator.ts"],"names":[],"mappings":"AAGA,OAAO,cAAc,CAAC;AACtB,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAM5C,wBAAgB,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,WAAW,IACnD,QAAQ,GAAG,UAY/B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"derivedTypeDecorator.js","sources":["../../derivedTypeDecorator.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\nimport '
|
|
1
|
+
{"version":3,"file":"derivedTypeDecorator.js","sources":["../../derivedTypeDecorator.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\nimport './reflection';\nimport { Constructor } from './Constructor';\nimport { DerivedType } from './DerivedType';\n\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nexport function derivedType(identifier: string, targetType?: Constructor) {\n return function (target: any) {\n DerivedType.set(target, identifier, targetType);\n\n // Auto-register with every class in the prototype chain so that JsonSerializer\n // can discover all derived types via DerivedType.getDerivedTypesFor() at runtime,\n // without requiring the parent type to import each subtype (which causes circular deps).\n let proto = Object.getPrototypeOf(target.prototype);\n while (proto && proto.constructor && proto.constructor !== Object) {\n DerivedType.set(target, identifier, proto.constructor);\n proto = Object.getPrototypeOf(proto);\n }\n };\n}\n"],"names":[],"mappings":";;;AAUM,SAAU,WAAW,CAAC,UAAkB,EAAE,UAAwB,EAAA;AACpE,IAAA,OAAO,UAAU,MAAW,EAAA;QACxB,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,CAAC;QAK/C,IAAI,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC;AACnD,QAAA,OAAO,KAAK,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,KAAK,MAAM,EAAE;YAC/D,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC,WAAW,CAAC;AACtD,YAAA,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC;QACxC;AACJ,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;
|
|
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"}
|
|
@@ -9,13 +9,10 @@ class PointJsonConverter extends JsonConverter {
|
|
|
9
9
|
if (value === null || value === undefined) {
|
|
10
10
|
throw new Error('Cannot deserialize null or undefined to Point');
|
|
11
11
|
}
|
|
12
|
-
if (value.type
|
|
13
|
-
|
|
12
|
+
if (value.type !== 'Point' || !value.coordinates || value.coordinates.length !== 2) {
|
|
13
|
+
throw new Error('Cannot deserialize Point: invalid GeoJSON format');
|
|
14
14
|
}
|
|
15
|
-
|
|
16
|
-
return new Point(value.longitude, value.latitude);
|
|
17
|
-
}
|
|
18
|
-
throw new Error('Cannot deserialize Point: expected GeoJSON format { type, coordinates } or { longitude, latitude }');
|
|
15
|
+
return new Point(value.coordinates[0], value.coordinates[1]);
|
|
19
16
|
}
|
|
20
17
|
write(value) {
|
|
21
18
|
return value?.toJSON() ?? null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PointJsonConverter.js","sources":["../../../json/PointJsonConverter.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\nimport { Constructor } from '../Constructor';\nimport { Point } from '../geospatial';\nimport { JsonConverter } from './JsonConverter';\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\n/**\n * JSON converter for Point type (GeoJSON format).\n */\nexport class PointJsonConverter extends JsonConverter<Point> {\n /** @inheritdoc */\n get type(): Constructor<Point> {\n return Point;\n }\n\n /** @inheritdoc */\n read(value: any): Point {\n if (value === null || value === undefined) {\n throw new Error('Cannot deserialize null or undefined to Point');\n }\n if (value.type
|
|
1
|
+
{"version":3,"file":"PointJsonConverter.js","sources":["../../../json/PointJsonConverter.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\nimport { Constructor } from '../Constructor';\nimport { Point } from '../geospatial';\nimport { JsonConverter } from './JsonConverter';\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\n/**\n * JSON converter for Point type (GeoJSON format).\n */\nexport class PointJsonConverter extends JsonConverter<Point> {\n /** @inheritdoc */\n get type(): Constructor<Point> {\n return Point;\n }\n\n /** @inheritdoc */\n read(value: any): Point {\n if (value === null || value === undefined) {\n throw new Error('Cannot deserialize null or undefined to Point');\n }\n if (value.type !== 'Point' || !value.coordinates || value.coordinates.length !== 2) {\n throw new Error('Cannot deserialize Point: invalid GeoJSON format');\n }\n return new Point(value.coordinates[0], value.coordinates[1]);\n }\n\n /** @inheritdoc */\n write(value: any): any {\n return value?.toJSON() ?? null;\n }\n}\n"],"names":[],"mappings":";;;AAYM,MAAO,kBAAmB,SAAQ,aAAoB,CAAA;AAExD,IAAA,IAAI,IAAI,GAAA;AACJ,QAAA,OAAO,KAAK;IAChB;AAGA,IAAA,IAAI,CAAC,KAAU,EAAA;QACX,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE;AACvC,YAAA,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC;QACpE;AACA,QAAA,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;AAChF,YAAA,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC;QACvE;AACA,QAAA,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAChE;AAGA,IAAA,KAAK,CAAC,KAAU,EAAA;AACZ,QAAA,OAAO,KAAK,EAAE,MAAM,EAAE,IAAI,IAAI;IAClC;AACH;;;;"}
|
|
@@ -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"}
|