@aws-amplify/data-schema 0.15.0 → 0.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{lib-esm/src → dist/cjs}/Authorization.js +149 -31
- package/dist/cjs/Authorization.js.map +1 -0
- package/{lib-esm/src → dist/cjs}/ClientSchema.js +3 -1
- package/dist/cjs/ClientSchema.js.map +1 -0
- package/{lib-esm/src → dist/cjs}/CombineSchema.js +3 -2
- package/dist/cjs/CombineSchema.js.map +1 -0
- package/{lib-esm/src → dist/cjs}/CustomOperation.js +7 -3
- package/dist/cjs/CustomOperation.js.map +1 -0
- package/{lib-esm/src → dist/cjs}/CustomType.js +3 -1
- package/dist/cjs/CustomType.js.map +1 -0
- package/{lib-esm/src → dist/cjs}/EnumType.js +3 -1
- package/dist/cjs/EnumType.js.map +1 -0
- package/{lib-esm/src → dist/cjs}/Handler.js +3 -1
- package/dist/cjs/Handler.js.map +1 -0
- package/{lib-esm/src → dist/cjs}/MappedTypes/CustomOperations.js +3 -1
- package/dist/cjs/MappedTypes/CustomOperations.js.map +1 -0
- package/dist/cjs/MappedTypes/ExtractNonModelTypes.js +4 -0
- package/dist/cjs/MappedTypes/ExtractNonModelTypes.js.map +1 -0
- package/dist/cjs/MappedTypes/ImplicitFieldInjector.js +4 -0
- package/dist/cjs/MappedTypes/ImplicitFieldInjector.js.map +1 -0
- package/{lib-esm/src → dist/cjs}/MappedTypes/MapSecondaryIndexes.js +3 -1
- package/dist/cjs/MappedTypes/MapSecondaryIndexes.js.map +1 -0
- package/{lib-esm/src → dist/cjs}/MappedTypes/ModelMetadata.js +3 -1
- package/dist/cjs/MappedTypes/ModelMetadata.js.map +1 -0
- package/dist/cjs/MappedTypes/ResolveFieldProperties.js +4 -0
- package/dist/cjs/MappedTypes/ResolveFieldProperties.js.map +1 -0
- package/{lib-esm/src → dist/cjs}/MappedTypes/ResolveSchema.js +3 -1
- package/dist/cjs/MappedTypes/ResolveSchema.js.map +1 -0
- package/{lib-esm/src → dist/cjs}/ModelField.js +8 -3
- package/dist/cjs/ModelField.js.map +1 -0
- package/{lib-esm/src → dist/cjs}/ModelIndex.js +3 -1
- package/dist/cjs/ModelIndex.js.map +1 -0
- package/{lib-esm/src → dist/cjs}/ModelRelationalField.js +7 -10
- package/dist/cjs/ModelRelationalField.js.map +1 -0
- package/{lib-esm/src → dist/cjs}/ModelSchema.js +10 -5
- package/dist/cjs/ModelSchema.js.map +1 -0
- package/{lib-esm/src → dist/cjs}/ModelType.js +8 -3
- package/dist/cjs/ModelType.js.map +1 -0
- package/{lib-esm/src → dist/cjs}/RefType.js +8 -5
- package/dist/cjs/RefType.js.map +1 -0
- package/{lib-esm/src → dist/cjs}/SchemaProcessor.js +15 -61
- package/dist/cjs/SchemaProcessor.js.map +1 -0
- package/{lib-esm/src/index.js → dist/cjs/a.js} +4 -4
- package/dist/cjs/a.js.map +1 -0
- package/dist/cjs/index.js +8 -0
- package/dist/cjs/index.js.map +1 -0
- package/{lib-esm/src → dist/cjs}/internals/index.js +3 -1
- package/dist/cjs/internals/index.js.map +1 -0
- package/dist/cjs/runtime/addSchemaToClient.js +17 -0
- package/dist/cjs/runtime/addSchemaToClient.js.map +1 -0
- package/dist/cjs/runtime/addSchemaToClientWithInstance.js +22 -0
- package/dist/cjs/runtime/addSchemaToClientWithInstance.js.map +1 -0
- package/dist/cjs/runtime/bridge-types.js +15 -0
- package/dist/cjs/runtime/bridge-types.js.map +1 -0
- package/dist/cjs/runtime/client/index.js +17 -0
- package/dist/cjs/runtime/client/index.js.map +1 -0
- package/dist/cjs/runtime/client/index.v3.js +7 -0
- package/dist/cjs/runtime/client/index.v3.js.map +1 -0
- package/dist/cjs/runtime/index.js +13 -0
- package/dist/cjs/runtime/index.js.map +1 -0
- package/dist/cjs/runtime/index.v3.js +13 -0
- package/dist/cjs/runtime/index.v3.js.map +1 -0
- package/dist/cjs/runtime/internals/APIClient.js +740 -0
- package/dist/cjs/runtime/internals/APIClient.js.map +1 -0
- package/dist/cjs/runtime/internals/clientUtils.js +29 -0
- package/dist/cjs/runtime/internals/clientUtils.js.map +1 -0
- package/dist/cjs/runtime/internals/generateCustomOperationsProperty.js +49 -0
- package/dist/cjs/runtime/internals/generateCustomOperationsProperty.js.map +1 -0
- package/dist/cjs/runtime/internals/index.js +21 -0
- package/dist/cjs/runtime/internals/index.js.map +1 -0
- package/dist/cjs/runtime/internals/operations/custom.js +356 -0
- package/dist/cjs/runtime/internals/operations/custom.js.map +1 -0
- package/dist/cjs/runtime/internals/operations/get.js +62 -0
- package/dist/cjs/runtime/internals/operations/get.js.map +1 -0
- package/dist/cjs/runtime/internals/operations/indexQuery.js +75 -0
- package/dist/cjs/runtime/internals/operations/indexQuery.js.map +1 -0
- package/dist/cjs/runtime/internals/operations/list.js +74 -0
- package/dist/cjs/runtime/internals/operations/list.js.map +1 -0
- package/dist/cjs/runtime/internals/operations/observeQuery.js +121 -0
- package/dist/cjs/runtime/internals/operations/observeQuery.js.map +1 -0
- package/dist/cjs/runtime/internals/operations/subscription.js +31 -0
- package/dist/cjs/runtime/internals/operations/subscription.js.map +1 -0
- package/dist/cjs/runtime/internals/server/generateModelsProperty.js +53 -0
- package/dist/cjs/runtime/internals/server/generateModelsProperty.js.map +1 -0
- package/dist/cjs/runtime/internals/server/index.js +8 -0
- package/dist/cjs/runtime/internals/server/index.js.map +1 -0
- package/dist/cjs/runtime/internals/utils/clientProperties/generateEnumsProperty.js +21 -0
- package/dist/cjs/runtime/internals/utils/clientProperties/generateEnumsProperty.js.map +1 -0
- package/dist/cjs/runtime/internals/utils/clientProperties/generateModelsProperty.js +45 -0
- package/dist/cjs/runtime/internals/utils/clientProperties/generateModelsProperty.js.map +1 -0
- package/dist/cjs/runtime/internals/utils/runtimeTypeGuards/isApiGraphQLProviderConfig.js +11 -0
- package/dist/cjs/runtime/internals/utils/runtimeTypeGuards/isApiGraphQLProviderConfig.js.map +1 -0
- package/dist/cjs/runtime/internals/utils/runtimeTypeGuards/isConfigureEventWithResourceConfig.js +11 -0
- package/dist/cjs/runtime/internals/utils/runtimeTypeGuards/isConfigureEventWithResourceConfig.js.map +1 -0
- package/dist/cjs/runtime/internals/utils/runtimeTypeGuards/isGraphQLResponseWithErrors.js +15 -0
- package/dist/cjs/runtime/internals/utils/runtimeTypeGuards/isGraphQLResponseWithErrors.js.map +1 -0
- package/dist/cjs/runtime/utils/findIndexByFields.js +25 -0
- package/dist/cjs/runtime/utils/findIndexByFields.js.map +1 -0
- package/dist/cjs/runtime/utils/index.js +11 -0
- package/dist/cjs/runtime/utils/index.js.map +1 -0
- package/dist/cjs/runtime/utils/resolveOwnerFields.js +48 -0
- package/dist/cjs/runtime/utils/resolveOwnerFields.js.map +1 -0
- package/dist/cjs/runtime/utils/resolvePKFields.js +17 -0
- package/dist/cjs/runtime/utils/resolvePKFields.js.map +1 -0
- package/{lib-esm/src → dist/cjs}/util/Brand.js +3 -1
- package/dist/cjs/util/Brand.js.map +1 -0
- package/{lib-esm/src → dist/cjs}/util/IndexLimit.js +3 -1
- package/dist/cjs/util/IndexLimit.js.map +1 -0
- package/{lib-esm/src → dist/cjs}/util/SpreadTuple.js +3 -1
- package/dist/cjs/util/SpreadTuple.js.map +1 -0
- package/{lib-esm/src → dist/cjs}/util/index.js +3 -1
- package/dist/cjs/util/index.js.map +1 -0
- package/{lib-esm/src → dist/esm}/Authorization.d.ts +105 -31
- package/dist/esm/Authorization.mjs +446 -0
- package/dist/esm/Authorization.mjs.map +1 -0
- package/{lib-esm/src → dist/esm}/ClientSchema.d.ts +1 -2
- package/dist/esm/ClientSchema.mjs +2 -0
- package/dist/esm/ClientSchema.mjs.map +1 -0
- package/{lib-esm/src → dist/esm}/CombineSchema.d.ts +0 -1
- package/dist/esm/CombineSchema.mjs +39 -0
- package/dist/esm/CombineSchema.mjs.map +1 -0
- package/{lib-esm/src → dist/esm}/CustomOperation.d.ts +2 -3
- package/dist/esm/CustomOperation.mjs +67 -0
- package/dist/esm/CustomOperation.mjs.map +1 -0
- package/{lib-esm/src → dist/esm}/CustomType.d.ts +0 -1
- package/dist/esm/CustomType.mjs +13 -0
- package/dist/esm/CustomType.mjs.map +1 -0
- package/{lib-esm/src → dist/esm}/EnumType.d.ts +0 -1
- package/dist/esm/EnumType.mjs +16 -0
- package/dist/esm/EnumType.mjs.map +1 -0
- package/{lib-esm/src → dist/esm}/Handler.d.ts +0 -1
- package/dist/esm/Handler.mjs +48 -0
- package/dist/esm/Handler.mjs.map +1 -0
- package/{lib-esm/src → dist/esm}/MappedTypes/CustomOperations.d.ts +0 -1
- package/dist/esm/MappedTypes/CustomOperations.mjs +2 -0
- package/dist/esm/MappedTypes/CustomOperations.mjs.map +1 -0
- package/{lib-esm/src → dist/esm}/MappedTypes/ExtractNonModelTypes.d.ts +0 -1
- package/dist/esm/MappedTypes/ExtractNonModelTypes.mjs +2 -0
- package/dist/esm/MappedTypes/ExtractNonModelTypes.mjs.map +1 -0
- package/{lib-esm/src → dist/esm}/MappedTypes/ImplicitFieldInjector.d.ts +0 -1
- package/dist/esm/MappedTypes/ImplicitFieldInjector.mjs +2 -0
- package/dist/esm/MappedTypes/ImplicitFieldInjector.mjs.map +1 -0
- package/{lib-esm/src → dist/esm}/MappedTypes/MapSecondaryIndexes.d.ts +0 -1
- package/dist/esm/MappedTypes/MapSecondaryIndexes.mjs +2 -0
- package/dist/esm/MappedTypes/MapSecondaryIndexes.mjs.map +1 -0
- package/{lib-esm/src → dist/esm}/MappedTypes/ModelMetadata.d.ts +0 -1
- package/dist/esm/MappedTypes/ModelMetadata.mjs +2 -0
- package/dist/esm/MappedTypes/ModelMetadata.mjs.map +1 -0
- package/{lib-esm/src → dist/esm}/MappedTypes/ResolveFieldProperties.d.ts +0 -1
- package/dist/esm/MappedTypes/ResolveFieldProperties.mjs +2 -0
- package/dist/esm/MappedTypes/ResolveFieldProperties.mjs.map +1 -0
- package/{lib-esm/src → dist/esm}/MappedTypes/ResolveSchema.d.ts +0 -1
- package/dist/esm/MappedTypes/ResolveSchema.mjs +2 -0
- package/dist/esm/MappedTypes/ResolveSchema.mjs.map +1 -0
- package/{lib-esm/src → dist/esm}/ModelField.d.ts +2 -3
- package/dist/esm/ModelField.mjs +199 -0
- package/dist/esm/ModelField.mjs.map +1 -0
- package/{lib-esm/src → dist/esm}/ModelIndex.d.ts +0 -1
- package/dist/esm/ModelIndex.mjs +33 -0
- package/dist/esm/ModelIndex.mjs.map +1 -0
- package/{lib-esm/src → dist/esm}/ModelRelationalField.d.ts +3 -4
- package/dist/esm/ModelRelationalField.mjs +88 -0
- package/dist/esm/ModelRelationalField.mjs.map +1 -0
- package/{lib-esm/src → dist/esm}/ModelSchema.d.ts +3 -4
- package/dist/esm/ModelSchema.mjs +163 -0
- package/dist/esm/ModelSchema.mjs.map +1 -0
- package/{lib-esm/src → dist/esm}/ModelType.d.ts +2 -3
- package/dist/esm/ModelType.mjs +66 -0
- package/dist/esm/ModelType.mjs.map +1 -0
- package/{lib-esm/src → dist/esm}/RefType.d.ts +2 -3
- package/dist/esm/RefType.mjs +48 -0
- package/dist/esm/RefType.mjs.map +1 -0
- package/{lib-esm/src → dist/esm}/SchemaProcessor.d.ts +0 -1
- package/dist/esm/SchemaProcessor.mjs +926 -0
- package/dist/esm/SchemaProcessor.mjs.map +1 -0
- package/{lib-esm/src/index.d.ts → dist/esm/a.d.ts} +1 -3
- package/dist/esm/a.mjs +11 -0
- package/dist/esm/a.mjs.map +1 -0
- package/dist/esm/index.d.ts +4 -0
- package/dist/esm/index.mjs +3 -0
- package/dist/esm/index.mjs.map +1 -0
- package/dist/esm/internals/index.d.ts +2 -0
- package/dist/esm/internals/index.mjs +2 -0
- package/dist/esm/internals/index.mjs.map +1 -0
- package/dist/esm/runtime/addSchemaToClient.d.ts +3 -0
- package/dist/esm/runtime/addSchemaToClient.mjs +17 -0
- package/dist/esm/runtime/addSchemaToClient.mjs.map +1 -0
- package/dist/esm/runtime/addSchemaToClientWithInstance.d.ts +3 -0
- package/dist/esm/runtime/addSchemaToClientWithInstance.mjs +22 -0
- package/dist/esm/runtime/addSchemaToClientWithInstance.mjs.map +1 -0
- package/dist/esm/runtime/bridge-types.d.ts +281 -0
- package/dist/esm/runtime/bridge-types.mjs +13 -0
- package/dist/esm/runtime/bridge-types.mjs.map +1 -0
- package/dist/esm/runtime/client/index.d.ts +571 -0
- package/dist/esm/runtime/client/index.mjs +2 -0
- package/dist/esm/runtime/client/index.mjs.map +1 -0
- package/dist/esm/runtime/client/index.v3.d.ts +15 -0
- package/dist/esm/runtime/client/index.v3.mjs +2 -0
- package/dist/esm/runtime/client/index.v3.mjs.map +1 -0
- package/dist/esm/runtime/index.d.ts +4 -0
- package/dist/esm/runtime/index.mjs +4 -0
- package/dist/esm/runtime/index.mjs.map +1 -0
- package/dist/esm/runtime/index.v3.d.ts +4 -0
- package/dist/esm/runtime/index.v3.mjs +4 -0
- package/dist/esm/runtime/index.v3.mjs.map +1 -0
- package/dist/esm/runtime/internals/APIClient.d.ts +125 -0
- package/dist/esm/runtime/internals/APIClient.mjs +728 -0
- package/dist/esm/runtime/internals/APIClient.mjs.map +1 -0
- package/dist/esm/runtime/internals/clientUtils.d.ts +6 -0
- package/dist/esm/runtime/internals/clientUtils.mjs +26 -0
- package/dist/esm/runtime/internals/clientUtils.mjs.map +1 -0
- package/dist/esm/runtime/internals/generateCustomOperationsProperty.d.ts +8 -0
- package/dist/esm/runtime/internals/generateCustomOperationsProperty.mjs +44 -0
- package/dist/esm/runtime/internals/generateCustomOperationsProperty.mjs.map +1 -0
- package/dist/esm/runtime/internals/index.d.ts +6 -0
- package/dist/esm/runtime/internals/index.mjs +7 -0
- package/dist/esm/runtime/internals/index.mjs.map +1 -0
- package/dist/esm/runtime/internals/operations/custom.d.ts +61 -0
- package/dist/esm/runtime/internals/operations/custom.mjs +354 -0
- package/dist/esm/runtime/internals/operations/custom.mjs.map +1 -0
- package/dist/esm/runtime/internals/operations/get.d.ts +3 -0
- package/dist/esm/runtime/internals/operations/get.mjs +60 -0
- package/dist/esm/runtime/internals/operations/get.mjs.map +1 -0
- package/dist/esm/runtime/internals/operations/indexQuery.d.ts +7 -0
- package/dist/esm/runtime/internals/operations/indexQuery.mjs +73 -0
- package/dist/esm/runtime/internals/operations/indexQuery.mjs.map +1 -0
- package/dist/esm/runtime/internals/operations/list.d.ts +2 -0
- package/dist/esm/runtime/internals/operations/list.mjs +72 -0
- package/dist/esm/runtime/internals/operations/list.mjs.map +1 -0
- package/dist/esm/runtime/internals/operations/observeQuery.d.ts +3 -0
- package/dist/esm/runtime/internals/operations/observeQuery.mjs +120 -0
- package/dist/esm/runtime/internals/operations/observeQuery.mjs.map +1 -0
- package/dist/esm/runtime/internals/operations/subscription.d.ts +3 -0
- package/dist/esm/runtime/internals/operations/subscription.mjs +29 -0
- package/dist/esm/runtime/internals/operations/subscription.mjs.map +1 -0
- package/dist/esm/runtime/internals/server/generateModelsProperty.d.ts +3 -0
- package/dist/esm/runtime/internals/server/generateModelsProperty.mjs +51 -0
- package/dist/esm/runtime/internals/server/generateModelsProperty.mjs.map +1 -0
- package/dist/esm/runtime/internals/server/index.d.ts +1 -0
- package/dist/esm/runtime/internals/server/index.mjs +2 -0
- package/dist/esm/runtime/internals/server/index.mjs.map +1 -0
- package/dist/esm/runtime/internals/utils/clientProperties/generateEnumsProperty.d.ts +3 -0
- package/dist/esm/runtime/internals/utils/clientProperties/generateEnumsProperty.mjs +18 -0
- package/dist/esm/runtime/internals/utils/clientProperties/generateEnumsProperty.mjs.map +1 -0
- package/dist/esm/runtime/internals/utils/clientProperties/generateModelsProperty.d.ts +3 -0
- package/dist/esm/runtime/internals/utils/clientProperties/generateModelsProperty.mjs +43 -0
- package/dist/esm/runtime/internals/utils/clientProperties/generateModelsProperty.mjs.map +1 -0
- package/dist/esm/runtime/internals/utils/runtimeTypeGuards/isApiGraphQLProviderConfig.d.ts +2 -0
- package/dist/esm/runtime/internals/utils/runtimeTypeGuards/isApiGraphQLProviderConfig.mjs +8 -0
- package/dist/esm/runtime/internals/utils/runtimeTypeGuards/isApiGraphQLProviderConfig.mjs.map +1 -0
- package/dist/esm/runtime/internals/utils/runtimeTypeGuards/isConfigureEventWithResourceConfig.d.ts +8 -0
- package/dist/esm/runtime/internals/utils/runtimeTypeGuards/isConfigureEventWithResourceConfig.mjs +8 -0
- package/dist/esm/runtime/internals/utils/runtimeTypeGuards/isConfigureEventWithResourceConfig.mjs.map +1 -0
- package/dist/esm/runtime/internals/utils/runtimeTypeGuards/isGraphQLResponseWithErrors.d.ts +2 -0
- package/dist/esm/runtime/internals/utils/runtimeTypeGuards/isGraphQLResponseWithErrors.mjs +12 -0
- package/dist/esm/runtime/internals/utils/runtimeTypeGuards/isGraphQLResponseWithErrors.mjs.map +1 -0
- package/dist/esm/runtime/utils/findIndexByFields.d.ts +9 -0
- package/dist/esm/runtime/utils/findIndexByFields.mjs +22 -0
- package/dist/esm/runtime/utils/findIndexByFields.mjs.map +1 -0
- package/dist/esm/runtime/utils/index.d.ts +2 -0
- package/dist/esm/runtime/utils/index.mjs +3 -0
- package/dist/esm/runtime/utils/index.mjs.map +1 -0
- package/dist/esm/runtime/utils/resolveOwnerFields.d.ts +12 -0
- package/dist/esm/runtime/utils/resolveOwnerFields.mjs +45 -0
- package/dist/esm/runtime/utils/resolveOwnerFields.mjs.map +1 -0
- package/dist/esm/runtime/utils/resolvePKFields.d.ts +13 -0
- package/dist/esm/runtime/utils/resolvePKFields.mjs +14 -0
- package/dist/esm/runtime/utils/resolvePKFields.mjs.map +1 -0
- package/{lib-esm/src → dist/esm}/util/Brand.d.ts +0 -1
- package/dist/esm/util/Brand.mjs +30 -0
- package/dist/esm/util/Brand.mjs.map +1 -0
- package/{lib-esm/src → dist/esm}/util/IndexLimit.d.ts +0 -1
- package/dist/esm/util/IndexLimit.mjs +2 -0
- package/dist/esm/util/IndexLimit.mjs.map +1 -0
- package/{lib-esm/src → dist/esm}/util/SpreadTuple.d.ts +0 -1
- package/dist/esm/util/SpreadTuple.mjs +2 -0
- package/dist/esm/util/SpreadTuple.mjs.map +1 -0
- package/{lib-esm/src → dist/esm}/util/index.d.ts +0 -1
- package/dist/esm/util/index.mjs +2 -0
- package/dist/esm/util/index.mjs.map +1 -0
- package/dist/meta/cjs.tsbuildinfo +1 -0
- package/internals/package.json +7 -5
- package/package.json +31 -14
- package/runtime/package.json +8 -0
- package/src/Authorization.ts +684 -0
- package/src/ClientSchema.ts +118 -0
- package/src/CombineSchema.ts +58 -0
- package/src/CustomOperation.ts +286 -0
- package/src/CustomType.ts +67 -0
- package/src/EnumType.ts +36 -0
- package/src/Handler.ts +127 -0
- package/src/MappedTypes/CustomOperations.ts +256 -0
- package/src/MappedTypes/ExtractNonModelTypes.ts +154 -0
- package/src/MappedTypes/ImplicitFieldInjector.ts +69 -0
- package/src/MappedTypes/MapSecondaryIndexes.ts +100 -0
- package/src/MappedTypes/ModelMetadata.ts +87 -0
- package/src/MappedTypes/ResolveFieldProperties.ts +254 -0
- package/src/MappedTypes/ResolveSchema.ts +148 -0
- package/src/ModelField.ts +304 -0
- package/src/ModelIndex.ts +91 -0
- package/src/ModelRelationalField.ts +263 -0
- package/src/ModelSchema.ts +437 -0
- package/src/ModelType.ts +345 -0
- package/src/RefType.ts +139 -0
- package/src/SchemaProcessor.ts +1516 -0
- package/src/a.ts +58 -0
- package/src/index.ts +6 -0
- package/src/internals/index.ts +2 -0
- package/src/runtime/addSchemaToClient.ts +45 -0
- package/src/runtime/addSchemaToClientWithInstance.ts +46 -0
- package/src/runtime/bridge-types.ts +382 -0
- package/src/runtime/client/index.ts +923 -0
- package/src/runtime/client/index.v3.ts +52 -0
- package/src/runtime/index.ts +7 -0
- package/src/runtime/index.v3.ts +7 -0
- package/src/runtime/internals/APIClient.ts +1082 -0
- package/src/runtime/internals/clientUtils.ts +37 -0
- package/src/runtime/internals/generateCustomOperationsProperty.ts +116 -0
- package/src/runtime/internals/index.ts +12 -0
- package/src/runtime/internals/operations/custom.ts +497 -0
- package/src/runtime/internals/operations/get.ts +150 -0
- package/src/runtime/internals/operations/indexQuery.ts +178 -0
- package/src/runtime/internals/operations/list.ts +143 -0
- package/src/runtime/internals/operations/observeQuery.ts +146 -0
- package/src/runtime/internals/operations/subscription.ts +78 -0
- package/src/runtime/internals/server/generateModelsProperty.ts +94 -0
- package/src/runtime/internals/server/index.ts +4 -0
- package/src/runtime/internals/utils/clientProperties/generateEnumsProperty.ts +34 -0
- package/src/runtime/internals/utils/clientProperties/generateModelsProperty.ts +88 -0
- package/src/runtime/internals/utils/runtimeTypeGuards/isApiGraphQLProviderConfig.ts +10 -0
- package/src/runtime/internals/utils/runtimeTypeGuards/isConfigureEventWithResourceConfig.ts +13 -0
- package/src/runtime/internals/utils/runtimeTypeGuards/isGraphQLResponseWithErrors.ts +15 -0
- package/src/runtime/utils/findIndexByFields.ts +31 -0
- package/src/runtime/utils/index.ts +5 -0
- package/src/runtime/utils/resolveOwnerFields.ts +77 -0
- package/src/runtime/utils/resolvePKFields.ts +23 -0
- package/src/util/Brand.ts +45 -0
- package/src/util/IndexLimit.ts +12 -0
- package/src/util/SpreadTuple.ts +10 -0
- package/src/util/index.ts +3 -0
- package/lib-esm/index.d.ts +0 -5
- package/lib-esm/index.d.ts.map +0 -1
- package/lib-esm/index.js +0 -28
- package/lib-esm/src/Authorization.d.ts.map +0 -1
- package/lib-esm/src/ClientSchema.d.ts.map +0 -1
- package/lib-esm/src/CombineSchema.d.ts.map +0 -1
- package/lib-esm/src/CustomOperation.d.ts.map +0 -1
- package/lib-esm/src/CustomType.d.ts.map +0 -1
- package/lib-esm/src/EnumType.d.ts.map +0 -1
- package/lib-esm/src/Handler.d.ts.map +0 -1
- package/lib-esm/src/MappedTypes/CustomOperations.d.ts.map +0 -1
- package/lib-esm/src/MappedTypes/ExtractNonModelTypes.d.ts.map +0 -1
- package/lib-esm/src/MappedTypes/ExtractNonModelTypes.js +0 -2
- package/lib-esm/src/MappedTypes/ImplicitFieldInjector.d.ts.map +0 -1
- package/lib-esm/src/MappedTypes/ImplicitFieldInjector.js +0 -2
- package/lib-esm/src/MappedTypes/MapSecondaryIndexes.d.ts.map +0 -1
- package/lib-esm/src/MappedTypes/ModelMetadata.d.ts.map +0 -1
- package/lib-esm/src/MappedTypes/ResolveFieldProperties.d.ts.map +0 -1
- package/lib-esm/src/MappedTypes/ResolveFieldProperties.js +0 -2
- package/lib-esm/src/MappedTypes/ResolveSchema.d.ts.map +0 -1
- package/lib-esm/src/ModelField.d.ts.map +0 -1
- package/lib-esm/src/ModelIndex.d.ts.map +0 -1
- package/lib-esm/src/ModelRelationalField.d.ts.map +0 -1
- package/lib-esm/src/ModelSchema.d.ts.map +0 -1
- package/lib-esm/src/ModelType.d.ts.map +0 -1
- package/lib-esm/src/RefType.d.ts.map +0 -1
- package/lib-esm/src/SchemaProcessor.d.ts.map +0 -1
- package/lib-esm/src/index.d.ts.map +0 -1
- package/lib-esm/src/internals/index.d.ts +0 -2
- package/lib-esm/src/internals/index.d.ts.map +0 -1
- package/lib-esm/src/util/Brand.d.ts.map +0 -1
- package/lib-esm/src/util/IndexLimit.d.ts.map +0 -1
- package/lib-esm/src/util/SpreadTuple.d.ts.map +0 -1
- package/lib-esm/src/util/index.d.ts.map +0 -1
- package/lib-esm/tsconfig.tsbuildinfo +0 -1
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { Brand, brand } from './util';
|
|
2
|
+
|
|
3
|
+
const brandName = 'modelIndexType';
|
|
4
|
+
|
|
5
|
+
export type ModelIndexData = {
|
|
6
|
+
partitionKey: string;
|
|
7
|
+
sortKeys: readonly unknown[];
|
|
8
|
+
indexName: string;
|
|
9
|
+
queryField: string;
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export type InternalModelIndexType = ModelIndexType<any, any, any, any> & {
|
|
13
|
+
data: ModelIndexData;
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
export type ModelIndexType<
|
|
17
|
+
ModelFieldKeys extends string,
|
|
18
|
+
PK,
|
|
19
|
+
SK = readonly [],
|
|
20
|
+
QueryField = never,
|
|
21
|
+
K extends keyof ModelIndexType<any, any, any, any> = never,
|
|
22
|
+
> = Omit<
|
|
23
|
+
{
|
|
24
|
+
sortKeys<
|
|
25
|
+
FieldKeys extends ModelFieldKeys = ModelFieldKeys,
|
|
26
|
+
const SK extends ReadonlyArray<Exclude<FieldKeys, PK>> = readonly [],
|
|
27
|
+
>(
|
|
28
|
+
sortKeys: SK,
|
|
29
|
+
): ModelIndexType<FieldKeys, PK, SK, QueryField, K | 'sortKeys'>;
|
|
30
|
+
name(
|
|
31
|
+
name: string,
|
|
32
|
+
): ModelIndexType<ModelFieldKeys, PK, SK, QueryField, K | 'name'>;
|
|
33
|
+
queryField<
|
|
34
|
+
QF extends string = never,
|
|
35
|
+
MF extends ModelFieldKeys = ModelFieldKeys,
|
|
36
|
+
>(
|
|
37
|
+
field: QF,
|
|
38
|
+
): ModelIndexType<MF, PK, SK, QF, K | 'queryField'>;
|
|
39
|
+
},
|
|
40
|
+
K
|
|
41
|
+
> &
|
|
42
|
+
Brand<typeof brandName>;
|
|
43
|
+
|
|
44
|
+
function _modelIndex<
|
|
45
|
+
ModelFieldKeys extends string,
|
|
46
|
+
PK extends ModelFieldKeys,
|
|
47
|
+
SK = readonly [],
|
|
48
|
+
QueryField = never,
|
|
49
|
+
>(partitionKeyFieldName: PK) {
|
|
50
|
+
const data: ModelIndexData = {
|
|
51
|
+
partitionKey: partitionKeyFieldName,
|
|
52
|
+
sortKeys: [],
|
|
53
|
+
indexName: '',
|
|
54
|
+
queryField: '',
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
const builder = {
|
|
58
|
+
sortKeys(sortKeys) {
|
|
59
|
+
data.sortKeys = sortKeys;
|
|
60
|
+
|
|
61
|
+
return this;
|
|
62
|
+
},
|
|
63
|
+
name(name) {
|
|
64
|
+
data.indexName = name;
|
|
65
|
+
|
|
66
|
+
return this;
|
|
67
|
+
},
|
|
68
|
+
queryField(field) {
|
|
69
|
+
data.queryField = field;
|
|
70
|
+
|
|
71
|
+
return this;
|
|
72
|
+
},
|
|
73
|
+
...brand(brandName),
|
|
74
|
+
} as ModelIndexType<ModelFieldKeys, PK, SK, QueryField>;
|
|
75
|
+
|
|
76
|
+
return { ...builder, data } as InternalModelIndexType as ModelIndexType<
|
|
77
|
+
ModelFieldKeys,
|
|
78
|
+
PK,
|
|
79
|
+
SK,
|
|
80
|
+
QueryField
|
|
81
|
+
>;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
export function modelIndex<
|
|
85
|
+
ModelFieldKeys extends string,
|
|
86
|
+
PK extends ModelFieldKeys,
|
|
87
|
+
SK = readonly [],
|
|
88
|
+
QueryField = never,
|
|
89
|
+
>(partitionKeyFieldName: PK) {
|
|
90
|
+
return _modelIndex<ModelFieldKeys, PK, SK, QueryField>(partitionKeyFieldName);
|
|
91
|
+
}
|
|
@@ -0,0 +1,263 @@
|
|
|
1
|
+
import { SetTypeSubArg } from '@aws-amplify/data-schema-types';
|
|
2
|
+
import { Brand } from './util';
|
|
3
|
+
import { AllowModifier, Authorization, allow } from './Authorization';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Used to "attach" auth types to ModelField without exposing them on the builder.
|
|
7
|
+
*/
|
|
8
|
+
export const __auth = Symbol('__auth');
|
|
9
|
+
|
|
10
|
+
const brandName = 'modelRelationalField';
|
|
11
|
+
|
|
12
|
+
export enum ModelRelationshipTypes {
|
|
13
|
+
hasOne = 'hasOne',
|
|
14
|
+
hasMany = 'hasMany',
|
|
15
|
+
belongsTo = 'belongsTo',
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
type RelationshipTypes = `${ModelRelationshipTypes}`;
|
|
19
|
+
|
|
20
|
+
type ModelRelationalFieldData = {
|
|
21
|
+
fieldType: 'model';
|
|
22
|
+
type: ModelRelationshipTypes;
|
|
23
|
+
relatedModel: string;
|
|
24
|
+
array: boolean;
|
|
25
|
+
valueRequired: boolean;
|
|
26
|
+
arrayRequired: boolean;
|
|
27
|
+
references: string[];
|
|
28
|
+
authorization: Authorization<any, any, any>[];
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
export type ModelRelationalFieldParamShape = {
|
|
32
|
+
type: 'model';
|
|
33
|
+
relationshipType: string;
|
|
34
|
+
relatedModel: string;
|
|
35
|
+
array: boolean;
|
|
36
|
+
valueRequired: boolean;
|
|
37
|
+
references: string[];
|
|
38
|
+
arrayRequired: boolean;
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
type ModelRelationalFieldFunctions<
|
|
42
|
+
T extends ModelRelationalFieldParamShape,
|
|
43
|
+
// RM adds structural separation with ModelField; easier to identify it when mapping to ClientTypes
|
|
44
|
+
RM extends string | symbol,
|
|
45
|
+
K extends keyof ModelRelationalField<T, RM> = never,
|
|
46
|
+
> = {
|
|
47
|
+
/**
|
|
48
|
+
* When set, it requires the value of the relationship type to be required.
|
|
49
|
+
*/
|
|
50
|
+
valueRequired(): ModelRelationalField<
|
|
51
|
+
SetTypeSubArg<T, 'valueRequired', true>,
|
|
52
|
+
K | 'valueRequired'
|
|
53
|
+
>;
|
|
54
|
+
/**
|
|
55
|
+
* When set, it requires the relationship to always return a value
|
|
56
|
+
*/
|
|
57
|
+
required(): ModelRelationalField<
|
|
58
|
+
// The RM generic cannot be "required" since no such field exists
|
|
59
|
+
SetTypeSubArg<T, 'arrayRequired', true>,
|
|
60
|
+
K | 'required'
|
|
61
|
+
>;
|
|
62
|
+
/**
|
|
63
|
+
* When set, it requires the relationship to always return an array value
|
|
64
|
+
* @deprecated this modifier should not be used and will be removed
|
|
65
|
+
* in the next minor version of this package.
|
|
66
|
+
*/
|
|
67
|
+
arrayRequired(): ModelRelationalField<
|
|
68
|
+
SetTypeSubArg<T, 'arrayRequired', true>,
|
|
69
|
+
K | 'arrayRequired'
|
|
70
|
+
>;
|
|
71
|
+
/**
|
|
72
|
+
* Configures field-level authorization rules. Pass in an array of authorizations `(a.allow.____)` to mix and match
|
|
73
|
+
* multiple authorization rules for this field.
|
|
74
|
+
*/
|
|
75
|
+
authorization<AuthRuleType extends Authorization<any, any, any>>(
|
|
76
|
+
callback: (allow: AllowModifier) => AuthRuleType | AuthRuleType[],
|
|
77
|
+
): ModelRelationalField<T, K | 'authorization', K, AuthRuleType>;
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
export type ModelRelationalField<
|
|
81
|
+
T extends ModelRelationalFieldParamShape,
|
|
82
|
+
// RM adds structural separation with ModelField; easier to identify it when mapping to ClientTypes
|
|
83
|
+
RM extends string | symbol,
|
|
84
|
+
K extends keyof ModelRelationalField<T, RM> = never,
|
|
85
|
+
Auth = undefined,
|
|
86
|
+
> = Omit<ModelRelationalFieldFunctions<T, RM, K>, K> & {
|
|
87
|
+
// This is a lie. This property is never set at runtime. It's just used to smuggle auth types through.
|
|
88
|
+
[__auth]?: Auth;
|
|
89
|
+
} & Brand<typeof brandName>;
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
* Internal representation of Model Field that exposes the `data` property.
|
|
93
|
+
* Used at buildtime.
|
|
94
|
+
*/
|
|
95
|
+
export type InternalRelationalField = ModelRelationalField<
|
|
96
|
+
ModelRelationalFieldParamShape,
|
|
97
|
+
string,
|
|
98
|
+
never
|
|
99
|
+
> & {
|
|
100
|
+
data: ModelRelationalFieldData;
|
|
101
|
+
};
|
|
102
|
+
|
|
103
|
+
const relationalModifiers = [
|
|
104
|
+
'required',
|
|
105
|
+
'arrayRequired',
|
|
106
|
+
'valueRequired',
|
|
107
|
+
'authorization',
|
|
108
|
+
] as const;
|
|
109
|
+
|
|
110
|
+
const relationModifierMap: Record<
|
|
111
|
+
`${ModelRelationshipTypes}`,
|
|
112
|
+
(typeof relationalModifiers)[number][]
|
|
113
|
+
> = {
|
|
114
|
+
belongsTo: ['authorization'],
|
|
115
|
+
hasMany: ['arrayRequired', 'valueRequired', 'authorization'],
|
|
116
|
+
hasOne: ['required', 'authorization'],
|
|
117
|
+
};
|
|
118
|
+
|
|
119
|
+
export type RelationTypeFunctionOmitMapping<
|
|
120
|
+
Type extends ModelRelationshipTypes,
|
|
121
|
+
> = Type extends ModelRelationshipTypes.belongsTo
|
|
122
|
+
? 'required' | 'arrayRequired' | 'valueRequired'
|
|
123
|
+
: Type extends ModelRelationshipTypes.hasMany
|
|
124
|
+
? 'required'
|
|
125
|
+
: Type extends ModelRelationshipTypes.hasOne
|
|
126
|
+
? 'arrayRequired' | 'valueRequired'
|
|
127
|
+
: never;
|
|
128
|
+
|
|
129
|
+
function _modelRelationalField<
|
|
130
|
+
T extends ModelRelationalFieldParamShape,
|
|
131
|
+
RelatedModel extends string,
|
|
132
|
+
RT extends ModelRelationshipTypes,
|
|
133
|
+
>(type: RT, relatedModel: RelatedModel, references: string[]) {
|
|
134
|
+
const data: ModelRelationalFieldData = {
|
|
135
|
+
relatedModel,
|
|
136
|
+
type,
|
|
137
|
+
fieldType: 'model',
|
|
138
|
+
array: false,
|
|
139
|
+
valueRequired: false,
|
|
140
|
+
arrayRequired: false,
|
|
141
|
+
references,
|
|
142
|
+
authorization: [],
|
|
143
|
+
};
|
|
144
|
+
|
|
145
|
+
data.array = type === 'hasMany';
|
|
146
|
+
const relationshipBuilderFunctions = {
|
|
147
|
+
required() {
|
|
148
|
+
data.arrayRequired = true;
|
|
149
|
+
|
|
150
|
+
return this;
|
|
151
|
+
},
|
|
152
|
+
arrayRequired() {
|
|
153
|
+
data.arrayRequired = true;
|
|
154
|
+
|
|
155
|
+
return this;
|
|
156
|
+
},
|
|
157
|
+
valueRequired() {
|
|
158
|
+
data.valueRequired = true;
|
|
159
|
+
|
|
160
|
+
return this;
|
|
161
|
+
},
|
|
162
|
+
authorization(callback) {
|
|
163
|
+
const rules = callback(allow);
|
|
164
|
+
data.authorization = Array.isArray(rules) ? rules : [rules];
|
|
165
|
+
|
|
166
|
+
return this;
|
|
167
|
+
},
|
|
168
|
+
} as ModelRelationalField<T, RelatedModel>;
|
|
169
|
+
|
|
170
|
+
const builder = Object.fromEntries(
|
|
171
|
+
relationModifierMap[type].map((key) => [
|
|
172
|
+
key,
|
|
173
|
+
relationshipBuilderFunctions[key],
|
|
174
|
+
]),
|
|
175
|
+
);
|
|
176
|
+
|
|
177
|
+
return {
|
|
178
|
+
...builder,
|
|
179
|
+
data,
|
|
180
|
+
} as InternalRelationalField as ModelRelationalField<
|
|
181
|
+
T,
|
|
182
|
+
RelatedModel,
|
|
183
|
+
RelationTypeFunctionOmitMapping<typeof type>
|
|
184
|
+
>;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
export type ModelRelationalTypeArgFactory<
|
|
188
|
+
RM extends string,
|
|
189
|
+
RT extends RelationshipTypes,
|
|
190
|
+
IsArray extends boolean,
|
|
191
|
+
> = {
|
|
192
|
+
type: 'model';
|
|
193
|
+
relatedModel: RM;
|
|
194
|
+
relationshipType: RT;
|
|
195
|
+
array: IsArray;
|
|
196
|
+
valueRequired: false;
|
|
197
|
+
arrayRequired: false;
|
|
198
|
+
references: string[];
|
|
199
|
+
};
|
|
200
|
+
|
|
201
|
+
/**
|
|
202
|
+
* Create a one-directional one-to-one relationship between two models using the `hasOne("MODEL_NAME")` method.
|
|
203
|
+
* A hasOne relationship always uses a reference to the related model's identifier. Typically this is the `id` field
|
|
204
|
+
* unless overwritten with the `identifier()` method.
|
|
205
|
+
* @param relatedModel the name of the related model
|
|
206
|
+
* @returns a one-to-one relationship definition
|
|
207
|
+
*/
|
|
208
|
+
export function hasOne<RM extends string>(
|
|
209
|
+
relatedModel: RM,
|
|
210
|
+
references: string | string[],
|
|
211
|
+
) {
|
|
212
|
+
return _modelRelationalField<
|
|
213
|
+
ModelRelationalTypeArgFactory<RM, ModelRelationshipTypes.hasOne, false>,
|
|
214
|
+
RM,
|
|
215
|
+
ModelRelationshipTypes.hasOne
|
|
216
|
+
>(
|
|
217
|
+
ModelRelationshipTypes.hasOne,
|
|
218
|
+
relatedModel,
|
|
219
|
+
Array.isArray(references) ? references : [references],
|
|
220
|
+
);
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
/**
|
|
224
|
+
* Create a one-directional one-to-many relationship between two models using the `hasMany()` method.
|
|
225
|
+
* @param relatedModel the name of the related model
|
|
226
|
+
* @returns a one-to-many relationship definition
|
|
227
|
+
*/
|
|
228
|
+
export function hasMany<RM extends string>(
|
|
229
|
+
relatedModel: RM,
|
|
230
|
+
references: string | string[],
|
|
231
|
+
) {
|
|
232
|
+
return _modelRelationalField<
|
|
233
|
+
ModelRelationalTypeArgFactory<RM, ModelRelationshipTypes.hasMany, true>,
|
|
234
|
+
RM,
|
|
235
|
+
ModelRelationshipTypes.hasMany
|
|
236
|
+
>(
|
|
237
|
+
ModelRelationshipTypes.hasMany,
|
|
238
|
+
relatedModel,
|
|
239
|
+
Array.isArray(references) ? references : [references],
|
|
240
|
+
);
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
/**
|
|
244
|
+
* Make a `hasOne()` or `hasMany()` relationship bi-directional using the `belongsTo()` method.
|
|
245
|
+
* The belongsTo() method requires that a hasOne() or hasMany() relationship already exists from
|
|
246
|
+
* parent to the related model.
|
|
247
|
+
* @param relatedModel name of the related `.hasOne()` or `.hasMany()` model
|
|
248
|
+
* @returns a belong-to relationship definition
|
|
249
|
+
*/
|
|
250
|
+
export function belongsTo<RM extends string>(
|
|
251
|
+
relatedModel: RM,
|
|
252
|
+
references: string | string[],
|
|
253
|
+
) {
|
|
254
|
+
return _modelRelationalField<
|
|
255
|
+
ModelRelationalTypeArgFactory<RM, ModelRelationshipTypes.belongsTo, false>,
|
|
256
|
+
RM,
|
|
257
|
+
ModelRelationshipTypes.belongsTo
|
|
258
|
+
>(
|
|
259
|
+
ModelRelationshipTypes.belongsTo,
|
|
260
|
+
relatedModel,
|
|
261
|
+
Array.isArray(references) ? references : [references],
|
|
262
|
+
);
|
|
263
|
+
}
|