@resistdesign/voltra 3.0.0-alpha.2 → 3.0.0-alpha.21
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/README.md +327 -7
- package/api/DBX/DBXAsserts.d.ts +95 -0
- package/api/DBX/DBXRequest.d.ts +5 -0
- package/api/DBX/DBXRuntime.d.ts +5 -0
- package/api/DBX/DBXScenarioConfig.d.ts +9 -0
- package/api/DBX/DBXSeed.d.ts +124 -0
- package/api/DBX/DBXTypes.d.ts +176 -0
- package/api/DBX/index.d.ts +8 -0
- package/api/DataAccessControl.d.ts +220 -0
- package/api/Indexing/API.d.ts +224 -0
- package/api/Indexing/Cursor.d.ts +101 -0
- package/api/Indexing/Handler/Config.d.ts +39 -0
- package/api/Indexing/Handler.d.ts +166 -0
- package/api/Indexing/Trace.d.ts +54 -0
- package/api/Indexing/Types.d.ts +204 -0
- package/api/Indexing/ddb/AwsSdkV3Adapter.d.ts +8 -0
- package/api/Indexing/ddb/Types.d.ts +169 -0
- package/api/Indexing/docId.d.ts +27 -0
- package/api/Indexing/exact/ExactDdb.d.ts +58 -0
- package/api/Indexing/exact/ExactIndex.d.ts +90 -0
- package/api/Indexing/exact/ExactS3.d.ts +41 -0
- package/api/Indexing/fieldQualification.d.ts +12 -0
- package/api/Indexing/fulltext/FullTextDdbBackend.d.ts +210 -0
- package/api/Indexing/fulltext/FullTextMemoryBackend.d.ts +93 -0
- package/api/Indexing/fulltext/Schema.d.ts +164 -0
- package/api/Indexing/hashUniversal.d.ts +13 -0
- package/api/Indexing/index.d.ts +45 -0
- package/api/Indexing/lossy/LossyDdb.d.ts +43 -0
- package/api/Indexing/lossy/LossyIndex.d.ts +72 -0
- package/api/Indexing/lossy/LossyS3.d.ts +40 -0
- package/api/Indexing/rel/Cursor.d.ts +25 -0
- package/api/Indexing/rel/Handlers.d.ts +143 -0
- package/api/Indexing/rel/RelationalDdb.d.ts +169 -0
- package/api/Indexing/rel/RelationalInMemoryBackend.d.ts +38 -0
- package/api/Indexing/rel/Types.d.ts +69 -0
- package/api/Indexing/structured/Cursor.d.ts +26 -0
- package/api/Indexing/structured/Handlers.d.ts +128 -0
- package/api/Indexing/structured/SearchStructured.d.ts +44 -0
- package/api/Indexing/structured/StructuredDdb.d.ts +166 -0
- package/api/Indexing/structured/StructuredDdbBackend.d.ts +109 -0
- package/api/Indexing/structured/StructuredInMemoryBackend.d.ts +34 -0
- package/api/Indexing/structured/StructuredInMemoryIndex.d.ts +58 -0
- package/api/Indexing/structured/StructuredStringLike.d.ts +25 -0
- package/api/Indexing/structured/StructuredWriter.d.ts +61 -0
- package/api/Indexing/structured/Types.d.ts +126 -0
- package/api/Indexing/structured/index.d.ts +9 -0
- package/api/Indexing/tokenize.d.ts +31 -0
- package/api/ORM/DACUtils.d.ts +270 -0
- package/api/ORM/ListItemUtils.d.ts +40 -0
- package/api/ORM/ORMRouteMap.d.ts +55 -0
- package/api/ORM/TypeInfoORMService.d.ts +555 -0
- package/api/ORM/drivers/DynamoDBDataItemDBDriver/ConfigTypes.d.ts +229 -0
- package/api/ORM/drivers/DynamoDBDataItemDBDriver.d.ts +89 -0
- package/api/ORM/drivers/InMemoryDataItemDBDriver/ConfigTypes.d.ts +4 -0
- package/api/ORM/drivers/InMemoryDataItemDBDriver.d.ts +55 -0
- package/api/ORM/drivers/InMemoryFileItemDBDriver/ConfigTypes.d.ts +13 -0
- package/api/ORM/drivers/InMemoryFileItemDBDriver.d.ts +98 -0
- package/api/ORM/drivers/InMemoryItemRelationshipDBDriver.d.ts +16 -0
- package/api/ORM/drivers/IndexingRelationshipDriver.d.ts +123 -0
- package/api/ORM/drivers/S3FileItemDBDriver/ConfigTypes.d.ts +322 -0
- package/api/ORM/drivers/S3FileItemDBDriver/S3FileDriver.d.ts +118 -0
- package/{src/api → api}/ORM/drivers/S3FileItemDBDriver.d.ts +27 -0
- package/api/ORM/drivers/common/SupportedTypeInfoORMDBDrivers.d.ts +36 -0
- package/{src/api → api}/ORM/drivers/common/Types.d.ts +120 -0
- package/api/ORM/drivers/index.d.ts +7 -0
- package/api/ORM/index.d.ts +7 -0
- package/api/ORM/indexing/criteriaToStructuredWhere.d.ts +17 -0
- package/api/Router/AWS.d.ts +80 -0
- package/api/Router/Auth.d.ts +14 -0
- package/api/Router/CORS.d.ts +66 -0
- package/{src/api → api}/Router/Types.d.ts +70 -4
- package/api/Router/index.d.ts +89 -0
- package/api/index.d.ts +68 -0
- package/api/index.js +9204 -0
- package/app/forms/Engine.d.ts +20 -0
- package/app/forms/core/createAutoField.d.ts +35 -0
- package/app/forms/core/createFormRenderer.d.ts +24 -0
- package/app/forms/core/getFieldKind.d.ts +14 -0
- package/app/forms/core/index.d.ts +11 -0
- package/app/forms/core/mergeSuites.d.ts +22 -0
- package/app/forms/core/resolveSuite.d.ts +14 -0
- package/app/forms/core/types.d.ts +153 -0
- package/app/forms/index.d.ts +9 -0
- package/app/forms/types.d.ts +156 -0
- package/app/helpers/styled.d.ts +3 -0
- package/app/index.d.ts +98 -0
- package/app/index.js +1386 -0
- package/{src/app → app}/utils/ApplicationState.d.ts +115 -0
- package/{src/app → app}/utils/ApplicationStateLoader.d.ts +40 -0
- package/app/utils/Controller.d.ts +10 -0
- package/app/utils/Debug.d.ts +14 -0
- package/app/utils/EasyLayout.d.ts +89 -0
- package/app/utils/History.d.ts +148 -0
- package/app/utils/Route.d.ts +129 -0
- package/app/utils/RouteHistory.d.ts +26 -0
- package/app/utils/Service.d.ts +45 -0
- package/app/utils/TypeInfoORMAPIUtils.d.ts +94 -0
- package/app/utils/TypeInfoORMClient.d.ts +103 -0
- package/app/utils/easy-layout/computeAreaBounds.d.ts +5 -0
- package/app/utils/easy-layout/computeTracks.d.ts +16 -0
- package/app/utils/easy-layout/index.d.ts +5 -0
- package/app/utils/easy-layout/parseTemplate.d.ts +12 -0
- package/app/utils/easy-layout/types.d.ts +52 -0
- package/app/utils/easy-layout/validateAreas.d.ts +5 -0
- package/app/utils/index.d.ts +23 -0
- package/{src/common/TypeParsing → build}/TypeMapping.d.ts +8 -0
- package/build/TypeParsing.d.ts +10 -0
- package/build/index.d.ts +15 -0
- package/build/index.js +579 -0
- package/common/CommandLine/collectRequiredEnvironmentVariables.d.ts +9 -0
- package/common/CommandLine/index.d.ts +6 -0
- package/common/HelperTypes.d.ts +9 -0
- package/common/IdGeneration/getSimpleId.d.ts +8 -0
- package/{src/common → common}/ItemRelationshipInfoTypes.d.ts +19 -1
- package/common/ItemRelationships/ItemRelationshipValidation.d.ts +21 -0
- package/common/Logging/Utils.d.ts +19 -0
- package/common/Routing.d.ts +67 -0
- package/common/SearchTypes.d.ts +248 -0
- package/common/SearchUtils.d.ts +55 -0
- package/{src/common → common}/SearchValidation.d.ts +10 -0
- package/{src/common → common}/StringTransformers.d.ts +11 -0
- package/common/Testing/CLI.d.ts +6 -0
- package/common/Testing/CLI.js +432 -0
- package/{src/common → common}/Testing/Types.d.ts +103 -4
- package/{src/common → common}/Testing/Utils.d.ts +65 -1
- package/common/Testing/index.d.ts +8 -0
- package/common/TypeInfoDataItemUtils.d.ts +39 -0
- package/common/TypeInfoORM/Types.d.ts +342 -0
- package/common/TypeParsing/Constants.d.ts +4 -0
- package/{src/common → common}/TypeParsing/ParsingUtils/Constants.d.ts +3 -0
- package/{src/common → common}/TypeParsing/ParsingUtils/checkType.d.ts +6 -0
- package/{src/common → common}/TypeParsing/ParsingUtils/checkUnionType.d.ts +6 -0
- package/common/TypeParsing/ParsingUtils/extractCommentTags.d.ts +8 -0
- package/common/TypeParsing/ParsingUtils/extractLiteralValues.d.ts +12 -0
- package/common/TypeParsing/ParsingUtils/extractTypeDetails.d.ts +14 -0
- package/common/TypeParsing/ParsingUtils/getPrimaryFieldForTypeInfo.d.ts +18 -0
- package/common/TypeParsing/ParsingUtils/getTypeInfo.d.ts +9 -0
- package/{src/common → common}/TypeParsing/ParsingUtils/getTypeInfoField.d.ts +6 -0
- package/common/TypeParsing/ParsingUtils/getTypeInfoFromAliasType.d.ts +11 -0
- package/common/TypeParsing/ParsingUtils/getTypeInfoFromFieldFilter.d.ts +12 -0
- package/common/TypeParsing/ParsingUtils/getTypeInfoFromTypeAlias.d.ts +11 -0
- package/common/TypeParsing/ParsingUtils/getTypeKeyword.d.ts +9 -0
- package/common/TypeParsing/ParsingUtils/getUnionOrIntersectionTypeInfo.d.ts +11 -0
- package/common/TypeParsing/ParsingUtils/getUnionOrLiteralStringValues.d.ts +8 -0
- package/{src/common → common}/TypeParsing/TypeInfo.d.ts +61 -1
- package/{src/common → common}/TypeParsing/Utils.d.ts +26 -0
- package/{src/common → common}/TypeParsing/Validation.d.ts +105 -0
- package/common/TypeParsing/index.d.ts +8 -0
- package/common/index.d.ts +50 -0
- package/common/index.js +413 -0
- package/{src/iac → iac}/SimpleCFT.d.ts +46 -2
- package/iac/index.d.ts +40 -0
- package/iac/index.js +258 -0
- package/iac/packs/auth/user-management.d.ts +80 -0
- package/iac/packs/auth.d.ts +86 -0
- package/iac/packs/build/utils.d.ts +289 -0
- package/iac/packs/build.d.ts +92 -0
- package/iac/packs/cdn.d.ts +33 -0
- package/iac/packs/cloud-function.d.ts +67 -0
- package/{src/iac → iac}/packs/database.d.ts +4 -1
- package/{src/iac → iac}/packs/dns.d.ts +22 -1
- package/iac/packs/file-storage.d.ts +46 -0
- package/iac/packs/gateway.d.ts +79 -0
- package/iac/packs/index.d.ts +60 -0
- package/iac/packs/index.js +1622 -0
- package/iac/packs/repo.d.ts +28 -0
- package/iac/packs/ssl-certificate.d.ts +28 -0
- package/{src/iac → iac}/types/Constants.d.ts +15 -0
- package/iac/types/Renderers.d.ts +96 -0
- package/iac/types/Types.d.ts +131 -0
- package/iac/types/Utils.d.ts +9 -0
- package/{src/iac → iac}/utils/index.d.ts +56 -5
- package/iac/utils/patch-utils.d.ts +66 -0
- package/native/forms/createNativeFormRenderer.d.ts +21 -0
- package/native/forms/index.d.ts +8 -0
- package/native/forms/primitives/index.d.ts +48 -0
- package/native/forms/suite.d.ts +15 -0
- package/native/index.d.ts +15 -0
- package/native/index.js +1323 -0
- package/native/utils/EasyLayout.d.ts +88 -0
- package/native/utils/History.d.ts +113 -0
- package/native/utils/NativeRoute.d.ts +44 -0
- package/native/utils/Route.d.ts +50 -0
- package/native/utils/index.d.ts +11 -0
- package/package.json +87 -42
- package/web/forms/UI.d.ts +67 -0
- package/web/forms/createWebFormRenderer.d.ts +21 -0
- package/web/forms/index.d.ts +9 -0
- package/web/forms/primitives/index.d.ts +21 -0
- package/web/forms/suite.d.ts +15 -0
- package/web/index.d.ts +15 -0
- package/web/index.js +1297 -0
- package/web/utils/EasyLayout.d.ts +47 -0
- package/web/utils/Route.d.ts +20 -0
- package/web/utils/index.d.ts +7 -0
- package/src/api/DataAccessControl.d.ts +0 -85
- package/src/api/DataAccessControl.js +0 -159
- package/src/api/ORM/DACUtils.d.ts +0 -60
- package/src/api/ORM/DACUtils.js +0 -197
- package/src/api/ORM/ListItemUtils.d.ts +0 -7
- package/src/api/ORM/ListItemUtils.js +0 -22
- package/src/api/ORM/ORMRouteMap.d.ts +0 -19
- package/src/api/ORM/ORMRouteMap.js +0 -82
- package/src/api/ORM/TypeInfoORMService.d.ts +0 -103
- package/src/api/ORM/TypeInfoORMService.js +0 -581
- package/src/api/ORM/drivers/DynamoDBDataItemDBDriver/ConfigTypes.d.ts +0 -63
- package/src/api/ORM/drivers/DynamoDBDataItemDBDriver/ConfigTypes.js +0 -2
- package/src/api/ORM/drivers/DynamoDBDataItemDBDriver.d.ts +0 -36
- package/src/api/ORM/drivers/DynamoDBDataItemDBDriver.js +0 -282
- package/src/api/ORM/drivers/S3FileItemDBDriver/ConfigTypes.d.ts +0 -90
- package/src/api/ORM/drivers/S3FileItemDBDriver/ConfigTypes.js +0 -2
- package/src/api/ORM/drivers/S3FileItemDBDriver/S3FileDriver.d.ts +0 -45
- package/src/api/ORM/drivers/S3FileItemDBDriver/S3FileDriver.js +0 -127
- package/src/api/ORM/drivers/S3FileItemDBDriver.js +0 -182
- package/src/api/ORM/drivers/common/SupportedTypeInfoORMDBDrivers.d.ts +0 -12
- package/src/api/ORM/drivers/common/SupportedTypeInfoORMDBDrivers.js +0 -20
- package/src/api/ORM/drivers/common/Types.js +0 -14
- package/src/api/ORM/drivers/common/index.js +0 -18
- package/src/api/ORM/drivers/index.d.ts +0 -3
- package/src/api/ORM/drivers/index.js +0 -19
- package/src/api/ORM/index.d.ts +0 -4
- package/src/api/ORM/index.js +0 -43
- package/src/api/Router/AWS.d.ts +0 -26
- package/src/api/Router/AWS.js +0 -76
- package/src/api/Router/Auth.d.ts +0 -2
- package/src/api/Router/Auth.js +0 -9
- package/src/api/Router/CORS.d.ts +0 -6
- package/src/api/Router/CORS.js +0 -27
- package/src/api/Router/Types.js +0 -2
- package/src/api/Router/index.d.ts +0 -18
- package/src/api/Router/index.js +0 -145
- package/src/api/index.d.ts +0 -3
- package/src/api/index.js +0 -39
- package/src/app/index.d.ts +0 -1
- package/src/app/index.js +0 -37
- package/src/app/utils/ApplicationState.js +0 -86
- package/src/app/utils/ApplicationStateLoader.js +0 -57
- package/src/app/utils/Controller.d.ts +0 -4
- package/src/app/utils/Controller.js +0 -47
- package/src/app/utils/Debug.d.ts +0 -4
- package/src/app/utils/Debug.js +0 -30
- package/src/app/utils/EasyLayout.d.ts +0 -49
- package/src/app/utils/EasyLayout.js +0 -122
- package/src/app/utils/Route.d.ts +0 -28
- package/src/app/utils/Route.js +0 -102
- package/src/app/utils/Service.d.ts +0 -12
- package/src/app/utils/Service.js +0 -34
- package/src/app/utils/TypeInfoORMAPIUtils.d.ts +0 -20
- package/src/app/utils/TypeInfoORMAPIUtils.js +0 -62
- package/src/app/utils/TypeInfoORMClient.d.ts +0 -24
- package/src/app/utils/TypeInfoORMClient.js +0 -69
- package/src/app/utils/index.d.ts +0 -8
- package/src/app/utils/index.js +0 -24
- package/src/common/CommandLine/collectRequiredEnvironmentVariables.d.ts +0 -1
- package/src/common/CommandLine/collectRequiredEnvironmentVariables.js +0 -16
- package/src/common/HelperTypes.d.ts +0 -3
- package/src/common/HelperTypes.js +0 -2
- package/src/common/IdGeneration/getSimpleId.d.ts +0 -4
- package/src/common/IdGeneration/getSimpleId.js +0 -16
- package/src/common/IdGeneration/index.js +0 -17
- package/src/common/ItemRelationshipInfoTypes.js +0 -20
- package/src/common/ItemRelationships/ItemRelationshipValidation.d.ts +0 -10
- package/src/common/ItemRelationships/ItemRelationshipValidation.js +0 -43
- package/src/common/ItemRelationships/index.js +0 -17
- package/src/common/Logging/Utils.d.ts +0 -10
- package/src/common/Logging/Utils.js +0 -33
- package/src/common/Logging/index.js +0 -17
- package/src/common/Routing.d.ts +0 -25
- package/src/common/Routing.js +0 -102
- package/src/common/SearchTypes.d.ts +0 -98
- package/src/common/SearchTypes.js +0 -39
- package/src/common/SearchUtils.d.ts +0 -22
- package/src/common/SearchUtils.js +0 -134
- package/src/common/SearchValidation.js +0 -90
- package/src/common/Storyboarding/Types.d.ts +0 -25
- package/src/common/Storyboarding/Types.js +0 -2
- package/src/common/StringTransformers.js +0 -36
- package/src/common/Testing/CLI.d.ts +0 -2
- package/src/common/Testing/CLI.js +0 -56
- package/src/common/Testing/Types.js +0 -19
- package/src/common/Testing/Utils.js +0 -334
- package/src/common/Testing/index.d.ts +0 -2
- package/src/common/Testing/index.js +0 -18
- package/src/common/TypeInfoDataItemUtils.d.ts +0 -10
- package/src/common/TypeInfoDataItemUtils.js +0 -55
- package/src/common/TypeInfoORM/Types.d.ts +0 -76
- package/src/common/TypeInfoORM/Types.js +0 -55
- package/src/common/TypeInfoORM/index.js +0 -17
- package/src/common/TypeParsing/Constants.d.ts +0 -1
- package/src/common/TypeParsing/Constants.js +0 -4
- package/src/common/TypeParsing/ParsingUtils/Constants.js +0 -8
- package/src/common/TypeParsing/ParsingUtils/checkType.js +0 -46
- package/src/common/TypeParsing/ParsingUtils/checkUnionType.js +0 -15
- package/src/common/TypeParsing/ParsingUtils/extractCommentTags.d.ts +0 -2
- package/src/common/TypeParsing/ParsingUtils/extractCommentTags.js +0 -105
- package/src/common/TypeParsing/ParsingUtils/extractLiteralValues.d.ts +0 -6
- package/src/common/TypeParsing/ParsingUtils/extractLiteralValues.js +0 -42
- package/src/common/TypeParsing/ParsingUtils/extractTypeDetails.d.ts +0 -8
- package/src/common/TypeParsing/ParsingUtils/extractTypeDetails.js +0 -14
- package/src/common/TypeParsing/ParsingUtils/getPrimaryFieldForTypeInfo.d.ts +0 -5
- package/src/common/TypeParsing/ParsingUtils/getPrimaryFieldForTypeInfo.js +0 -27
- package/src/common/TypeParsing/ParsingUtils/getTypeInfo.d.ts +0 -3
- package/src/common/TypeParsing/ParsingUtils/getTypeInfo.js +0 -27
- package/src/common/TypeParsing/ParsingUtils/getTypeInfoField.js +0 -44
- package/src/common/TypeParsing/ParsingUtils/getTypeInfoFromAliasType.d.ts +0 -4
- package/src/common/TypeParsing/ParsingUtils/getTypeInfoFromAliasType.js +0 -28
- package/src/common/TypeParsing/ParsingUtils/getTypeInfoFromFieldFilter.d.ts +0 -4
- package/src/common/TypeParsing/ParsingUtils/getTypeInfoFromFieldFilter.js +0 -105
- package/src/common/TypeParsing/ParsingUtils/getTypeInfoFromTypeAlias.d.ts +0 -4
- package/src/common/TypeParsing/ParsingUtils/getTypeInfoFromTypeAlias.js +0 -20
- package/src/common/TypeParsing/ParsingUtils/getTypeKeyword.d.ts +0 -3
- package/src/common/TypeParsing/ParsingUtils/getTypeKeyword.js +0 -17
- package/src/common/TypeParsing/ParsingUtils/getUnionOrIntersectionTypeInfo.d.ts +0 -4
- package/src/common/TypeParsing/ParsingUtils/getUnionOrIntersectionTypeInfo.js +0 -49
- package/src/common/TypeParsing/ParsingUtils/getUnionOrLiteralStringValues.d.ts +0 -2
- package/src/common/TypeParsing/ParsingUtils/getUnionOrLiteralStringValues.js +0 -24
- package/src/common/TypeParsing/TypeInfo.js +0 -13
- package/src/common/TypeParsing/TypeMapping.js +0 -32
- package/src/common/TypeParsing/TypeParsing.d.ts +0 -5
- package/src/common/TypeParsing/TypeParsing.js +0 -39
- package/src/common/TypeParsing/Utils.js +0 -94
- package/src/common/TypeParsing/Validation.js +0 -340
- package/src/common/TypeParsing/index.d.ts +0 -5
- package/src/common/TypeParsing/index.js +0 -44
- package/src/common/index.d.ts +0 -11
- package/src/common/index.js +0 -47
- package/src/iac/SimpleCFT.js +0 -82
- package/src/iac/index.d.ts +0 -9
- package/src/iac/index.js +0 -48
- package/src/iac/packs/auth/user-management.d.ts +0 -14
- package/src/iac/packs/auth/user-management.js +0 -302
- package/src/iac/packs/auth.d.ts +0 -19
- package/src/iac/packs/auth.js +0 -47
- package/src/iac/packs/build/utils.d.ts +0 -100
- package/src/iac/packs/build/utils.js +0 -23
- package/src/iac/packs/build.d.ts +0 -29
- package/src/iac/packs/build.js +0 -217
- package/src/iac/packs/cdn.d.ts +0 -12
- package/src/iac/packs/cdn.js +0 -113
- package/src/iac/packs/cloud-function.d.ts +0 -17
- package/src/iac/packs/cloud-function.js +0 -69
- package/src/iac/packs/database.js +0 -27
- package/src/iac/packs/dns.js +0 -26
- package/src/iac/packs/file-storage.d.ts +0 -14
- package/src/iac/packs/file-storage.js +0 -71
- package/src/iac/packs/gateway.d.ts +0 -27
- package/src/iac/packs/gateway.js +0 -342
- package/src/iac/packs/index.d.ts +0 -11
- package/src/iac/packs/index.js +0 -27
- package/src/iac/packs/repo.d.ts +0 -10
- package/src/iac/packs/repo.js +0 -34
- package/src/iac/packs/ssl-certificate.d.ts +0 -10
- package/src/iac/packs/ssl-certificate.js +0 -36
- package/src/iac/types/Constants.js +0 -20
- package/src/iac/types/IaCTypes.js +0 -14
- package/src/iac/types/Renderers.d.ts +0 -12
- package/src/iac/types/Renderers.js +0 -112
- package/src/iac/types/Types.d.ts +0 -37
- package/src/iac/types/Types.js +0 -2
- package/src/iac/types/Utils.d.ts +0 -2
- package/src/iac/types/Utils.js +0 -60
- package/src/iac/types/generate.js +0 -31
- package/src/iac/utils/index.js +0 -105
- package/src/iac/utils/patch-utils.d.ts +0 -15
- package/src/iac/utils/patch-utils.js +0 -62
- package/src/index.d.ts +0 -178
- package/src/index.js +0 -214
- /package/{src/api → api}/ORM/drivers/common/index.d.ts +0 -0
- /package/{src/common → common}/IdGeneration/index.d.ts +0 -0
- /package/{src/common → common}/ItemRelationships/index.d.ts +0 -0
- /package/{src/common → common}/Logging/index.d.ts +0 -0
- /package/{src/common → common}/TypeInfoORM/index.d.ts +0 -0
- /package/{src/iac → iac}/types/CloudFormationResourceSpecification.d.ts +0 -0
- /package/{src/iac → iac}/types/IaCTypes.d.ts +0 -0
- /package/{src/iac → iac}/types/generate.d.ts +0 -0
package/README.md
CHANGED
|
@@ -14,6 +14,80 @@
|
|
|
14
14
|
yarn add @resistdesign/voltra
|
|
15
15
|
```
|
|
16
16
|
|
|
17
|
+
Runtime peer dependencies:
|
|
18
|
+
|
|
19
|
+
- Consumers must provide `react` (required).
|
|
20
|
+
- Web consumers must provide `react-dom`.
|
|
21
|
+
- Native consumers must provide `react-native`.
|
|
22
|
+
|
|
23
|
+
### Imports
|
|
24
|
+
|
|
25
|
+
Prefer the public entrypoints below to keep imports stable and IDE auto-imports clean.
|
|
26
|
+
|
|
27
|
+
The root import `@resistdesign/voltra` is intentionally unsupported to avoid
|
|
28
|
+
cross-runtime bundling issues.
|
|
29
|
+
|
|
30
|
+
Preferred:
|
|
31
|
+
|
|
32
|
+
```ts
|
|
33
|
+
import { SimpleCFT } from "@resistdesign/voltra/iac";
|
|
34
|
+
import { addDNS } from "@resistdesign/voltra/iac/packs";
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
Not supported:
|
|
38
|
+
|
|
39
|
+
```ts
|
|
40
|
+
import addDNS from "@resistdesign/voltra/iac/packs/dns";
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
Public entrypoints:
|
|
44
|
+
|
|
45
|
+
- `@resistdesign/voltra/api`
|
|
46
|
+
- `@resistdesign/voltra/app`
|
|
47
|
+
- `@resistdesign/voltra/common`
|
|
48
|
+
- `@resistdesign/voltra/web`
|
|
49
|
+
- `@resistdesign/voltra/native`
|
|
50
|
+
- `@resistdesign/voltra/iac`
|
|
51
|
+
- `@resistdesign/voltra/iac/packs`
|
|
52
|
+
- `@resistdesign/voltra/build`
|
|
53
|
+
|
|
54
|
+
Common imports by domain:
|
|
55
|
+
|
|
56
|
+
```ts
|
|
57
|
+
import { addRoutesToRouteMap, handleCloudFunctionEvent } from "@resistdesign/voltra/api";
|
|
58
|
+
import { TypeInfo, TypeInfoORMServiceError } from "@resistdesign/voltra/common";
|
|
59
|
+
import { parseTemplate, computeTrackPixels } from "@resistdesign/voltra/app";
|
|
60
|
+
import { AutoField, AutoForm, createWebFormRenderer, getEasyLayout } from "@resistdesign/voltra/web";
|
|
61
|
+
import { createNativeFormRenderer, makeNativeEasyLayout } from "@resistdesign/voltra/native";
|
|
62
|
+
import { SimpleCFT } from "@resistdesign/voltra/iac";
|
|
63
|
+
import { addDNS } from "@resistdesign/voltra/iac/packs";
|
|
64
|
+
import { getTypeInfoMapFromTypeScript } from "@resistdesign/voltra/build";
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
------------
|
|
68
|
+
|
|
69
|
+
## Build-time Type Parsing (Advanced)
|
|
70
|
+
|
|
71
|
+
Voltra exposes TypeScript compiler–powered parsing utilities intended **only for build-time tooling** (scripts,
|
|
72
|
+
generators, CI).
|
|
73
|
+
|
|
74
|
+
These APIs depend on the TypeScript compiler and **must not be imported into runtime code** (e.g. Lambdas, servers,
|
|
75
|
+
browsers).
|
|
76
|
+
|
|
77
|
+
Build entrypoint:
|
|
78
|
+
|
|
79
|
+
```ts
|
|
80
|
+
import {getTypeInfoMapFromTypeScript} from "@resistdesign/voltra/build";
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
Use this entrypoint for:
|
|
84
|
+
|
|
85
|
+
- Code generation
|
|
86
|
+
- Pre-build analysis
|
|
87
|
+
- Producing static artifacts (JSON / TS)
|
|
88
|
+
|
|
89
|
+
Do **not** import `@resistdesign/voltra/build` from runtime code.
|
|
90
|
+
|
|
17
91
|
## With our powers combined!
|
|
18
92
|
|
|
19
93
|
<table style="border: 0 solid black;">
|
|
@@ -33,13 +107,240 @@ front-end apps.</td>
|
|
|
33
107
|
|
|
34
108
|
## Features
|
|
35
109
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
|
39
|
-
|
|
40
|
-
|
|
|
41
|
-
|
|
|
42
|
-
|
|
|
110
|
+
App features include form generation via TypeInfo-driven AutoForm/AutoField with validation, constraints, and relation/custom handlers.
|
|
111
|
+
|
|
112
|
+
| API | App | IaC |
|
|
113
|
+
|-----------------------------------------------------------------------------|-----------------------------------------------------------------|---------------------------------------------------------------|
|
|
114
|
+
| RPC | Easy Layout | Full Parameter Support: Groups/Labels/Types/etc... |
|
|
115
|
+
| Auth: Public/Secured/Role Based | State Management | Packs: Easy to add Database/Storage/Auth/Functions/etc... |
|
|
116
|
+
| Routing: Nesting/Handlers/Injected Handlers | Routing: Param Handlers/Parallel Routes/Hooks | Utilities: Patching Stacks/Constants/Standard Includes/etc... |
|
|
117
|
+
| ORM: TypeScript Type Driven Auto-generated Data Contexts with Relationships | Form Generation: AutoForm/AutoField + constraints/relations | Typed Build Spec Creation |
|
|
118
|
+
| | Form Engine: validation, defaults, denied ops, custom type flow | Typed Resource Parameters |
|
|
119
|
+
|
|
120
|
+
## EasyLayout (Web + Native + Core)
|
|
121
|
+
|
|
122
|
+
EasyLayout now has:
|
|
123
|
+
|
|
124
|
+
- Shared core parsing/math in `@resistdesign/voltra/app` (`parseTemplate`, `computeTrackPixels`, etc.).
|
|
125
|
+
- Web rendering via CSS Grid in `@resistdesign/voltra/web`.
|
|
126
|
+
- Native coordinate computation in `@resistdesign/voltra/native`.
|
|
127
|
+
|
|
128
|
+
### Examples
|
|
129
|
+
|
|
130
|
+
- `examples/api.ts`
|
|
131
|
+
- `examples/common.ts`
|
|
132
|
+
- `examples/web.ts`
|
|
133
|
+
- `examples/native.ts`
|
|
134
|
+
- `examples/build.ts`
|
|
135
|
+
|
|
136
|
+
### Template syntax
|
|
137
|
+
|
|
138
|
+
```text
|
|
139
|
+
header header, 1fr
|
|
140
|
+
side main, 2fr
|
|
141
|
+
\ 100px 1fr
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
- Row lines: `<areas>, <row-track>` (row track optional)
|
|
145
|
+
- Column line: `\ <col-track> <col-track> ...`
|
|
146
|
+
- Supported units: `fr`, `px`, `%`
|
|
147
|
+
- Named areas must form rectangles
|
|
148
|
+
|
|
149
|
+
### Web usage
|
|
150
|
+
|
|
151
|
+
```tsx
|
|
152
|
+
import { getEasyLayout } from "@resistdesign/voltra/web";
|
|
153
|
+
|
|
154
|
+
const { layout: Layout, areas } = getEasyLayout(undefined, undefined, {
|
|
155
|
+
gap: 12,
|
|
156
|
+
padding: 16,
|
|
157
|
+
})`
|
|
158
|
+
header header, 1fr
|
|
159
|
+
side main, 2fr
|
|
160
|
+
\ 1fr 2fr
|
|
161
|
+
`;
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
### Native usage
|
|
165
|
+
|
|
166
|
+
```tsx
|
|
167
|
+
import { makeNativeEasyLayout } from "@resistdesign/voltra/native";
|
|
168
|
+
|
|
169
|
+
const layout = makeNativeEasyLayout(`
|
|
170
|
+
header header, 100px
|
|
171
|
+
side main, 1fr
|
|
172
|
+
\\ 1fr 2fr
|
|
173
|
+
`);
|
|
174
|
+
|
|
175
|
+
const coords = layout.computeNativeCoords({
|
|
176
|
+
width: 320,
|
|
177
|
+
height: 240,
|
|
178
|
+
padding: 12,
|
|
179
|
+
gap: 8,
|
|
180
|
+
});
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
### Web vs Native
|
|
184
|
+
|
|
185
|
+
| Runtime | Rendering model | Output |
|
|
186
|
+
|---------|------------------|--------|
|
|
187
|
+
| Web | CSS Grid (browser layout engine) | CSS template strings |
|
|
188
|
+
| Native | Computed absolute layout | `{ left, top, width, height }` per area |
|
|
189
|
+
|
|
190
|
+
## Routing (Web + Native)
|
|
191
|
+
|
|
192
|
+
Voltra ships a render-agnostic Route core in `@resistdesign/voltra/app` plus platform adapters.
|
|
193
|
+
|
|
194
|
+
Web usage (auto-wires `window.history`):
|
|
195
|
+
|
|
196
|
+
```tsx
|
|
197
|
+
import { Route } from "@resistdesign/voltra/web";
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
Native usage (adapter-driven):
|
|
201
|
+
|
|
202
|
+
```tsx
|
|
203
|
+
import { Route, RouteProvider, createManualRouteAdapter } from "@resistdesign/voltra/native";
|
|
204
|
+
const { adapter, updatePath } = createManualRouteAdapter("/home");
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
For React Native navigation libraries, Voltra is optimized for react-navigation as the primary native default. Provide a RouteAdapter that maps navigation state to a path and call `RouteProvider`.
|
|
208
|
+
|
|
209
|
+
Native navigation mapping example:
|
|
210
|
+
|
|
211
|
+
```tsx
|
|
212
|
+
import { buildPathFromRouteChain, createNavigationStateRouteAdapter } from "@resistdesign/voltra/native";
|
|
213
|
+
|
|
214
|
+
const adapter = createNavigationStateRouteAdapter({
|
|
215
|
+
getState: () => navigationRef.getRootState(),
|
|
216
|
+
subscribe: (listener) => navigationRef.addListener("state", listener),
|
|
217
|
+
toPath: (state) =>
|
|
218
|
+
buildPathFromRouteChain(
|
|
219
|
+
state.routes.map((route) => ({
|
|
220
|
+
name: route.name,
|
|
221
|
+
params: route.params as Record<string, any>,
|
|
222
|
+
})),
|
|
223
|
+
{
|
|
224
|
+
Home: "home",
|
|
225
|
+
Book: "books/:id",
|
|
226
|
+
},
|
|
227
|
+
),
|
|
228
|
+
navigate: (path) => {
|
|
229
|
+
const routeName = path === "/home" ? "Home" : "Book";
|
|
230
|
+
navigationRef.navigate(routeName);
|
|
231
|
+
},
|
|
232
|
+
});
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
For RN web builds, keep your navigation library linking config in sync with the same route patterns used in `buildPathFromRouteChain`.
|
|
236
|
+
|
|
237
|
+
## Form Suites (Web + Native + BYOCS)
|
|
238
|
+
|
|
239
|
+
Voltra's form system is split into a platform-agnostic core and platform suites:
|
|
240
|
+
|
|
241
|
+
- Core contracts live under `src/app/forms/core` (field kinds, suite resolution, renderer factories).
|
|
242
|
+
- Web DOM suite lives under `src/web/forms`.
|
|
243
|
+
- React Native suite lives under `src/native/forms`.
|
|
244
|
+
|
|
245
|
+
### Web Usage
|
|
246
|
+
|
|
247
|
+
```tsx
|
|
248
|
+
import { createWebFormRenderer } from "@resistdesign/voltra/web";
|
|
249
|
+
|
|
250
|
+
const { AutoField } = createWebFormRenderer();
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
Override a single renderer:
|
|
254
|
+
|
|
255
|
+
```tsx
|
|
256
|
+
import { withRendererOverride } from "@resistdesign/voltra/app";
|
|
257
|
+
import { createWebFormRenderer } from "@resistdesign/voltra/web";
|
|
258
|
+
|
|
259
|
+
const { AutoField } = createWebFormRenderer({
|
|
260
|
+
suite: withRendererOverride("string", (ctx) => {
|
|
261
|
+
return <input value={(ctx.value as string) || ""} onChange={(e) => ctx.onChange(e.target.value)} />;
|
|
262
|
+
}),
|
|
263
|
+
});
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
### Native Usage
|
|
267
|
+
|
|
268
|
+
```tsx
|
|
269
|
+
import { createNativeFormRenderer } from "@resistdesign/voltra/native";
|
|
270
|
+
|
|
271
|
+
const { AutoField } = createNativeFormRenderer();
|
|
272
|
+
```
|
|
273
|
+
|
|
274
|
+
### BYOCS (Bring Your Own Component Suite)
|
|
275
|
+
|
|
276
|
+
Provide partial overrides (renderers and/or primitives). Missing renderers are filled from the default suite and validated.
|
|
277
|
+
|
|
278
|
+
```tsx
|
|
279
|
+
import { createWebFormRenderer } from "@resistdesign/voltra/web";
|
|
280
|
+
|
|
281
|
+
const { AutoField } = createWebFormRenderer({
|
|
282
|
+
suite: {
|
|
283
|
+
primitives: {
|
|
284
|
+
Button: ({ children }) => <button className="my-button">{children}</button>,
|
|
285
|
+
},
|
|
286
|
+
renderers: {
|
|
287
|
+
boolean: (ctx) => (
|
|
288
|
+
<label>
|
|
289
|
+
<input
|
|
290
|
+
type="checkbox"
|
|
291
|
+
checked={!!ctx.value}
|
|
292
|
+
onChange={(e) => ctx.onChange(e.target.checked)}
|
|
293
|
+
/>
|
|
294
|
+
{ctx.label}
|
|
295
|
+
</label>
|
|
296
|
+
),
|
|
297
|
+
},
|
|
298
|
+
},
|
|
299
|
+
});
|
|
300
|
+
```
|
|
301
|
+
|
|
302
|
+
### Relation + Custom Type Hooks
|
|
303
|
+
|
|
304
|
+
Renderers emit actions via:
|
|
305
|
+
|
|
306
|
+
- `onRelationAction(payload)` for relation fields
|
|
307
|
+
- `onCustomTypeAction(payload)` for custom types
|
|
308
|
+
|
|
309
|
+
Use these to wire modals, selectors, or editors without baking UI into the core engine.
|
|
310
|
+
|
|
311
|
+
## Docs Site
|
|
312
|
+
|
|
313
|
+
The docs site is both reference documentation and a canonical usage example.
|
|
314
|
+
Key pieces:
|
|
315
|
+
|
|
316
|
+
- Astro app in `site/app` builds the UI into `site-dist/app` via `yarn site:build:app`.
|
|
317
|
+
- API bundle for the docs site is built by `yarn site:build:api` (see `site/build-api.mjs`) and written to
|
|
318
|
+
`site-dist/api`.
|
|
319
|
+
- The IaC demo template is generated by `yarn site:build:iac` from `site/iac/index.ts` and written to
|
|
320
|
+
`site-dist/iac/index.yml`.
|
|
321
|
+
|
|
322
|
+
API docs flow:
|
|
323
|
+
|
|
324
|
+
1) `yarn doc` generates TypeDoc output into `docs/`.
|
|
325
|
+
2) `yarn doc-to-site` copies `docs/` into `site-dist/app/`.
|
|
326
|
+
3) `yarn site:build:app` runs Astro and then `yarn finalize-site` to refresh the docs site with API docs.
|
|
327
|
+
|
|
328
|
+
## IaC Type Generation
|
|
329
|
+
|
|
330
|
+
IaC types are generated from the AWS CloudFormation resource specification.
|
|
331
|
+
When updating, follow this flow:
|
|
332
|
+
|
|
333
|
+
1) Download the latest CloudFormation resource specification JSON from AWS (region: `us-east-1`).
|
|
334
|
+
2) Replace the contents of `src/iac/types/CloudFormationResourceSpecification.ts` with the JSON payload (as the exported
|
|
335
|
+
data).
|
|
336
|
+
3) Run `yarn iac:types:gen` to regenerate `dist/IaCTypes.ts`.
|
|
337
|
+
4) Verify `dist/IaCTypes.ts` looks correct, then commit both files.
|
|
338
|
+
|
|
339
|
+
Notes:
|
|
340
|
+
|
|
341
|
+
- `src/iac/types/IaCTypes.ts` and `src/iac/types/CloudFormationResourceSpecification.ts` are generated artifacts; do not
|
|
342
|
+
edit by hand.
|
|
343
|
+
- The generator entrypoint is `src/iac/types/generate.ts` and uses `src/iac/types/Renderers.ts` for output.
|
|
43
344
|
|
|
44
345
|
## Releasing
|
|
45
346
|
|
|
@@ -70,3 +371,22 @@ When the GitHub Release is marked as a prerelease, the npm publish step uses the
|
|
|
70
371
|
```bash
|
|
71
372
|
yarn add @resistdesign/voltra@next
|
|
72
373
|
```
|
|
374
|
+
|
|
375
|
+
## Project
|
|
376
|
+
|
|
377
|
+
### Build and test commands
|
|
378
|
+
|
|
379
|
+
```bash
|
|
380
|
+
yarn build
|
|
381
|
+
yarn test
|
|
382
|
+
yarn test:gen
|
|
383
|
+
yarn doc
|
|
384
|
+
yarn start
|
|
385
|
+
yarn site:build:app
|
|
386
|
+
```
|
|
387
|
+
|
|
388
|
+
### Contribution guidelines
|
|
389
|
+
|
|
390
|
+
- Use Conventional Commits (`feat:`, `fix:`, `doc:`, `chore:`) with optional scopes.
|
|
391
|
+
- Keep subjects imperative and concise.
|
|
392
|
+
- Include test commands run (or reasons for skipping) in PR descriptions.
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import type { ListItemsResults } from "../../common/SearchTypes";
|
|
2
|
+
/**
|
|
3
|
+
* Summary of IDs and cursors observed across pages.
|
|
4
|
+
*/
|
|
5
|
+
export type DBXPagingTranscript = {
|
|
6
|
+
/**
|
|
7
|
+
* Number of pages inspected.
|
|
8
|
+
*/
|
|
9
|
+
pageCount: number;
|
|
10
|
+
/**
|
|
11
|
+
* Cursors observed per page.
|
|
12
|
+
*/
|
|
13
|
+
cursors: Array<string | undefined>;
|
|
14
|
+
/**
|
|
15
|
+
* IDs grouped by page.
|
|
16
|
+
*/
|
|
17
|
+
idsByPage: string[][];
|
|
18
|
+
/**
|
|
19
|
+
* Flattened IDs across all pages (page order preserved).
|
|
20
|
+
*/
|
|
21
|
+
flattenedIds: string[];
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* Results from paging invariant checks.
|
|
25
|
+
*/
|
|
26
|
+
export type DBXPagingAssertionResult = {
|
|
27
|
+
/**
|
|
28
|
+
* True when no invariant violations were detected.
|
|
29
|
+
*/
|
|
30
|
+
ok: boolean;
|
|
31
|
+
/**
|
|
32
|
+
* Total items observed across all pages.
|
|
33
|
+
*/
|
|
34
|
+
totalItems: number;
|
|
35
|
+
/**
|
|
36
|
+
* Number of unique IDs observed across all pages.
|
|
37
|
+
*/
|
|
38
|
+
uniqueItems: number;
|
|
39
|
+
/**
|
|
40
|
+
* IDs that appeared more than once.
|
|
41
|
+
*/
|
|
42
|
+
duplicateIds: string[];
|
|
43
|
+
/**
|
|
44
|
+
* Pages with zero items.
|
|
45
|
+
*/
|
|
46
|
+
emptyPageIndexes: number[];
|
|
47
|
+
/**
|
|
48
|
+
* Pages that violated the expected page size.
|
|
49
|
+
*/
|
|
50
|
+
pageSizeViolations: Array<{
|
|
51
|
+
index: number;
|
|
52
|
+
size: number;
|
|
53
|
+
}>;
|
|
54
|
+
/**
|
|
55
|
+
* Raw paging transcript for debugging.
|
|
56
|
+
*/
|
|
57
|
+
transcript: DBXPagingTranscript;
|
|
58
|
+
};
|
|
59
|
+
/**
|
|
60
|
+
* Results from ordering checks against an expected sequence.
|
|
61
|
+
*/
|
|
62
|
+
export type DBXOrderingAssertionResult = {
|
|
63
|
+
/**
|
|
64
|
+
* True when actual ordering matches expected ordering.
|
|
65
|
+
*/
|
|
66
|
+
ok: boolean;
|
|
67
|
+
/**
|
|
68
|
+
* Actual IDs in observed order.
|
|
69
|
+
*/
|
|
70
|
+
actualIds: string[];
|
|
71
|
+
/**
|
|
72
|
+
* Expected IDs for comparison.
|
|
73
|
+
*/
|
|
74
|
+
expectedIds: string[];
|
|
75
|
+
/**
|
|
76
|
+
* First mismatched index, if any.
|
|
77
|
+
*/
|
|
78
|
+
mismatchIndex?: number;
|
|
79
|
+
};
|
|
80
|
+
/**
|
|
81
|
+
* Build a paging transcript for a set of list results.
|
|
82
|
+
*/
|
|
83
|
+
export declare const getDbxPagingTranscript: <ItemType extends Record<string, any>>(pages: Array<ListItemsResults<ItemType>>, idField?: string) => DBXPagingTranscript;
|
|
84
|
+
/**
|
|
85
|
+
* Assert paging invariants such as stable pagination and no duplicates.
|
|
86
|
+
*/
|
|
87
|
+
export declare const assertDbxPagingInvariants: <ItemType extends Record<string, any>>(pages: Array<ListItemsResults<ItemType>>, options?: {
|
|
88
|
+
idField?: string;
|
|
89
|
+
itemsPerPage?: number;
|
|
90
|
+
allowEmptyPages?: boolean;
|
|
91
|
+
}) => DBXPagingAssertionResult;
|
|
92
|
+
/**
|
|
93
|
+
* Assert that the observed ordering exactly matches an expected ordering.
|
|
94
|
+
*/
|
|
95
|
+
export declare const assertDbxStableOrdering: <ItemType extends Record<string, any>>(pages: Array<ListItemsResults<ItemType>>, expectedIds: string[], idField?: string) => DBXOrderingAssertionResult;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { TypeInfoMap } from "../../common/TypeParsing/TypeInfo";
|
|
2
|
+
/**
|
|
3
|
+
* Canonical TypeInfo map used by DBX E2E scenario tests.
|
|
4
|
+
*/
|
|
5
|
+
export declare const DBX_TYPE_INFO_MAP: TypeInfoMap;
|
|
6
|
+
/**
|
|
7
|
+
* Ordered list of DBX scenario type names.
|
|
8
|
+
*/
|
|
9
|
+
export declare const DBX_TYPE_NAMES: string[];
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import type { TypeInfoDataItem, TypeInfoMap } from "../../common/TypeParsing/TypeInfo";
|
|
2
|
+
/**
|
|
3
|
+
* Dataset size presets for DBX scenarios.
|
|
4
|
+
*/
|
|
5
|
+
export declare const DBX_DATASET_SIZES: {
|
|
6
|
+
readonly SMALL: 50;
|
|
7
|
+
readonly MED: 200;
|
|
8
|
+
readonly LARGE: 1000;
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* Relationship edge shape used by DBX seeds.
|
|
12
|
+
*/
|
|
13
|
+
export type DBXSeedRelationship = {
|
|
14
|
+
/**
|
|
15
|
+
* Type name of the relationship origin.
|
|
16
|
+
*/
|
|
17
|
+
fromTypeName: string;
|
|
18
|
+
/**
|
|
19
|
+
* Field name on the origin type that defines the relationship.
|
|
20
|
+
*/
|
|
21
|
+
fromTypeFieldName: string;
|
|
22
|
+
/**
|
|
23
|
+
* Primary field value for the origin item.
|
|
24
|
+
*/
|
|
25
|
+
fromTypePrimaryFieldValue: string;
|
|
26
|
+
/**
|
|
27
|
+
* Primary field value for the target item.
|
|
28
|
+
*/
|
|
29
|
+
toTypePrimaryFieldValue: string;
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* Configuration for generating a DBX dataset.
|
|
33
|
+
*/
|
|
34
|
+
export type DBXSeedConfig = {
|
|
35
|
+
/**
|
|
36
|
+
* Seed used for deterministic generation.
|
|
37
|
+
*/
|
|
38
|
+
seed: number | string;
|
|
39
|
+
/**
|
|
40
|
+
* Type info map used to shape items.
|
|
41
|
+
*/
|
|
42
|
+
typeInfoMap: TypeInfoMap;
|
|
43
|
+
/**
|
|
44
|
+
* Optional list of type names to seed.
|
|
45
|
+
*/
|
|
46
|
+
itemTypeNames?: string[];
|
|
47
|
+
/**
|
|
48
|
+
* Default item count per type when sizeByType is not provided.
|
|
49
|
+
*/
|
|
50
|
+
size?: number;
|
|
51
|
+
/**
|
|
52
|
+
* Optional per-type overrides for item counts.
|
|
53
|
+
*/
|
|
54
|
+
sizeByType?: Record<string, number>;
|
|
55
|
+
/**
|
|
56
|
+
* Optional base date for date-like string fields.
|
|
57
|
+
*/
|
|
58
|
+
baseDate?: string;
|
|
59
|
+
/**
|
|
60
|
+
* Whether to include optional fields (default true).
|
|
61
|
+
*/
|
|
62
|
+
includeOptionalFields?: boolean;
|
|
63
|
+
/**
|
|
64
|
+
* Whether to include array fields (default true).
|
|
65
|
+
*/
|
|
66
|
+
includeArrayFields?: boolean;
|
|
67
|
+
/**
|
|
68
|
+
* Max array length when generating array fields.
|
|
69
|
+
*/
|
|
70
|
+
maxArrayLength?: number;
|
|
71
|
+
/**
|
|
72
|
+
* Custom token pool for text generation.
|
|
73
|
+
*/
|
|
74
|
+
textTokenPool?: string[];
|
|
75
|
+
/**
|
|
76
|
+
* Whether to include relationship edges (default true).
|
|
77
|
+
*/
|
|
78
|
+
includeRelationships?: boolean;
|
|
79
|
+
/**
|
|
80
|
+
* Ratio of relationship edges that should point at missing targets.
|
|
81
|
+
*/
|
|
82
|
+
relationshipDanglingRate?: number;
|
|
83
|
+
/**
|
|
84
|
+
* Number of relationships to generate per item when possible.
|
|
85
|
+
*/
|
|
86
|
+
relationshipsPerItem?: number;
|
|
87
|
+
};
|
|
88
|
+
/**
|
|
89
|
+
* Seeded dataset payload returned by {@link makeDbxDataset}.
|
|
90
|
+
*/
|
|
91
|
+
export type DBXSeedDataset = {
|
|
92
|
+
/**
|
|
93
|
+
* Seed used for deterministic generation.
|
|
94
|
+
*/
|
|
95
|
+
seed: number | string;
|
|
96
|
+
/**
|
|
97
|
+
* Items keyed by type name.
|
|
98
|
+
*/
|
|
99
|
+
itemsByType: Record<string, TypeInfoDataItem[]>;
|
|
100
|
+
/**
|
|
101
|
+
* Generated ids per type name.
|
|
102
|
+
*/
|
|
103
|
+
idsByType: Record<string, string[]>;
|
|
104
|
+
/**
|
|
105
|
+
* Relationship edges seeded for scenarios.
|
|
106
|
+
*/
|
|
107
|
+
relationships: DBXSeedRelationship[];
|
|
108
|
+
/**
|
|
109
|
+
* Token pool used for text values.
|
|
110
|
+
*/
|
|
111
|
+
tokenPool: string[];
|
|
112
|
+
};
|
|
113
|
+
/**
|
|
114
|
+
* Generate a deterministic dataset for DBX scenarios.
|
|
115
|
+
*/
|
|
116
|
+
export declare const makeDbxDataset: (config: DBXSeedConfig) => DBXSeedDataset;
|
|
117
|
+
/**
|
|
118
|
+
* Build relationship seeds from existing items.
|
|
119
|
+
*/
|
|
120
|
+
export declare const makeDbxRelationshipSeeds: (typeInfoMap: TypeInfoMap, itemsByType: Record<string, TypeInfoDataItem[]>, idsByType: Record<string, string[]>, options: {
|
|
121
|
+
seed: number | string;
|
|
122
|
+
relationshipDanglingRate?: number;
|
|
123
|
+
relationshipsPerItem?: number;
|
|
124
|
+
}) => DBXSeedRelationship[];
|