@routier/core 0.0.1-alpha.1 → 0.0.1-alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assertions/index.d.ts +5 -0
- package/dist/assertions/index.js +131 -0
- package/dist/assertions/index.js.map +1 -0
- package/dist/codegen/SlotPath.d.ts +7 -0
- package/dist/codegen/blocks.d.ts +130 -0
- package/dist/codegen/handlers/CloneHandlerBuilder.d.ts +4 -0
- package/dist/codegen/handlers/CompareHandlerBuilder.d.ts +4 -0
- package/dist/codegen/handlers/DeserializeHandlerBuilder.d.ts +4 -0
- package/dist/codegen/handlers/EnableChangeTrackingHandlerBuilder.d.ts +4 -0
- package/dist/codegen/handlers/EnrichmentHandlerBuilder.d.ts +4 -0
- package/dist/codegen/handlers/FreezeHandlerBuilder.d.ts +4 -0
- package/dist/codegen/handlers/HashHandlerBuilder.d.ts +4 -0
- package/dist/codegen/handlers/HashTypeHandlerBuilder.d.ts +4 -0
- package/dist/codegen/handlers/IdSelectorHandlerBuilder.d.ts +4 -0
- package/dist/codegen/handlers/MergeHandlerBuilder.d.ts +4 -0
- package/dist/codegen/handlers/PrepareHandlerBuilder.d.ts +4 -0
- package/dist/codegen/handlers/SerializeHandlerBuilder.d.ts +4 -0
- package/dist/codegen/handlers/StripHandlerBuilder.d.ts +4 -0
- package/dist/codegen/handlers/clone/CloneObjectHandler.d.ts +6 -0
- package/dist/codegen/handlers/clone/CloneValueHandler.d.ts +6 -0
- package/dist/codegen/handlers/compare/CompareObjectHandler.d.ts +6 -0
- package/dist/codegen/handlers/compare/CompareValueHandler.d.ts +6 -0
- package/dist/codegen/handlers/deserialize/DeserializeComputedValueHandler.d.ts +6 -0
- package/dist/codegen/handlers/deserialize/DeserializeDateHandler.d.ts +9 -0
- package/dist/codegen/handlers/deserialize/DeserializeFunctionHandler.d.ts +6 -0
- package/dist/codegen/handlers/deserialize/DeserializeObjectHandler.d.ts +6 -0
- package/dist/codegen/handlers/deserialize/DeserializeValueHandler.d.ts +6 -0
- package/dist/codegen/handlers/enableChangeTracking/EnableChangeTrackingObjectHandler.d.ts +6 -0
- package/dist/codegen/handlers/enableChangeTracking/EnableChangeTrackingPrimitiveValueHandler.d.ts +6 -0
- package/dist/codegen/handlers/enrichment/EnrichmentComputedValueHandler.d.ts +6 -0
- package/dist/codegen/handlers/enrichment/EnrichmentDefaultFunctionHandler.d.ts +6 -0
- package/dist/codegen/handlers/enrichment/EnrichmentDefaultValueHandler.d.ts +6 -0
- package/dist/codegen/handlers/enrichment/EnrichmentFunctionHandler.d.ts +6 -0
- package/dist/codegen/handlers/enrichment/EnrichmentNullableObjectHandler.d.ts +6 -0
- package/dist/codegen/handlers/enrichment/EnrichmentObjectHandler.d.ts +6 -0
- package/dist/codegen/handlers/enrichment/EnrichmentObjectIdentityHandler.d.ts +6 -0
- package/dist/codegen/handlers/enrichment/EnrichmentPrimitiveHandler.d.ts +6 -0
- package/dist/codegen/handlers/enrichment/EnrichmentPrimitiveIdentityHandler.d.ts +6 -0
- package/dist/codegen/handlers/freeze/FreezeObjectHandler.d.ts +6 -0
- package/dist/codegen/handlers/freeze/FreezePrimitiveValueHandler.d.ts +6 -0
- package/dist/codegen/handlers/hash/HashComputedValueHandler.d.ts +6 -0
- package/dist/codegen/handlers/hash/HashDateHandler.d.ts +6 -0
- package/dist/codegen/handlers/hash/HashFunctionHandler.d.ts +6 -0
- package/dist/codegen/handlers/hash/HashIdentityHandler.d.ts +6 -0
- package/dist/codegen/handlers/hash/HashKeyHandler.d.ts +6 -0
- package/dist/codegen/handlers/hash/HashValueHandler.d.ts +6 -0
- package/dist/codegen/handlers/hashType/HashTypeValueHandler.d.ts +6 -0
- package/dist/codegen/handlers/idSelector/IdSelectorValueHandler.d.ts +6 -0
- package/{src/codegen/handlers/index.ts → dist/codegen/handlers/index.d.ts} +1 -1
- package/dist/codegen/handlers/merge/MergeComputedValueHandler.d.ts +6 -0
- package/dist/codegen/handlers/merge/MergeDefaultFunctionHandler.d.ts +6 -0
- package/dist/codegen/handlers/merge/MergeDefaultValueHandler.d.ts +6 -0
- package/dist/codegen/handlers/merge/MergeFunctionHandler.d.ts +6 -0
- package/dist/codegen/handlers/merge/MergePrimitiveHandler.d.ts +6 -0
- package/dist/codegen/handlers/prepare/PrepareComputedValueHandler.d.ts +6 -0
- package/dist/codegen/handlers/prepare/PrepareFunctionHandler.d.ts +6 -0
- package/dist/codegen/handlers/prepare/PrepareIdentityHandler.d.ts +6 -0
- package/dist/codegen/handlers/prepare/PrepareKeyHandler.d.ts +6 -0
- package/dist/codegen/handlers/prepare/PrepareObjectHandler.d.ts +6 -0
- package/dist/codegen/handlers/prepare/PrepareValueHandler.d.ts +6 -0
- package/dist/codegen/handlers/serialize/SerializeDateHandler.d.ts +9 -0
- package/dist/codegen/handlers/serialize/SerializeObjectHandler.d.ts +6 -0
- package/dist/codegen/handlers/serialize/SerializeValueHandler.d.ts +6 -0
- package/dist/codegen/handlers/strip/StripIdentityHandler.d.ts +6 -0
- package/dist/codegen/handlers/strip/StripKeyHandler.d.ts +6 -0
- package/dist/codegen/handlers/strip/StripObjectHandler.d.ts +6 -0
- package/dist/codegen/handlers/strip/StripValueHandler.d.ts +6 -0
- package/dist/codegen/handlers/types.d.ts +18 -0
- package/{src/codegen/index.ts → dist/codegen/index.d.ts} +1 -1
- package/dist/codegen/types.d.ts +9 -0
- package/dist/codegen/utils.d.ts +22 -0
- package/dist/collections/Changes.d.ts +51 -0
- package/dist/collections/Changes.test.d.ts +1 -0
- package/dist/collections/IdSet.d.ts +7 -0
- package/dist/collections/MemoryDataCollection.d.ts +22 -0
- package/dist/collections/MemoryDataCollection.test.d.ts +1 -0
- package/dist/collections/SchemaCollection.d.ts +8 -0
- package/dist/collections/TagCollection.d.ts +15 -0
- package/dist/collections/TagCollection.test.d.ts +1 -0
- package/{src/collections/index.ts → dist/collections/index.d.ts} +1 -1
- package/dist/collections/index.js +659 -0
- package/dist/collections/index.js.map +1 -0
- package/dist/errors/SchemaError.d.ts +3 -0
- package/dist/errors/index.d.ts +1 -0
- package/dist/errors/index.js +90 -0
- package/dist/errors/index.js.map +1 -0
- package/{src/expressions/index.ts → dist/expressions/index.d.ts} +1 -1
- package/{src/expressions/parser.ts → dist/expressions/index.js} +387 -205
- package/dist/expressions/index.js.map +1 -0
- package/dist/expressions/parser.d.ts +4 -0
- package/dist/expressions/parser.test.d.ts +1 -0
- package/{src/expressions/types.ts → dist/expressions/types.d.ts} +42 -99
- package/dist/expressions/utils.d.ts +10 -0
- package/dist/expressions/utils.test.d.ts +1 -0
- package/{src/index.ts → dist/index.d.ts} +1 -1
- package/dist/index.js +8434 -0
- package/dist/index.js.map +1 -0
- package/dist/performance/index.d.ts +5 -0
- package/dist/performance/index.js +65 -0
- package/dist/performance/index.js.map +1 -0
- package/dist/pipeline/SyncronousQueue.d.ts +7 -0
- package/dist/pipeline/SyncronousQueue.test.d.ts +1 -0
- package/dist/pipeline/TrampolinePipeline.d.ts +36 -0
- package/dist/pipeline/TrampolinePipeline.test.d.ts +1 -0
- package/dist/pipeline/index.d.ts +2 -0
- package/{src/pipeline/TrampolinePipeline.ts → dist/pipeline/index.js} +297 -140
- package/dist/pipeline/index.js.map +1 -0
- package/dist/plugins/EphemeralDataPlugin.d.ts +13 -0
- package/dist/plugins/capabilities/DbPluginCapability.d.ts +23 -0
- package/{src/plugins/capabilities/index.ts → dist/plugins/capabilities/index.d.ts} +1 -1
- package/dist/plugins/capabilities/logging/DbPluginLoggingCapability.d.ts +28 -0
- package/dist/plugins/capabilities/logging/index.d.ts +1 -0
- package/{src/plugins/index.ts → dist/plugins/index.d.ts} +1 -1
- package/dist/plugins/index.js +2328 -0
- package/dist/plugins/index.js.map +1 -0
- package/dist/plugins/query/Query.d.ts +13 -0
- package/dist/plugins/query/QueryOptionsCollection.d.ts +27 -0
- package/dist/plugins/query/QueryOptionsCollection.test.d.ts +1 -0
- package/{src/plugins/query/index.ts → dist/plugins/query/index.d.ts} +1 -1
- package/{src/plugins/query/types.ts → dist/plugins/query/types.d.ts} +29 -20
- package/dist/plugins/replication/OptimisticReplicationDbPlugin.d.ts +21 -0
- package/dist/plugins/replication/ReplicationDbPlugin.d.ts +21 -0
- package/{src/plugins/replication/index.ts → dist/plugins/replication/index.d.ts} +1 -1
- package/{src/plugins/replication/types.ts → dist/plugins/replication/types.d.ts} +1 -2
- package/dist/plugins/translators/DataTranslator.d.ts +18 -0
- package/dist/plugins/translators/JsonTranslator.d.ts +17 -0
- package/dist/plugins/translators/JsonTranslator.test.d.ts +1 -0
- package/dist/plugins/translators/SqlTranslator.d.ts +14 -0
- package/{src/plugins/translators/index.ts → dist/plugins/translators/index.d.ts} +1 -1
- package/{src/plugins/types.ts → dist/plugins/types.d.ts} +11 -26
- package/dist/results/Result.d.ts +29 -0
- package/{src/results/index.ts → dist/results/index.d.ts} +1 -1
- package/dist/results/index.js +192 -0
- package/dist/results/index.js.map +1 -0
- package/{src/results/types.ts → dist/results/types.d.ts} +18 -7
- package/dist/results/utils.d.ts +2 -0
- package/dist/schema/PropertyInfo.d.ts +132 -0
- package/dist/schema/PropertyInfo.test.d.ts +1 -0
- package/dist/schema/SchemaDefinition.d.ts +17 -0
- package/dist/schema/builder.d.ts +17 -0
- package/{src/schema/index.ts → dist/schema/index.d.ts} +1 -1
- package/dist/schema/index.js +4822 -0
- package/dist/schema/index.js.map +1 -0
- package/dist/schema/property/base/SchemaBase.d.ts +23 -0
- package/dist/schema/property/base/index.d.ts +1 -0
- package/dist/schema/property/modifiers/SchemaDefault.d.ts +13 -0
- package/dist/schema/property/modifiers/SchemaDeserialize.d.ts +11 -0
- package/dist/schema/property/modifiers/SchemaDistinct.d.ts +7 -0
- package/dist/schema/property/modifiers/SchemaFrom.d.ts +23 -0
- package/dist/schema/property/modifiers/SchemaIdentity.d.ts +7 -0
- package/dist/schema/property/modifiers/SchemaIndex.d.ts +23 -0
- package/dist/schema/property/modifiers/SchemaKey.d.ts +13 -0
- package/dist/schema/property/modifiers/SchemaNullable.d.ts +9 -0
- package/dist/schema/property/modifiers/SchemaOptional.d.ts +9 -0
- package/dist/schema/property/modifiers/SchemaReadonly.d.ts +15 -0
- package/dist/schema/property/modifiers/SchemaSerialize.d.ts +9 -0
- package/dist/schema/property/modifiers/SchemaTracked.d.ts +7 -0
- package/{src/schema/property/modifiers/index.ts → dist/schema/property/modifiers/index.d.ts} +1 -1
- package/dist/schema/property/types/SchemaArray.d.ts +23 -0
- package/dist/schema/property/types/SchemaBoolean.d.ts +27 -0
- package/dist/schema/property/types/SchemaDate.d.ts +27 -0
- package/dist/schema/property/types/SchemaNumber.d.ts +31 -0
- package/dist/schema/property/types/SchemaObject.d.ts +20 -0
- package/dist/schema/property/types/SchemaString.d.ts +31 -0
- package/{src/schema/property/types/index.ts → dist/schema/property/types/index.d.ts} +1 -1
- package/dist/schema/table/SchemaComputed.d.ts +10 -0
- package/dist/schema/table/SchemaFunction.d.ts +8 -0
- package/{src/schema/table/index.ts → dist/schema/table/index.d.ts} +1 -1
- package/{src/schema/types.ts → dist/schema/types.d.ts} +59 -99
- package/{src/types/index.ts → dist/types/index.d.ts} +1 -2
- package/dist/types/index.js +25 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utilities/arrays.d.ts +1 -0
- package/dist/utilities/arrays.test.d.ts +1 -0
- package/dist/utilities/dates.d.ts +1 -0
- package/dist/utilities/dates.test.d.ts +1 -0
- package/dist/utilities/dbPluginEventUtils.d.ts +14 -0
- package/{src/utilities/index.ts → dist/utilities/index.d.ts} +1 -1
- package/dist/utilities/index.js +554 -0
- package/dist/utilities/index.js.map +1 -0
- package/dist/utilities/objects.d.ts +2 -0
- package/dist/utilities/queryOptionsCollection.d.ts +2 -0
- package/dist/utilities/replication.d.ts +3 -0
- package/dist/utilities/runtime.d.ts +1 -0
- package/dist/utilities/strings.d.ts +1 -0
- package/dist/utilities/types.d.ts +1 -0
- package/dist/utilities/uuid.d.ts +2 -0
- package/package.json +6 -1
- package/readme.md +95 -0
- package/CHANGELOG.md +0 -8
- package/rspack.config.mjs +0 -65
- package/src/assertions/index.ts +0 -37
- package/src/codegen/SlotPath.ts +0 -20
- package/src/codegen/blocks.ts +0 -578
- package/src/codegen/handlers/CloneHandlerBuilder.ts +0 -13
- package/src/codegen/handlers/CompareHandlerBuilder.ts +0 -13
- package/src/codegen/handlers/DeserializeHandlerBuilder.ts +0 -20
- package/src/codegen/handlers/EnableChangeTrackingHandlerBuilder.ts +0 -13
- package/src/codegen/handlers/EnrichmentHandlerBuilder.ts +0 -28
- package/src/codegen/handlers/FreezeHandlerBuilder.ts +0 -13
- package/src/codegen/handlers/HashHandlerBuilder.ts +0 -25
- package/src/codegen/handlers/HashTypeHandlerBuilder.ts +0 -11
- package/src/codegen/handlers/IdSelectorHandlerBuilder.ts +0 -10
- package/src/codegen/handlers/MergeHandlerBuilder.ts +0 -19
- package/src/codegen/handlers/PrepareHandlerBuilder.ts +0 -23
- package/src/codegen/handlers/SerializeHandlerBuilder.ts +0 -15
- package/src/codegen/handlers/StripHandlerBuilder.ts +0 -18
- package/src/codegen/handlers/clone/CloneObjectHandler.ts +0 -29
- package/src/codegen/handlers/clone/CloneValueHandler.ts +0 -33
- package/src/codegen/handlers/compare/CompareObjectHandler.ts +0 -15
- package/src/codegen/handlers/compare/CompareValueHandler.ts +0 -27
- package/src/codegen/handlers/deserialize/DeserializeComputedValueHandler.ts +0 -16
- package/src/codegen/handlers/deserialize/DeserializeDateHandler.ts +0 -45
- package/src/codegen/handlers/deserialize/DeserializeFunctionHandler.ts +0 -16
- package/src/codegen/handlers/deserialize/DeserializeObjectHandler.ts +0 -29
- package/src/codegen/handlers/deserialize/DeserializeValueHandler.ts +0 -33
- package/src/codegen/handlers/enableChangeTracking/EnableChangeTrackingObjectHandler.ts +0 -20
- package/src/codegen/handlers/enableChangeTracking/EnableChangeTrackingPrimitiveValueHandler.ts +0 -15
- package/src/codegen/handlers/enrichment/EnrichmentComputedValueHandler.ts +0 -37
- package/src/codegen/handlers/enrichment/EnrichmentDefaultFunctionHandler.ts +0 -50
- package/src/codegen/handlers/enrichment/EnrichmentDefaultValueHandler.ts +0 -18
- package/src/codegen/handlers/enrichment/EnrichmentFunctionHandler.ts +0 -38
- package/src/codegen/handlers/enrichment/EnrichmentNullableObjectHandler.ts +0 -44
- package/src/codegen/handlers/enrichment/EnrichmentObjectHandler.ts +0 -29
- package/src/codegen/handlers/enrichment/EnrichmentObjectIdentityHandler.ts +0 -16
- package/src/codegen/handlers/enrichment/EnrichmentPrimitiveHandler.ts +0 -13
- package/src/codegen/handlers/enrichment/EnrichmentPrimitiveIdentityHandler.ts +0 -21
- package/src/codegen/handlers/freeze/FreezeObjectHandler.ts +0 -20
- package/src/codegen/handlers/freeze/FreezePrimitiveValueHandler.ts +0 -15
- package/src/codegen/handlers/hash/HashComputedValueHandler.ts +0 -15
- package/src/codegen/handlers/hash/HashDateHandler.ts +0 -26
- package/src/codegen/handlers/hash/HashFunctionHandler.ts +0 -16
- package/src/codegen/handlers/hash/HashIdentityHandler.ts +0 -15
- package/src/codegen/handlers/hash/HashKeyHandler.ts +0 -26
- package/src/codegen/handlers/hash/HashValueHandler.ts +0 -26
- package/src/codegen/handlers/hashType/HashTypeValueHandler.ts +0 -20
- package/src/codegen/handlers/idSelector/IdSelectorValueHandler.ts +0 -28
- package/src/codegen/handlers/merge/MergeComputedValueHandler.ts +0 -37
- package/src/codegen/handlers/merge/MergeDefaultFunctionHandler.ts +0 -40
- package/src/codegen/handlers/merge/MergeDefaultValueHandler.ts +0 -32
- package/src/codegen/handlers/merge/MergeFunctionHandler.ts +0 -16
- package/src/codegen/handlers/merge/MergePrimitiveHandler.ts +0 -21
- package/src/codegen/handlers/prepare/PrepareComputedValueHandler.ts +0 -16
- package/src/codegen/handlers/prepare/PrepareFunctionHandler.ts +0 -16
- package/src/codegen/handlers/prepare/PrepareIdentityHandler.ts +0 -21
- package/src/codegen/handlers/prepare/PrepareKeyHandler.ts +0 -21
- package/src/codegen/handlers/prepare/PrepareObjectHandler.ts +0 -38
- package/src/codegen/handlers/prepare/PrepareValueHandler.ts +0 -36
- package/src/codegen/handlers/serialize/SerializeDateHandler.ts +0 -45
- package/src/codegen/handlers/serialize/SerializeObjectHandler.ts +0 -28
- package/src/codegen/handlers/serialize/SerializeValueHandler.ts +0 -33
- package/src/codegen/handlers/strip/StripIdentityHandler.ts +0 -15
- package/src/codegen/handlers/strip/StripKeyHandler.ts +0 -15
- package/src/codegen/handlers/strip/StripObjectHandler.ts +0 -35
- package/src/codegen/handlers/strip/StripValueHandler.ts +0 -36
- package/src/codegen/handlers/types.ts +0 -119
- package/src/codegen/types.ts +0 -2
- package/src/codegen/utils.ts +0 -74
- package/src/collections/Changes.test.ts +0 -337
- package/src/collections/Changes.ts +0 -177
- package/src/collections/IdSet.ts +0 -28
- package/src/collections/MemoryDataCollection.test.ts +0 -424
- package/src/collections/MemoryDataCollection.ts +0 -134
- package/src/collections/SchemaCollection.ts +0 -22
- package/src/collections/TagCollection.test.ts +0 -443
- package/src/collections/TagCollection.ts +0 -62
- package/src/errors/SchemaError.ts +0 -6
- package/src/errors/index.ts +0 -1
- package/src/expressions/parser.test.ts +0 -913
- package/src/expressions/utils.test.ts +0 -346
- package/src/expressions/utils.ts +0 -59
- package/src/performance/index.ts +0 -26
- package/src/pipeline/SyncronousQueue.test.ts +0 -269
- package/src/pipeline/SyncronousQueue.ts +0 -30
- package/src/pipeline/TrampolinePipeline.test.ts +0 -374
- package/src/pipeline/index.ts +0 -2
- package/src/plugins/EphemeralDataPlugin.ts +0 -132
- package/src/plugins/capabilities/DbPluginCapability.ts +0 -111
- package/src/plugins/capabilities/logging/DbPluginLoggingCapability.ts +0 -261
- package/src/plugins/capabilities/logging/index.ts +0 -1
- package/src/plugins/query/Query.ts +0 -67
- package/src/plugins/query/QueryOptionsCollection.test.ts +0 -86
- package/src/plugins/query/QueryOptionsCollection.ts +0 -154
- package/src/plugins/replication/OptimisticReplicationDbPlugin.ts +0 -202
- package/src/plugins/replication/ReplicationDbPlugin.ts +0 -137
- package/src/plugins/translators/DataTranslator.ts +0 -46
- package/src/plugins/translators/JsonTranslator.test.ts +0 -618
- package/src/plugins/translators/JsonTranslator.ts +0 -211
- package/src/plugins/translators/SqlTranslator.ts +0 -45
- package/src/results/Result.ts +0 -91
- package/src/results/utils.ts +0 -15
- package/src/schema/PropertyInfo.test.ts +0 -479
- package/src/schema/PropertyInfo.ts +0 -374
- package/src/schema/SchemaDefinition.ts +0 -626
- package/src/schema/builder.ts +0 -18
- package/src/schema/property/base/SchemaBase.ts +0 -49
- package/src/schema/property/base/index.ts +0 -1
- package/src/schema/property/modifiers/SchemaDefault.ts +0 -29
- package/src/schema/property/modifiers/SchemaDeserialize.ts +0 -23
- package/src/schema/property/modifiers/SchemaDistinct.ts +0 -14
- package/src/schema/property/modifiers/SchemaFrom.ts +0 -54
- package/src/schema/property/modifiers/SchemaIdentity.ts +0 -13
- package/src/schema/property/modifiers/SchemaIndex.ts +0 -60
- package/src/schema/property/modifiers/SchemaKey.ts +0 -28
- package/src/schema/property/modifiers/SchemaNullable.ts +0 -18
- package/src/schema/property/modifiers/SchemaOptional.ts +0 -19
- package/src/schema/property/modifiers/SchemaReadonly.ts +0 -34
- package/src/schema/property/modifiers/SchemaSerialize.ts +0 -18
- package/src/schema/property/modifiers/SchemaTracked.ts +0 -14
- package/src/schema/property/types/SchemaArray.ts +0 -50
- package/src/schema/property/types/SchemaBoolean.ts +0 -59
- package/src/schema/property/types/SchemaDate.ts +0 -58
- package/src/schema/property/types/SchemaNumber.ts +0 -69
- package/src/schema/property/types/SchemaObject.ts +0 -44
- package/src/schema/property/types/SchemaString.ts +0 -69
- package/src/schema/table/SchemaComputed.ts +0 -20
- package/src/schema/table/SchemaFunction.ts +0 -15
- package/src/utilities/arrays.test.ts +0 -312
- package/src/utilities/arrays.ts +0 -12
- package/src/utilities/dates.test.ts +0 -388
- package/src/utilities/dates.ts +0 -11
- package/src/utilities/dbPluginEventUtils.ts +0 -44
- package/src/utilities/objects.ts +0 -7
- package/src/utilities/queryOptionsCollection.ts +0 -16
- package/src/utilities/replication.ts +0 -23
- package/src/utilities/runtime.ts +0 -3
- package/src/utilities/strings.ts +0 -18
- package/src/utilities/types.ts +0 -1
- package/src/utilities/uuid.ts +0 -56
- package/tsconfig.json +0 -28
- package/vitest.config.ts +0 -11
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { CodeBuilder, SlotBlock } from '../../blocks';
|
|
2
|
-
import { PropertyInfoHandler } from "../types";
|
|
3
|
-
import { PropertyInfo, SchemaTypes } from "../../../schema";
|
|
4
|
-
|
|
5
|
-
export class EnrichmentPrimitiveIdentityHandler extends PropertyInfoHandler {
|
|
6
|
-
|
|
7
|
-
override handle(property: PropertyInfo<any>, builder: CodeBuilder): CodeBuilder | null {
|
|
8
|
-
|
|
9
|
-
if (property.isIdentity === true && property.type != SchemaTypes.Object) {
|
|
10
|
-
const selectorPath = property.getSelectrorPath({ parent: "entity", assignmentType: "FORCE_NULLABLE_OR_OPTIONAL" });
|
|
11
|
-
const slot = builder.get<SlotBlock>("factory.function.ifs");
|
|
12
|
-
const entitySelectorPath = property.getAssignmentPath({ parent: "entity" });
|
|
13
|
-
const enrichedAssignmentPath = property.getAssignmentPath({ parent: "enriched" });
|
|
14
|
-
|
|
15
|
-
slot.if(`${selectorPath} != null`).appendBody(`${enrichedAssignmentPath} = ${entitySelectorPath}`);
|
|
16
|
-
return builder;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
return super.handle(property, builder);
|
|
20
|
-
}
|
|
21
|
-
}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { CodeBuilder, SlotBlock } from '../../blocks';
|
|
2
|
-
import { PropertyInfoHandler } from "../types";
|
|
3
|
-
import { PropertyInfo, SchemaTypes } from "../../../schema";
|
|
4
|
-
|
|
5
|
-
export class FreezeObjectHandler extends PropertyInfoHandler {
|
|
6
|
-
|
|
7
|
-
override handle(property: PropertyInfo<any>, builder: CodeBuilder): CodeBuilder | null {
|
|
8
|
-
|
|
9
|
-
if (property.type === SchemaTypes.Object) {
|
|
10
|
-
const assignmentSlot = builder.get<SlotBlock>("assignment");
|
|
11
|
-
const childSelectorPath = property.getSelectrorPath({ parent: "entity" });
|
|
12
|
-
const childAssignmentPath = property.getAssignmentPath({ parent: "entity" });
|
|
13
|
-
|
|
14
|
-
assignmentSlot.if(`${childSelectorPath} != null`).unshiftBody(`${childAssignmentPath} = Object.freeze(${childAssignmentPath});`);
|
|
15
|
-
return builder;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
return super.handle(property, builder);
|
|
19
|
-
}
|
|
20
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { CodeBuilder } from '../../blocks';
|
|
2
|
-
import { PropertyInfoHandler } from "../types";
|
|
3
|
-
import { PropertyInfo, SchemaTypes } from "../../../schema";
|
|
4
|
-
|
|
5
|
-
export class FreezePrimitiveValueHandler extends PropertyInfoHandler {
|
|
6
|
-
|
|
7
|
-
override handle(property: PropertyInfo<any>, builder: CodeBuilder): CodeBuilder | null {
|
|
8
|
-
|
|
9
|
-
if (property.type !== SchemaTypes.Object) {
|
|
10
|
-
return builder;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
return super.handle(property, builder);
|
|
14
|
-
}
|
|
15
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { CodeBuilder } from '../../blocks';
|
|
2
|
-
import { PropertyInfoHandler } from "../types";
|
|
3
|
-
import { PropertyInfo, SchemaTypes } from "../../../schema";
|
|
4
|
-
|
|
5
|
-
export class HashComputedValueHandler extends PropertyInfoHandler {
|
|
6
|
-
|
|
7
|
-
override handle(property: PropertyInfo<any>, builder: CodeBuilder): CodeBuilder | null {
|
|
8
|
-
|
|
9
|
-
if (property.functionBody != null && property.type === SchemaTypes.Computed && property.isUnmapped === true) {
|
|
10
|
-
return builder;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
return super.handle(property, builder);
|
|
14
|
-
}
|
|
15
|
-
}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { CodeBuilder, SlotBlock, StringBuilder } from '../../blocks';
|
|
2
|
-
import { PropertyInfoHandler } from "../types";
|
|
3
|
-
import { PropertyInfo, SchemaTypes } from "../../../schema";
|
|
4
|
-
|
|
5
|
-
export class HashDateHandler extends PropertyInfoHandler {
|
|
6
|
-
|
|
7
|
-
override handle(property: PropertyInfo<any>, builder: CodeBuilder): CodeBuilder | null {
|
|
8
|
-
|
|
9
|
-
if (property.type === SchemaTypes.Date) {
|
|
10
|
-
let stringBuilder = builder.getOrDefault<StringBuilder>("hash-object-return.variable.string");
|
|
11
|
-
const entitySelectorPath = property.getSelectrorPath({ parent: "entity" });
|
|
12
|
-
|
|
13
|
-
if (stringBuilder == null) {
|
|
14
|
-
stringBuilder = builder.get<SlotBlock>("hash-object-return")
|
|
15
|
-
.assign("const result", { name: "variable" })
|
|
16
|
-
.string("template", { name: "string" });
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
stringBuilder.append("${stringifyDate(" + entitySelectorPath + ")}")
|
|
20
|
-
|
|
21
|
-
return builder;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
return super.handle(property, builder);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { CodeBuilder } from '../../blocks';
|
|
2
|
-
import { PropertyInfoHandler } from "../types";
|
|
3
|
-
import { PropertyInfo, SchemaTypes } from "../../../schema";
|
|
4
|
-
|
|
5
|
-
export class HashFunctionHandler extends PropertyInfoHandler {
|
|
6
|
-
|
|
7
|
-
override handle(property: PropertyInfo<any>, builder: CodeBuilder): CodeBuilder | null {
|
|
8
|
-
|
|
9
|
-
if (property.functionBody != null && property.type === SchemaTypes.Function) {
|
|
10
|
-
// Functions are always unmapped
|
|
11
|
-
return builder;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
return super.handle(property, builder);
|
|
15
|
-
}
|
|
16
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { CodeBuilder } from '../../blocks';
|
|
2
|
-
import { PropertyInfoHandler } from "../types";
|
|
3
|
-
import { PropertyInfo } from "../../../schema";
|
|
4
|
-
|
|
5
|
-
export class HashIdentityHandler extends PropertyInfoHandler {
|
|
6
|
-
|
|
7
|
-
override handle(property: PropertyInfo<any>, builder: CodeBuilder): CodeBuilder | null {
|
|
8
|
-
|
|
9
|
-
if (property.isIdentity === true) {
|
|
10
|
-
return builder;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
return super.handle(property, builder);
|
|
14
|
-
}
|
|
15
|
-
}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { CodeBuilder, SlotBlock, StringBuilder } from '../../blocks';
|
|
2
|
-
import { PropertyInfoHandler } from "../types";
|
|
3
|
-
import { PropertyInfo } from "../../../schema";
|
|
4
|
-
|
|
5
|
-
export class HashKeyHandler extends PropertyInfoHandler {
|
|
6
|
-
|
|
7
|
-
override handle(property: PropertyInfo<any>, builder: CodeBuilder): CodeBuilder | null {
|
|
8
|
-
|
|
9
|
-
if (property.isKey === true) {
|
|
10
|
-
let stringBuilder = builder.getOrDefault<StringBuilder>("hash-id-if.if-body.variable.string");
|
|
11
|
-
const entitySelectorPath = property.getSelectrorPath({ parent: "entity" });
|
|
12
|
-
|
|
13
|
-
if (stringBuilder == null) {
|
|
14
|
-
stringBuilder = builder.get<SlotBlock>("hash-id-if.if-body")
|
|
15
|
-
.assign("const result", { name: "variable" })
|
|
16
|
-
.string("template", { name: "string" });
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
stringBuilder.append("${" + entitySelectorPath + "}")
|
|
20
|
-
|
|
21
|
-
return builder;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
return super.handle(property, builder);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { CodeBuilder, SlotBlock, StringBuilder } from '../../blocks';
|
|
2
|
-
import { PropertyInfoHandler } from "../types";
|
|
3
|
-
import { PropertyInfo, SchemaTypes } from "../../../schema";
|
|
4
|
-
|
|
5
|
-
export class HashValueHandler extends PropertyInfoHandler {
|
|
6
|
-
|
|
7
|
-
override handle(property: PropertyInfo<any>, builder: CodeBuilder): CodeBuilder | null {
|
|
8
|
-
|
|
9
|
-
if (property.type !== SchemaTypes.Object) {
|
|
10
|
-
let stringBuilder = builder.getOrDefault<StringBuilder>("hash-object-return.variable.string");
|
|
11
|
-
const entitySelectorPath = property.getSelectrorPath({ parent: "entity" });
|
|
12
|
-
|
|
13
|
-
if (stringBuilder == null) {
|
|
14
|
-
stringBuilder = builder.get<SlotBlock>("hash-object-return")
|
|
15
|
-
.assign("const result", { name: "variable" })
|
|
16
|
-
.string("template", { name: "string" });
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
stringBuilder.append("${" + entitySelectorPath + "}")
|
|
20
|
-
|
|
21
|
-
return builder;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
return super.handle(property, builder);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { CodeBuilder, SlotBlock } from '../../blocks';
|
|
2
|
-
import { PropertyInfoHandler } from "../types";
|
|
3
|
-
import { PropertyInfo } from "../../../schema";
|
|
4
|
-
|
|
5
|
-
export class HashTypeValueHandler extends PropertyInfoHandler {
|
|
6
|
-
|
|
7
|
-
override handle(property: PropertyInfo<any>, builder: CodeBuilder): CodeBuilder | null {
|
|
8
|
-
|
|
9
|
-
if (property.isKey && property.isIdentity) {
|
|
10
|
-
const slot = builder.get<SlotBlock>("ifs");
|
|
11
|
-
const entitySelectorPath = property.getSelectrorPath({ parent: "entity" });
|
|
12
|
-
|
|
13
|
-
slot.if(`${entitySelectorPath} == null`).appendBody(`return "Object"`);
|
|
14
|
-
|
|
15
|
-
return builder;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
return super.handle(property, builder);
|
|
19
|
-
}
|
|
20
|
-
}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { ArrayBuilder, CodeBuilder, SlotBlock } from '../../blocks';
|
|
2
|
-
import { PropertyInfoHandler } from "../types";
|
|
3
|
-
import { PropertyInfo } from "../../../schema";
|
|
4
|
-
|
|
5
|
-
export class IdSelectorValueHandler extends PropertyInfoHandler {
|
|
6
|
-
|
|
7
|
-
override handle(property: PropertyInfo<any>, builder: CodeBuilder): CodeBuilder | null {
|
|
8
|
-
|
|
9
|
-
if (property.isKey) {
|
|
10
|
-
let arrayBuilder = builder.getOrDefault<ArrayBuilder>("result.variable.array");
|
|
11
|
-
const entitySelectorPath = property.getAssignmentPath({ parent: "entity" });
|
|
12
|
-
|
|
13
|
-
if (arrayBuilder == null) {
|
|
14
|
-
arrayBuilder = builder.get<SlotBlock>("result")
|
|
15
|
-
.variable("result", { name: "variable" })
|
|
16
|
-
.array(`${entitySelectorPath}`, { name: "array" });
|
|
17
|
-
|
|
18
|
-
return builder;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
arrayBuilder.append(`${entitySelectorPath}`);
|
|
23
|
-
return builder;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
return super.handle(property, builder);
|
|
27
|
-
}
|
|
28
|
-
}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { CodeBuilder, FunctionFactoryBuilder, SlotBlock } from '../../blocks';
|
|
2
|
-
import { PropertyInfoHandler } from "../types";
|
|
3
|
-
import { PropertyInfo, SchemaTypes } from "../../../schema";
|
|
4
|
-
|
|
5
|
-
export class MergeComputedValueHandler extends PropertyInfoHandler {
|
|
6
|
-
|
|
7
|
-
override handle(property: PropertyInfo<any>, builder: CodeBuilder): CodeBuilder | null {
|
|
8
|
-
|
|
9
|
-
if (property.functionBody != null && property.type === SchemaTypes.Computed) {
|
|
10
|
-
const parameterNames: string[] = ["source", "collectionName"];
|
|
11
|
-
|
|
12
|
-
if (property.injected != null) {
|
|
13
|
-
|
|
14
|
-
const factory = builder.get<FunctionFactoryBuilder>("factory");
|
|
15
|
-
const parameter = factory.createParameter(property.injected);
|
|
16
|
-
factory.parameters(parameter);
|
|
17
|
-
|
|
18
|
-
parameterNames.push(parameter.name);
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
const declarationsSlot = builder.get<SlotBlock>("factory.function.header");
|
|
22
|
-
const defaultFunctionWithParameters = this.toNamedFunction(property.functionBody.toString(), declarationsSlot);
|
|
23
|
-
|
|
24
|
-
defaultFunctionWithParameters.builder.parameters(...parameterNames.map((w, i) => ({ name: defaultFunctionWithParameters.parameters[i], callName: w })));
|
|
25
|
-
|
|
26
|
-
const slot = builder.get<SlotBlock>("factory.function.assignments");
|
|
27
|
-
const enrichedAssignmentPath = property.getAssignmentPath({ parent: "destination" });
|
|
28
|
-
|
|
29
|
-
// We want to recompute the value always in case there are changes
|
|
30
|
-
slot.assign(enrichedAssignmentPath).value(defaultFunctionWithParameters.builder.toCallable());
|
|
31
|
-
|
|
32
|
-
return builder;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
return super.handle(property, builder);
|
|
36
|
-
}
|
|
37
|
-
}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { CodeBuilder, FunctionFactoryBuilder, SlotBlock } from '../../blocks';
|
|
2
|
-
import { PropertyInfoHandler } from "../types";
|
|
3
|
-
import { PropertyInfo } from "../../../schema";
|
|
4
|
-
|
|
5
|
-
export class MergeDefaultFunctionHandler extends PropertyInfoHandler {
|
|
6
|
-
|
|
7
|
-
override handle(property: PropertyInfo<any>, builder: CodeBuilder): CodeBuilder | null {
|
|
8
|
-
|
|
9
|
-
// we only want this to run if the value for the property is null
|
|
10
|
-
// we are changing merge to be more like enrich so we can handle injections
|
|
11
|
-
// we may need to change more. Need to move towards factories
|
|
12
|
-
if (property.defaultValue != null && typeof property.defaultValue === "function") {
|
|
13
|
-
const defaultFunctionParameters: string[] = [];
|
|
14
|
-
|
|
15
|
-
if (property.injected != null) {
|
|
16
|
-
const factory = builder.get<FunctionFactoryBuilder>("factory");
|
|
17
|
-
const parameter = factory.createParameter(property.injected);
|
|
18
|
-
factory.parameters(parameter);
|
|
19
|
-
|
|
20
|
-
defaultFunctionParameters.push(parameter.name);
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
const ifsSlot = builder.get<SlotBlock>("factory.function.ifs");
|
|
24
|
-
// we only want to run if the destination is null
|
|
25
|
-
const selectorPath = property.getSelectrorPath({ parent: "destination" });
|
|
26
|
-
const assignmentPath = property.getAssignmentPath({ parent: "destination" });
|
|
27
|
-
|
|
28
|
-
const declarationsSlot = builder.get<SlotBlock>("factory.function.header");
|
|
29
|
-
const defaultFunctionWithParameters = this.toNamedFunction(property.defaultValue.toString(), declarationsSlot);
|
|
30
|
-
|
|
31
|
-
defaultFunctionWithParameters.builder.parameters(...defaultFunctionParameters.map((w, i) => ({ name: defaultFunctionWithParameters.parameters[i], callName: w })));
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
ifsSlot.if(`${selectorPath} == null`).appendBody(`${assignmentPath} = ${defaultFunctionWithParameters.builder.toCallable()}`);
|
|
35
|
-
return builder;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
return super.handle(property, builder);
|
|
39
|
-
}
|
|
40
|
-
}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { CodeBuilder, FunctionFactoryBuilder, SlotBlock } from '../../blocks';
|
|
2
|
-
import { PropertyInfoHandler } from "../types";
|
|
3
|
-
import { PropertyInfo } from "../../../schema";
|
|
4
|
-
|
|
5
|
-
export class MergeDefaultValueHandler extends PropertyInfoHandler {
|
|
6
|
-
|
|
7
|
-
override handle(property: PropertyInfo<any>, builder: CodeBuilder): CodeBuilder | null {
|
|
8
|
-
|
|
9
|
-
if (property.defaultValue != null && typeof property.defaultValue !== "function") {
|
|
10
|
-
const defaultFunctionParameters: string[] = [];
|
|
11
|
-
|
|
12
|
-
if (property.injected != null) {
|
|
13
|
-
const factory = builder.get<FunctionFactoryBuilder>("factory");
|
|
14
|
-
const parameter = factory.createParameter(property.injected);
|
|
15
|
-
factory.parameters(parameter);
|
|
16
|
-
|
|
17
|
-
defaultFunctionParameters.push(parameter.name);
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
const ifsSlot = builder.get<SlotBlock>("factory.function.ifs");
|
|
21
|
-
// we only want to run if the destination is null
|
|
22
|
-
const selectorPath = property.getSelectrorPath({ parent: "destination" });
|
|
23
|
-
const assignmentPath = property.getAssignmentPath({ parent: "destination" });
|
|
24
|
-
|
|
25
|
-
ifsSlot.if(`${selectorPath} == null`).appendBody(`${assignmentPath} = ${typeof property.defaultValue === "string" ? `"${property.defaultValue}"` : property.defaultValue}`);
|
|
26
|
-
|
|
27
|
-
return builder;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
return super.handle(property, builder);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { CodeBuilder } from '../../blocks';
|
|
2
|
-
import { PropertyInfoHandler } from "../types";
|
|
3
|
-
import { PropertyInfo, SchemaTypes } from "../../../schema";
|
|
4
|
-
|
|
5
|
-
export class MergeFunctionHandler extends PropertyInfoHandler {
|
|
6
|
-
|
|
7
|
-
override handle(property: PropertyInfo<any>, builder: CodeBuilder): CodeBuilder | null {
|
|
8
|
-
|
|
9
|
-
if (property.functionBody != null && property.type === SchemaTypes.Function) {
|
|
10
|
-
|
|
11
|
-
return builder;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
return super.handle(property, builder);
|
|
15
|
-
}
|
|
16
|
-
}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { CodeBuilder, SlotBlock } from '../../blocks';
|
|
2
|
-
import { PropertyInfoHandler } from "../types";
|
|
3
|
-
import { PropertyInfo, SchemaTypes } from "../../../schema";
|
|
4
|
-
|
|
5
|
-
export class MergePrimitiveHandler extends PropertyInfoHandler {
|
|
6
|
-
|
|
7
|
-
override handle(property: PropertyInfo<any>, builder: CodeBuilder): CodeBuilder | null {
|
|
8
|
-
|
|
9
|
-
if (property.type != SchemaTypes.Object) {
|
|
10
|
-
const selectorPath = property.getSelectrorPath({ parent: "source", assignmentType: "FORCE_NULLABLE_OR_OPTIONAL" });
|
|
11
|
-
const slot = builder.get<SlotBlock>("factory.function.assignments");
|
|
12
|
-
const entitySelectorPath = property.getAssignmentPath({ parent: "source" });
|
|
13
|
-
const enrichedAssignmentPath = property.getAssignmentPath({ parent: "destination" });
|
|
14
|
-
|
|
15
|
-
slot.if(`${selectorPath} != null`).appendBody(`${enrichedAssignmentPath} = ${entitySelectorPath}`);
|
|
16
|
-
return builder;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
return super.handle(property, builder);
|
|
20
|
-
}
|
|
21
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { CodeBuilder } from '../../blocks';
|
|
2
|
-
import { PropertyInfoHandler } from "../types";
|
|
3
|
-
import { PropertyInfo, SchemaTypes } from "../../../schema";
|
|
4
|
-
|
|
5
|
-
// Do nothing with the value
|
|
6
|
-
export class PrepareComputedValueHandler extends PropertyInfoHandler {
|
|
7
|
-
|
|
8
|
-
override handle(property: PropertyInfo<any>, builder: CodeBuilder): CodeBuilder | null {
|
|
9
|
-
|
|
10
|
-
if (property.functionBody != null && property.type === SchemaTypes.Computed && property.isUnmapped === true) {
|
|
11
|
-
return builder;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
return super.handle(property, builder);
|
|
15
|
-
}
|
|
16
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { CodeBuilder } from '../../blocks';
|
|
2
|
-
import { PropertyInfoHandler } from "../types";
|
|
3
|
-
import { PropertyInfo, SchemaTypes } from "../../../schema";
|
|
4
|
-
|
|
5
|
-
export class PrepareFunctionHandler extends PropertyInfoHandler {
|
|
6
|
-
|
|
7
|
-
override handle(property: PropertyInfo<any>, builder: CodeBuilder): CodeBuilder | null {
|
|
8
|
-
|
|
9
|
-
if (property.functionBody != null && property.type === SchemaTypes.Function) {
|
|
10
|
-
// Functions are always unmapped
|
|
11
|
-
return builder;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
return super.handle(property, builder);
|
|
15
|
-
}
|
|
16
|
-
}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { CodeBuilder, SlotBlock } from '../../blocks';
|
|
2
|
-
import { PropertyInfoHandler } from "../types";
|
|
3
|
-
import { PropertyInfo } from "../../../schema";
|
|
4
|
-
|
|
5
|
-
export class PrepareIdentityHandler extends PropertyInfoHandler {
|
|
6
|
-
|
|
7
|
-
override handle(property: PropertyInfo<any>, builder: CodeBuilder): CodeBuilder | null {
|
|
8
|
-
|
|
9
|
-
if (property.isIdentity === true) {
|
|
10
|
-
const selectorPath = property.getSelectrorPath({ parent: "entity", assignmentType: "FORCE_NULLABLE_OR_OPTIONAL" });
|
|
11
|
-
const slot = builder.get<SlotBlock>("assignments");
|
|
12
|
-
const entitySelectorPath = property.getAssignmentPath({ parent: "entity" });
|
|
13
|
-
const enrichedAssignmentPath = property.getAssignmentPath({ parent: "result" });
|
|
14
|
-
|
|
15
|
-
slot.if(`${selectorPath} != null`).appendBody(`${enrichedAssignmentPath} = ${entitySelectorPath}`);
|
|
16
|
-
return builder;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
return super.handle(property, builder);
|
|
20
|
-
}
|
|
21
|
-
}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { CodeBuilder, SlotBlock } from '../../blocks';
|
|
2
|
-
import { PropertyInfoHandler } from "../types";
|
|
3
|
-
import { PropertyInfo } from "../../../schema";
|
|
4
|
-
|
|
5
|
-
export class PrepareKeyHandler extends PropertyInfoHandler {
|
|
6
|
-
|
|
7
|
-
override handle(property: PropertyInfo<any>, builder: CodeBuilder): CodeBuilder | null {
|
|
8
|
-
|
|
9
|
-
if (property.isKey === true) {
|
|
10
|
-
const selectorPath = property.getSelectrorPath({ parent: "entity", assignmentType: "FORCE_NULLABLE_OR_OPTIONAL" });
|
|
11
|
-
const slot = builder.get<SlotBlock>("assignments");
|
|
12
|
-
const entitySelectorPath = property.getAssignmentPath({ parent: "entity" });
|
|
13
|
-
const enrichedAssignmentPath = property.getAssignmentPath({ parent: "result" });
|
|
14
|
-
|
|
15
|
-
slot.if(`${selectorPath} != null`).appendBody(`${enrichedAssignmentPath} = ${entitySelectorPath}`);
|
|
16
|
-
return builder;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
return super.handle(property, builder);
|
|
20
|
-
}
|
|
21
|
-
}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { CodeBuilder, ObjectBuilder, SlotBlock } from '../../blocks';
|
|
2
|
-
import { SlotPath } from '../../SlotPath';
|
|
3
|
-
import { PropertyInfoHandler } from "../types";
|
|
4
|
-
import { PropertyInfo, SchemaTypes } from "../../../schema";
|
|
5
|
-
|
|
6
|
-
export class PrepareObjectHandler extends PropertyInfoHandler {
|
|
7
|
-
|
|
8
|
-
override handle(property: PropertyInfo<any>, builder: CodeBuilder): CodeBuilder | null {
|
|
9
|
-
|
|
10
|
-
if (property.type === SchemaTypes.Object) {
|
|
11
|
-
const slotPath = new SlotPath("result", "variable", "object");
|
|
12
|
-
let objectBuilder = builder.getOrDefault<ObjectBuilder>(slotPath.get());
|
|
13
|
-
|
|
14
|
-
// There is a chance this is the first property we handle,
|
|
15
|
-
// if that is the case, the main result variable will not be
|
|
16
|
-
// constructed yet
|
|
17
|
-
if (objectBuilder == null) {
|
|
18
|
-
objectBuilder = builder.get<SlotBlock>("result")
|
|
19
|
-
.assign("const result", { name: "variable" })
|
|
20
|
-
.object({ name: "object" });
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
if (property.parent == null) {
|
|
24
|
-
objectBuilder.nested(property.name, property.name)
|
|
25
|
-
|
|
26
|
-
return builder;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
slotPath.push(...property.getParentPathArray());
|
|
30
|
-
const nestedObjectBuilder = builder.get<ObjectBuilder>(slotPath.get());
|
|
31
|
-
nestedObjectBuilder.nested(property.name, property.name)
|
|
32
|
-
|
|
33
|
-
return builder;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
return super.handle(property, builder);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { CodeBuilder, ObjectBuilder, SlotBlock } from '../../blocks';
|
|
2
|
-
import { SlotPath } from '../../SlotPath';
|
|
3
|
-
import { PropertyInfoHandler } from "../types";
|
|
4
|
-
import { PropertyInfo, SchemaTypes } from "../../../schema";
|
|
5
|
-
|
|
6
|
-
export class PrepareValueHandler extends PropertyInfoHandler {
|
|
7
|
-
|
|
8
|
-
override handle(property: PropertyInfo<any>, builder: CodeBuilder): CodeBuilder | null {
|
|
9
|
-
|
|
10
|
-
if (property.type != SchemaTypes.Object) {
|
|
11
|
-
let objectBuilder = builder.getOrDefault<ObjectBuilder>("result.variable.object");
|
|
12
|
-
const entitySelectorPath = property.getAssignmentPath({ parent: "entity" });
|
|
13
|
-
|
|
14
|
-
if (objectBuilder == null) {
|
|
15
|
-
objectBuilder = builder.get<SlotBlock>("result")
|
|
16
|
-
.assign("const result", { name: "variable" })
|
|
17
|
-
.object({ name: "object" });
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
// Remap the property to the name in the database if from is set
|
|
21
|
-
const name = property.from != null ? property.from : property.name;
|
|
22
|
-
|
|
23
|
-
if (property.parent == null) {
|
|
24
|
-
objectBuilder.property(`${name}: ${entitySelectorPath}`);
|
|
25
|
-
return builder;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
const slotPath = new SlotPath(...property.getParentPathArray());
|
|
29
|
-
objectBuilder = objectBuilder.get<ObjectBuilder>(slotPath.get());
|
|
30
|
-
objectBuilder.property(`${name}: ${entitySelectorPath}`);
|
|
31
|
-
return builder;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
return super.handle(property, builder);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { CodeBuilder, ContainerBlock, ObjectBuilder } from '../../blocks';
|
|
2
|
-
import { SlotPath } from '../../SlotPath';
|
|
3
|
-
import { PropertyInfoHandler } from "../types";
|
|
4
|
-
import { PropertyInfo, SchemaTypes } from "../../../schema";
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Handles converting a Date value from JavaScript to a string value
|
|
8
|
-
*/
|
|
9
|
-
export class SerializeDateHandler extends PropertyInfoHandler {
|
|
10
|
-
|
|
11
|
-
override handle(property: PropertyInfo<any>, builder: CodeBuilder): CodeBuilder | null {
|
|
12
|
-
|
|
13
|
-
if (property.type === SchemaTypes.Date) {
|
|
14
|
-
const slotPath = new SlotPath("result.variable.object");
|
|
15
|
-
let objectBuilder = builder.get<ObjectBuilder>(slotPath.get());
|
|
16
|
-
const entitySelectorPath = property.getSelectrorPath({ parent: "entity" });
|
|
17
|
-
const entityAssignmentPath = property.getAssignmentPath({ parent: "result" });
|
|
18
|
-
const assignment = `${property.name}: ${entitySelectorPath} instanceof Date ? ${entitySelectorPath}.toISOString() : ${entitySelectorPath}`;
|
|
19
|
-
|
|
20
|
-
// if it is nullable or optional, assign in an if block, otherwise we
|
|
21
|
-
// could unintentionally assign null/undefined to a property that does not exist
|
|
22
|
-
if (property.isOptional || property.isNullable) {
|
|
23
|
-
const ifAssignment = `${entityAssignmentPath} = ${entitySelectorPath} instanceof Date ? ${entitySelectorPath}.toISOString() : ${entitySelectorPath}`;
|
|
24
|
-
const rootPath = new SlotPath("if");
|
|
25
|
-
builder.get<ContainerBlock>(rootPath.get()).if(`${entitySelectorPath} != null`).appendBody(ifAssignment);
|
|
26
|
-
return;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
// A date cannot be a nested object, just do the assignment
|
|
30
|
-
if (property.parent == null) {
|
|
31
|
-
objectBuilder.property(assignment);
|
|
32
|
-
|
|
33
|
-
return builder;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
slotPath.push(...property.getParentPathArray());
|
|
37
|
-
const nestedObjectBuilder = builder.get<ObjectBuilder>(slotPath.get());
|
|
38
|
-
nestedObjectBuilder.property(assignment)
|
|
39
|
-
|
|
40
|
-
return builder;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
return super.handle(property, builder);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { CodeBuilder, ObjectBuilder } from '../../blocks';
|
|
2
|
-
import { SlotPath } from '../../SlotPath';
|
|
3
|
-
import { PropertyInfoHandler } from "../types";
|
|
4
|
-
import { PropertyInfo, SchemaTypes } from "../../../schema";
|
|
5
|
-
export class SerializeObjectHandler extends PropertyInfoHandler {
|
|
6
|
-
|
|
7
|
-
override handle(property: PropertyInfo<any>, builder: CodeBuilder): CodeBuilder | null {
|
|
8
|
-
|
|
9
|
-
if (property.type === SchemaTypes.Object) {
|
|
10
|
-
const slotPath = new SlotPath("result.variable.object");
|
|
11
|
-
let objectBuilder = builder.get<ObjectBuilder>(slotPath.get());
|
|
12
|
-
|
|
13
|
-
if (property.parent == null) {
|
|
14
|
-
objectBuilder.nested(property.name, property.name)
|
|
15
|
-
|
|
16
|
-
return builder;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
slotPath.push(...property.getParentPathArray());
|
|
20
|
-
const nestedObjectBuilder = builder.get<ObjectBuilder>(slotPath.get());
|
|
21
|
-
nestedObjectBuilder.nested(property.name, property.name)
|
|
22
|
-
|
|
23
|
-
return builder;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
return super.handle(property, builder);
|
|
27
|
-
}
|
|
28
|
-
}
|