@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,19 +0,0 @@
|
|
|
1
|
-
import { MergeDefaultFunctionHandler } from "./merge/MergeDefaultFunctionHandler";
|
|
2
|
-
import { MergePrimitiveHandler } from "./merge/MergePrimitiveHandler";
|
|
3
|
-
import { MergeComputedValueHandler } from "./merge/MergeComputedValueHandler";
|
|
4
|
-
import { MergeDefaultValueHandler } from "./merge/MergeDefaultValueHandler";
|
|
5
|
-
import { MergeFunctionHandler } from "./merge/MergeFunctionHandler";
|
|
6
|
-
|
|
7
|
-
/// Purpose: Should recompute computed properties
|
|
8
|
-
export class MergeHandlerBuilder {
|
|
9
|
-
|
|
10
|
-
build() {
|
|
11
|
-
const handler = new MergeDefaultFunctionHandler();
|
|
12
|
-
handler.setNext(new MergeDefaultValueHandler())
|
|
13
|
-
.setNext(new MergeFunctionHandler())
|
|
14
|
-
.setNext(new MergeComputedValueHandler())
|
|
15
|
-
.setNext(new MergePrimitiveHandler());
|
|
16
|
-
|
|
17
|
-
return handler;
|
|
18
|
-
}
|
|
19
|
-
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { PrepareIdentityHandler } from "./prepare/PrepareIdentityHandler";
|
|
2
|
-
import { PrepareKeyHandler } from "./prepare/PrepareKeyHandler";
|
|
3
|
-
import { PrepareValueHandler } from "./prepare/PrepareValueHandler";
|
|
4
|
-
import { PrepareObjectHandler } from "./prepare/PrepareObjectHandler";
|
|
5
|
-
import { PrepareComputedValueHandler } from "./prepare/PrepareComputedValueHandler";
|
|
6
|
-
import { PrepareFunctionHandler } from "./prepare/PrepareFunctionHandler";
|
|
7
|
-
|
|
8
|
-
/// Purpose: Called before we save entities to the database. Responsible for cleaning up
|
|
9
|
-
/// an entity before it is sent to the plugin
|
|
10
|
-
export class PrepareHandlerBuilder {
|
|
11
|
-
|
|
12
|
-
build() {
|
|
13
|
-
const handler = new PrepareIdentityHandler();
|
|
14
|
-
handler
|
|
15
|
-
.setNext(new PrepareFunctionHandler())
|
|
16
|
-
.setNext(new PrepareComputedValueHandler())
|
|
17
|
-
.setNext(new PrepareKeyHandler())
|
|
18
|
-
.setNext(new PrepareObjectHandler())
|
|
19
|
-
.setNext(new PrepareValueHandler());
|
|
20
|
-
|
|
21
|
-
return handler;
|
|
22
|
-
}
|
|
23
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { SerializeDateHandler } from "./serialize/SerializeDateHandler";
|
|
2
|
-
import { SerializeObjectHandler } from "./serialize/SerializeObjectHandler";
|
|
3
|
-
import { SerializeValueHandler } from "./serialize/SerializeValueHandler";
|
|
4
|
-
|
|
5
|
-
/// Purpose:
|
|
6
|
-
export class SerializeHandlerBuilder {
|
|
7
|
-
|
|
8
|
-
build() {
|
|
9
|
-
const handler = new SerializeDateHandler();
|
|
10
|
-
handler.setNext(new SerializeValueHandler())
|
|
11
|
-
.setNext(new SerializeObjectHandler());
|
|
12
|
-
|
|
13
|
-
return handler;
|
|
14
|
-
}
|
|
15
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { StripObjectHandler } from "./strip/StripObjectHandler";
|
|
2
|
-
import { StripValueHandler } from "./strip/StripValueHandler";
|
|
3
|
-
import { StripKeyHandler } from "./strip/StripKeyHandler";
|
|
4
|
-
import { StripIdentityHandler } from "./strip/StripIdentityHandler";
|
|
5
|
-
|
|
6
|
-
/// Purpose:
|
|
7
|
-
export class StripHandlerBuilder {
|
|
8
|
-
|
|
9
|
-
build() {
|
|
10
|
-
const handler = new StripIdentityHandler();
|
|
11
|
-
|
|
12
|
-
handler.setNext(new StripKeyHandler())
|
|
13
|
-
.setNext(new StripObjectHandler())
|
|
14
|
-
.setNext(new StripValueHandler());
|
|
15
|
-
|
|
16
|
-
return handler;
|
|
17
|
-
}
|
|
18
|
-
}
|
|
@@ -1,29 +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
|
-
|
|
6
|
-
export class CloneObjectHandler 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.get<ObjectBuilder>(slotPath.get());
|
|
13
|
-
|
|
14
|
-
if (property.parent == null) {
|
|
15
|
-
objectBuilder.nested(property.name, property.name)
|
|
16
|
-
|
|
17
|
-
return builder;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
slotPath.push(...property.getParentPathArray());
|
|
21
|
-
const nestedObjectBuilder = builder.get<ObjectBuilder>(slotPath.get());
|
|
22
|
-
nestedObjectBuilder.nested(property.name, property.name)
|
|
23
|
-
|
|
24
|
-
return builder;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
return super.handle(property, builder);
|
|
28
|
-
}
|
|
29
|
-
}
|
|
@@ -1,33 +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 CloneValueHandler 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
|
-
if (property.parent == null) {
|
|
21
|
-
objectBuilder.property(`${property.name}: ${entitySelectorPath}`);
|
|
22
|
-
return builder;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
const slotPath = new SlotPath(...property.getParentPathArray());
|
|
26
|
-
objectBuilder = objectBuilder.get<ObjectBuilder>(slotPath.get());
|
|
27
|
-
objectBuilder.property(`${property.name}: ${entitySelectorPath}`);
|
|
28
|
-
return builder;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
return super.handle(property, builder);
|
|
32
|
-
}
|
|
33
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { CodeBuilder } from '../../blocks';
|
|
2
|
-
import { PropertyInfoHandler } from "../types";
|
|
3
|
-
import { PropertyInfo, SchemaTypes } from "../../../schema";
|
|
4
|
-
|
|
5
|
-
export class CompareObjectHandler 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,27 +0,0 @@
|
|
|
1
|
-
import { AndBuilder, CodeBuilder, SlotBlock } from '../../blocks';
|
|
2
|
-
import { PropertyInfoHandler } from "../types";
|
|
3
|
-
import { PropertyInfo, SchemaTypes } from "../../../schema";
|
|
4
|
-
|
|
5
|
-
export class CompareValueHandler extends PropertyInfoHandler {
|
|
6
|
-
|
|
7
|
-
override handle(property: PropertyInfo<any>, builder: CodeBuilder): CodeBuilder | null {
|
|
8
|
-
|
|
9
|
-
if (property.type != SchemaTypes.Object) {
|
|
10
|
-
let compare = builder.getOrDefault<AndBuilder>("result.variable.compare");
|
|
11
|
-
const leftCompare = property.getSelectrorPath({ parent: "a" });
|
|
12
|
-
const rightCompare = property.getSelectrorPath({ parent: "b" });
|
|
13
|
-
|
|
14
|
-
if (compare == null) {
|
|
15
|
-
compare = builder.get<SlotBlock>("result")
|
|
16
|
-
.assign("const result", { name: "variable" })
|
|
17
|
-
.and(`${leftCompare} === ${rightCompare}`, { name: "compare" });
|
|
18
|
-
return builder;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
compare.and(`${leftCompare} === ${rightCompare}`);
|
|
22
|
-
return builder;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
return super.handle(property, builder);
|
|
26
|
-
}
|
|
27
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { CodeBuilder } from '../../blocks';
|
|
2
|
-
import { PropertyInfoHandler } from "../types";
|
|
3
|
-
import { PropertyInfo, SchemaTypes } from "../../../schema";
|
|
4
|
-
|
|
5
|
-
export class DeserializeComputedValueHandler extends PropertyInfoHandler {
|
|
6
|
-
|
|
7
|
-
override handle(property: PropertyInfo<any>, builder: CodeBuilder): CodeBuilder | null {
|
|
8
|
-
|
|
9
|
-
// Do nothing with the value
|
|
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,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 string value from a database to a Date value
|
|
8
|
-
*/
|
|
9
|
-
export class DeserializeDateHandler 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}: typeof ${entitySelectorPath} === "string" ? new Date(${entitySelectorPath}) : ${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} = typeof ${entitySelectorPath} === "string" ? new Date(${entitySelectorPath}) : ${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,16 +0,0 @@
|
|
|
1
|
-
import { CodeBuilder } from '../../blocks';
|
|
2
|
-
import { PropertyInfoHandler } from "../types";
|
|
3
|
-
import { PropertyInfo, SchemaTypes } from "../../../schema";
|
|
4
|
-
|
|
5
|
-
export class DeserializeFunctionHandler 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,29 +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
|
-
|
|
6
|
-
export class DeserializeObjectHandler 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.get<ObjectBuilder>(slotPath.get());
|
|
13
|
-
|
|
14
|
-
if (property.parent == null) {
|
|
15
|
-
objectBuilder.nested(property.name, property.name)
|
|
16
|
-
|
|
17
|
-
return builder;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
slotPath.push(...property.getParentPathArray());
|
|
21
|
-
const nestedObjectBuilder = builder.get<ObjectBuilder>(slotPath.get());
|
|
22
|
-
nestedObjectBuilder.nested(property.name, property.name)
|
|
23
|
-
|
|
24
|
-
return builder;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
return super.handle(property, builder);
|
|
28
|
-
}
|
|
29
|
-
}
|
|
@@ -1,33 +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 DeserializeValueHandler extends PropertyInfoHandler {
|
|
7
|
-
|
|
8
|
-
override handle(property: PropertyInfo<any>, builder: CodeBuilder): CodeBuilder | null {
|
|
9
|
-
|
|
10
|
-
if (property.type != SchemaTypes.Object && property.type != SchemaTypes.Date) {
|
|
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
|
-
if (property.parent == null) {
|
|
21
|
-
objectBuilder.property(`${property.name}: ${entitySelectorPath}`);
|
|
22
|
-
return builder;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
const slotPath = new SlotPath(...property.getParentPathArray());
|
|
26
|
-
objectBuilder = objectBuilder.get<ObjectBuilder>(slotPath.get());
|
|
27
|
-
objectBuilder.property(`${property.name}: ${entitySelectorPath}`);
|
|
28
|
-
return builder;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
return super.handle(property, builder);
|
|
32
|
-
}
|
|
33
|
-
}
|
|
@@ -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 EnableChangeTrackingObjectHandler 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`).appendBody(`${childAssignmentPath} = enableChangeTracking(${childAssignmentPath});`);
|
|
15
|
-
return builder;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
return super.handle(property, builder);
|
|
19
|
-
}
|
|
20
|
-
}
|
package/src/codegen/handlers/enableChangeTracking/EnableChangeTrackingPrimitiveValueHandler.ts
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { CodeBuilder } from '../../blocks';
|
|
2
|
-
import { PropertyInfoHandler } from "../types";
|
|
3
|
-
import { PropertyInfo, SchemaTypes } from "../../../schema";
|
|
4
|
-
|
|
5
|
-
export class EnableChangeTrackingPrimitiveValueHandler 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,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 EnrichmentComputedValueHandler extends PropertyInfoHandler {
|
|
6
|
-
|
|
7
|
-
override handle(property: PropertyInfo<any>, builder: CodeBuilder): CodeBuilder | null {
|
|
8
|
-
|
|
9
|
-
if (property.functionBody != null && property.type === SchemaTypes.Computed) {
|
|
10
|
-
|
|
11
|
-
const parameterNames: string[] = ["enriched", "collectionName"];
|
|
12
|
-
|
|
13
|
-
if (property.injected != null) {
|
|
14
|
-
|
|
15
|
-
const factory = builder.get<FunctionFactoryBuilder>("factory");
|
|
16
|
-
const parameter = factory.createParameter(property.injected);
|
|
17
|
-
factory.parameters(parameter);
|
|
18
|
-
|
|
19
|
-
parameterNames.push(parameter.name);
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
const declarationsSlot = builder.get<SlotBlock>("factory.function.declarations");
|
|
23
|
-
const defaultFunctionWithParameters = this.toNamedFunction(property.functionBody.toString(), declarationsSlot);
|
|
24
|
-
|
|
25
|
-
defaultFunctionWithParameters.builder.parameters(...parameterNames.map((w, i) => ({ name: defaultFunctionWithParameters.parameters[i], callName: w })));
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
const ifsSlot = builder.get<SlotBlock>("factory.function.ifs");
|
|
29
|
-
const enrichedAssignmentPath = property.getAssignmentPath({ parent: "enriched" });
|
|
30
|
-
ifsSlot.if(`${enrichedAssignmentPath} == null`).appendBody(`${enrichedAssignmentPath} = ${defaultFunctionWithParameters.builder.toCallable()}`);
|
|
31
|
-
|
|
32
|
-
return builder;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
return super.handle(property, builder);
|
|
36
|
-
}
|
|
37
|
-
}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { CodeBuilder, FunctionFactoryBuilder, SlotBlock } from '../../blocks';
|
|
2
|
-
import { PropertyInfoHandler } from "../types";
|
|
3
|
-
import { PropertyInfo } from "../../../schema";
|
|
4
|
-
|
|
5
|
-
export class EnrichmentDefaultFunctionHandler extends PropertyInfoHandler {
|
|
6
|
-
|
|
7
|
-
override handle(property: PropertyInfo<any>, builder: CodeBuilder): CodeBuilder | null {
|
|
8
|
-
|
|
9
|
-
if (property.defaultValue != null && typeof property.defaultValue === "function") {
|
|
10
|
-
|
|
11
|
-
this.setEnrichedProperty(property, builder);
|
|
12
|
-
|
|
13
|
-
// we need to add the call for this function too, want to create an if
|
|
14
|
-
const declarationsSlot = builder.get<SlotBlock>("factory.function.declarations");
|
|
15
|
-
|
|
16
|
-
if (property.injected != null) {
|
|
17
|
-
|
|
18
|
-
const factory = builder.get<FunctionFactoryBuilder>("factory");
|
|
19
|
-
|
|
20
|
-
if (factory == null) {
|
|
21
|
-
throw new Error("Error building enricher, could not find slot for factory")
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
const parameter = factory.createParameter(property.injected);
|
|
25
|
-
factory.parameters(parameter);
|
|
26
|
-
|
|
27
|
-
const defaultFunctionWithParameters = this.toNamedFunction(property.defaultValue.toString(), declarationsSlot);
|
|
28
|
-
// This is ok, defaults can only inject one parameter anyways
|
|
29
|
-
defaultFunctionWithParameters.builder.parameters(...defaultFunctionWithParameters.parameters.map(w => ({ name: w, callName: parameter.name })));
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
const ifsSlot = builder.get<SlotBlock>("factory.function.ifs");
|
|
33
|
-
const enrichedAssignmentPath = property.getAssignmentPath({ parent: "enriched" });
|
|
34
|
-
ifsSlot.if(`${enrichedAssignmentPath} == null`).appendBody(`${enrichedAssignmentPath} = ${defaultFunctionWithParameters.builder.toCallable()}`);
|
|
35
|
-
|
|
36
|
-
return builder;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
const defaultFunction = this.toNamedFunction(property.defaultValue.toString(), declarationsSlot);
|
|
40
|
-
|
|
41
|
-
const ifsSlot = builder.get<SlotBlock>("factory.function.ifs");
|
|
42
|
-
const enrichedAssignmentPath = property.getAssignmentPath({ parent: "enriched" });
|
|
43
|
-
ifsSlot.if(`${enrichedAssignmentPath} == null`).appendBody(`${enrichedAssignmentPath} = ${defaultFunction.builder.toCallable()}`);
|
|
44
|
-
|
|
45
|
-
return builder;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
return super.handle(property, builder);
|
|
49
|
-
}
|
|
50
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { CodeBuilder } from '../../blocks';
|
|
2
|
-
import { PropertyInfoHandler } from "../types";
|
|
3
|
-
import { PropertyInfo } from "../../../schema";
|
|
4
|
-
|
|
5
|
-
export class EnrichmentDefaultValueHandler extends PropertyInfoHandler {
|
|
6
|
-
|
|
7
|
-
override handle(property: PropertyInfo<any>, builder: CodeBuilder): CodeBuilder | null {
|
|
8
|
-
|
|
9
|
-
if (property.defaultValue != null && typeof property.defaultValue !== "function") {
|
|
10
|
-
|
|
11
|
-
this.setEnrichedProperty(property, builder);
|
|
12
|
-
|
|
13
|
-
return builder;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
return super.handle(property, builder);
|
|
17
|
-
}
|
|
18
|
-
}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { CodeBuilder, FunctionFactoryBuilder, SlotBlock } from '../../blocks';
|
|
2
|
-
import { PropertyInfoHandler } from "../types";
|
|
3
|
-
import { PropertyInfo, SchemaTypes } from "../../../schema";
|
|
4
|
-
|
|
5
|
-
export class EnrichmentFunctionHandler 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
|
-
const parameterNames: string[] = ["enriched", "collectionName"];
|
|
12
|
-
|
|
13
|
-
if (property.injected != null) {
|
|
14
|
-
|
|
15
|
-
const factory = builder.get<FunctionFactoryBuilder>("factory");
|
|
16
|
-
const parameter = factory.createParameter(property.injected);
|
|
17
|
-
factory.parameters(parameter);
|
|
18
|
-
|
|
19
|
-
parameterNames.push(parameter.name);
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
const declarationsSlot = builder.get<SlotBlock>("factory.function.declarations");
|
|
24
|
-
// Unwrap the functions to removing currying
|
|
25
|
-
const defaultFunctionWithParameters = this.toNamedFunction(property.functionBody.toString(), declarationsSlot);
|
|
26
|
-
|
|
27
|
-
defaultFunctionWithParameters.builder.parameters(...parameterNames.map((w, i) => ({ name: defaultFunctionWithParameters.parameters[i], callName: w })));
|
|
28
|
-
|
|
29
|
-
const slot = builder.get<SlotBlock>("factory.function.assignment");
|
|
30
|
-
const enrichedAssignmentPath = property.getAssignmentPath({ parent: "enriched" });
|
|
31
|
-
|
|
32
|
-
slot.assign(enrichedAssignmentPath).value(defaultFunctionWithParameters.builder.toCallable());
|
|
33
|
-
return builder;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
return super.handle(property, builder);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
@@ -1,44 +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 EnrichmentNullableObjectHandler extends PropertyInfoHandler {
|
|
7
|
-
|
|
8
|
-
override handle(property: PropertyInfo<any>, builder: CodeBuilder): CodeBuilder | null {
|
|
9
|
-
|
|
10
|
-
if (property.type === SchemaTypes.Object && (property.isNullable || property.isOptional)) {
|
|
11
|
-
|
|
12
|
-
const slotPath = new SlotPath("factory", "function", "enriched", "object", "enriched");
|
|
13
|
-
const nestedSlotPath = this.buildSlotPath(property, slotPath);
|
|
14
|
-
|
|
15
|
-
// Generate null check for current level using parent relationships
|
|
16
|
-
const entityPath = property.getSelectrorPath({ parent: "entity", assignmentType: "FORCE_NULLABLE_OR_OPTIONAL" });
|
|
17
|
-
const enrichedPath = property.getAssignmentPath({ parent: "enriched" });
|
|
18
|
-
|
|
19
|
-
const ifsSlot = builder.get<SlotBlock>("factory.function.ifs");
|
|
20
|
-
|
|
21
|
-
if (ifsSlot == null) {
|
|
22
|
-
throw new Error("Error building enricher, could not find slot for factory.function.ifs")
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
ifsSlot.if(`${entityPath} != null`).appendBody(`${enrichedPath} = enableChangeTracking(${enrichedPath} || {}, "${property.name}");`);
|
|
27
|
-
|
|
28
|
-
let enriched = builder.getOrDefault<ObjectBuilder>(nestedSlotPath.get());
|
|
29
|
-
|
|
30
|
-
if (enriched == null) {
|
|
31
|
-
const enrichedSlot = builder.get<ObjectBuilder>(slotPath.get());
|
|
32
|
-
|
|
33
|
-
if (enrichedSlot == null) {
|
|
34
|
-
throw new Error(`Error building enricher, could not find slot for ${slotPath.get()}`)
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
enriched = enrichedSlot.nested(property.name, property.name);
|
|
38
|
-
}
|
|
39
|
-
return builder;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
return super.handle(property, builder);
|
|
43
|
-
}
|
|
44
|
-
}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { CodeBuilder, IfBuilder, SlotBlock } from '../../blocks';
|
|
2
|
-
import { PropertyInfoHandler } from "../types";
|
|
3
|
-
import { PropertyInfo, SchemaTypes } from "../../../schema";
|
|
4
|
-
|
|
5
|
-
export class EnrichmentObjectHandler extends PropertyInfoHandler {
|
|
6
|
-
|
|
7
|
-
override handle(property: PropertyInfo<any>, builder: CodeBuilder): CodeBuilder | null {
|
|
8
|
-
|
|
9
|
-
if (property.type === SchemaTypes.Object && (property.isNullable || property.isOptional) === false) {
|
|
10
|
-
const assignmentSlot = builder.get<SlotBlock>("factory.function.assignment");
|
|
11
|
-
const childPath = property.getAssignmentPath({ parent: "enriched" });
|
|
12
|
-
|
|
13
|
-
if (assignmentSlot == null) {
|
|
14
|
-
throw new Error("Error building enricher, could not find slot for factory.function.assignment")
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
assignmentSlot.assign(childPath, { name: `[${childPath}]` }).call("enableChangeTracking", { name: "builder" });
|
|
18
|
-
|
|
19
|
-
const changeTrackingSlot = builder.get<IfBuilder>("factory.function.tracking.freeze");
|
|
20
|
-
|
|
21
|
-
const selectorPath = property.getSelectrorPath({ parent: "enriched" });
|
|
22
|
-
changeTrackingSlot.if(`${selectorPath} != null`, { unshift: true }).unshiftBody(`${selectorPath} = Object.freeze(${selectorPath})`)
|
|
23
|
-
|
|
24
|
-
return builder;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
return super.handle(property, builder);
|
|
28
|
-
}
|
|
29
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { CodeBuilder } from '../../blocks';
|
|
2
|
-
import { PropertyInfoHandler } from "../types";
|
|
3
|
-
import { PropertyInfo, SchemaTypes } from "../../../schema";
|
|
4
|
-
|
|
5
|
-
export class EnrichmentObjectIdentityHandler extends PropertyInfoHandler {
|
|
6
|
-
|
|
7
|
-
override handle(property: PropertyInfo<any>, builder: CodeBuilder): CodeBuilder | null {
|
|
8
|
-
|
|
9
|
-
if (property.isIdentity === true && property.type == SchemaTypes.Object) {
|
|
10
|
-
// do nothing right now
|
|
11
|
-
return builder;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
return super.handle(property, builder);
|
|
15
|
-
}
|
|
16
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { CodeBuilder } from '../../blocks';
|
|
2
|
-
import { PropertyInfoHandler } from "../types";
|
|
3
|
-
import { PropertyInfo } from "../../../schema";
|
|
4
|
-
|
|
5
|
-
export class EnrichmentPrimitiveHandler extends PropertyInfoHandler {
|
|
6
|
-
|
|
7
|
-
override handle(property: PropertyInfo<any>, builder: CodeBuilder): CodeBuilder | null {
|
|
8
|
-
|
|
9
|
-
this.setEnrichedProperty(property, builder);
|
|
10
|
-
|
|
11
|
-
return builder;
|
|
12
|
-
}
|
|
13
|
-
}
|