@aws-amplify/graphql-api-construct 1.3.0-rds-5.0 → 1.4.0-construct-publish-test.0
Sign up to get free protection for your applications and to get access to all the features.
- package/.jsii +774 -465
- package/API.md +67 -28
- package/CHANGELOG.md +19 -3
- package/README.md +1039 -401
- package/lib/amplify-dynamodb-table-wrapper.d.ts +128 -0
- package/lib/amplify-dynamodb-table-wrapper.js +102 -0
- package/lib/amplify-graphql-api.d.ts +4 -6
- package/lib/amplify-graphql-api.js +12 -61
- package/lib/amplify-graphql-definition.d.ts +19 -13
- package/lib/amplify-graphql-definition.js +58 -21
- package/lib/index.d.ts +2 -1
- package/lib/index.js +5 -2
- package/lib/internal/authorization-modes.js +20 -2
- package/lib/internal/construct-exports.js +8 -1
- package/lib/internal/data-source-config.d.ts +7 -0
- package/lib/internal/data-source-config.js +37 -0
- package/lib/internal/index.d.ts +1 -1
- package/lib/internal/index.js +2 -2
- package/lib/internal/model-type-name.d.ts +8 -0
- package/lib/internal/model-type-name.js +27 -0
- package/lib/types.d.ts +52 -102
- package/lib/types.js +1 -1
- package/node_modules/@aws-amplify/backend-output-schemas/lib/auth/index.js +8 -9
- package/node_modules/@aws-amplify/backend-output-schemas/lib/auth/v1.js +16 -18
- package/node_modules/@aws-amplify/backend-output-schemas/lib/graphql/index.js +11 -16
- package/node_modules/@aws-amplify/backend-output-schemas/lib/graphql/v1.js +23 -19
- package/node_modules/@aws-amplify/backend-output-schemas/lib/index.d.ts +12 -1
- package/node_modules/@aws-amplify/backend-output-schemas/lib/index.js +38 -60
- package/node_modules/@aws-amplify/backend-output-schemas/lib/platform/index.js +16 -14
- package/node_modules/@aws-amplify/backend-output-schemas/lib/platform/stack_metadata_schemas.js +7 -9
- package/node_modules/@aws-amplify/backend-output-schemas/lib/stack/index.d.ts +5 -0
- package/node_modules/@aws-amplify/backend-output-schemas/lib/stack/index.js +8 -9
- package/node_modules/@aws-amplify/backend-output-schemas/lib/stack/v1.d.ts +5 -0
- package/node_modules/@aws-amplify/backend-output-schemas/lib/stack/v1.js +10 -11
- package/node_modules/@aws-amplify/backend-output-schemas/lib/storage/index.js +8 -9
- package/node_modules/@aws-amplify/backend-output-schemas/lib/storage/v1.js +10 -12
- package/node_modules/@aws-amplify/backend-output-schemas/package.json +4 -23
- package/node_modules/@aws-amplify/backend-output-storage/lib/index.d.ts +1 -0
- package/node_modules/@aws-amplify/backend-output-storage/lib/index.js +17 -14
- package/node_modules/@aws-amplify/backend-output-storage/lib/stack_metadata_output_storage_strategy.js +28 -32
- package/node_modules/@aws-amplify/backend-output-storage/lib/store_attribution_metadata.d.ts +50 -0
- package/node_modules/@aws-amplify/backend-output-storage/lib/store_attribution_metadata.js +104 -0
- package/node_modules/@aws-amplify/backend-output-storage/node_modules/@aws-amplify/platform-core/lib/backend_deployment_type.d.ts +5 -0
- package/node_modules/@aws-amplify/backend-output-storage/node_modules/@aws-amplify/platform-core/lib/backend_deployment_type.js +9 -0
- package/node_modules/@aws-amplify/backend-output-storage/node_modules/@aws-amplify/platform-core/lib/cdk_context_key.d.ts +9 -0
- package/node_modules/@aws-amplify/backend-output-storage/node_modules/@aws-amplify/platform-core/lib/cdk_context_key.js +13 -0
- package/node_modules/@aws-amplify/backend-output-storage/node_modules/@aws-amplify/platform-core/lib/index.d.ts +4 -0
- package/node_modules/@aws-amplify/backend-output-storage/node_modules/@aws-amplify/platform-core/lib/index.js +22 -0
- package/node_modules/@aws-amplify/backend-output-storage/node_modules/@aws-amplify/platform-core/lib/unique_backend_identifier.d.ts +53 -0
- package/node_modules/@aws-amplify/backend-output-storage/node_modules/@aws-amplify/platform-core/lib/unique_backend_identifier.js +74 -0
- package/node_modules/@aws-amplify/backend-output-storage/node_modules/@aws-amplify/platform-core/package.json +23 -0
- package/node_modules/@aws-amplify/backend-output-storage/package.json +6 -4
- package/node_modules/@aws-amplify/graphql-auth-transformer/API.md +1 -5
- package/node_modules/@aws-amplify/graphql-auth-transformer/CHANGELOG.md +4 -12
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/graphql-auth-transformer.d.ts +1 -3
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/graphql-auth-transformer.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/graphql-auth-transformer.js +50 -64
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/graphql-auth-transformer.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{vtl-generator/ddb/resolvers → resolvers}/field.d.ts +1 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/field.d.ts.map +1 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{vtl-generator/ddb/resolvers → resolvers}/field.js +1 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/field.js.map +1 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{vtl-generator/ddb/resolvers → resolvers}/helpers.d.ts +1 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/helpers.d.ts.map +1 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{vtl-generator/ddb/resolvers → resolvers}/helpers.js +1 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/helpers.js.map +1 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/index.d.ts.map +1 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/index.js.map +1 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{vtl-generator/ddb/resolvers → resolvers}/mutation.create.d.ts +1 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/mutation.create.d.ts.map +1 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{vtl-generator/ddb/resolvers → resolvers}/mutation.create.js +1 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/mutation.create.js.map +1 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{vtl-generator/ddb/resolvers → resolvers}/mutation.delete.d.ts +1 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/mutation.delete.d.ts.map +1 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{vtl-generator/ddb/resolvers → resolvers}/mutation.delete.js +1 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/mutation.delete.js.map +1 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{vtl-generator/ddb/resolvers → resolvers}/mutation.update.d.ts +1 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/mutation.update.d.ts.map +1 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{vtl-generator/ddb/resolvers → resolvers}/mutation.update.js +1 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/mutation.update.js.map +1 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/query.d.ts +6 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/query.d.ts.map +1 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{vtl-generator/ddb/resolvers → resolvers}/query.js +3 -28
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/query.js.map +1 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{vtl-generator/ddb/resolvers → resolvers}/search.d.ts +1 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/search.d.ts.map +1 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{vtl-generator/ddb/resolvers → resolvers}/search.js +1 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/search.js.map +1 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{vtl-generator/rds/resolvers/subscription.d.ts → resolvers/subscriptions.d.ts} +2 -2
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/subscriptions.d.ts.map +1 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{vtl-generator/ddb/resolvers → resolvers}/subscriptions.js +1 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/subscriptions.js.map +1 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/utils/index.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/utils/index.js +0 -3
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/utils/index.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/utils/schema.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/utils/schema.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/utils/validations.d.ts +2 -3
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/utils/validations.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/utils/validations.js +1 -4
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/utils/validations.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/package.json +11 -11
- package/node_modules/@aws-amplify/graphql-default-value-transformer/CHANGELOG.md +5 -3
- package/node_modules/@aws-amplify/graphql-default-value-transformer/lib/graphql-default-value-transformer.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-default-value-transformer/lib/graphql-default-value-transformer.js +1 -13
- package/node_modules/@aws-amplify/graphql-default-value-transformer/lib/graphql-default-value-transformer.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-default-value-transformer/package.json +8 -8
- package/node_modules/@aws-amplify/graphql-function-transformer/CHANGELOG.md +5 -1
- package/node_modules/@aws-amplify/graphql-function-transformer/package.json +7 -7
- package/node_modules/@aws-amplify/graphql-http-transformer/CHANGELOG.md +5 -1
- package/node_modules/@aws-amplify/graphql-http-transformer/package.json +7 -7
- package/node_modules/@aws-amplify/graphql-index-transformer/API.md +3 -0
- package/node_modules/@aws-amplify/graphql-index-transformer/CHANGELOG.md +6 -4
- package/node_modules/@aws-amplify/graphql-index-transformer/lib/graphql-index-transformer.js +4 -0
- package/node_modules/@aws-amplify/graphql-index-transformer/lib/graphql-index-transformer.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-index-transformer/lib/graphql-primary-key-transformer.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-index-transformer/lib/graphql-primary-key-transformer.js +2 -2
- package/node_modules/@aws-amplify/graphql-index-transformer/lib/graphql-primary-key-transformer.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-index-transformer/lib/index.d.ts +1 -1
- package/node_modules/@aws-amplify/graphql-index-transformer/lib/index.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-index-transformer/lib/index.js +2 -1
- package/node_modules/@aws-amplify/graphql-index-transformer/lib/index.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-index-transformer/lib/resolvers/generators/rds-vtl-generator.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-index-transformer/lib/resolvers/generators/rds-vtl-generator.js +1 -4
- package/node_modules/@aws-amplify/graphql-index-transformer/lib/resolvers/generators/rds-vtl-generator.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-index-transformer/lib/resolvers/resolvers.d.ts +5 -6
- package/node_modules/@aws-amplify/graphql-index-transformer/lib/resolvers/resolvers.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-index-transformer/lib/resolvers/resolvers.js +43 -26
- package/node_modules/@aws-amplify/graphql-index-transformer/lib/resolvers/resolvers.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-index-transformer/package.json +8 -8
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/API.md +0 -15
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/CHANGELOG.md +4 -8
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/assets/mapping-lambda.zip +0 -0
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/field-mapping-resolvers.d.ts +0 -1
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/field-mapping-resolvers.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/field-mapping-resolvers.js +1 -13
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/field-mapping-resolvers.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-maps-to-transformer.d.ts +1 -2
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-maps-to-transformer.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-maps-to-transformer.js +33 -16
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-maps-to-transformer.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/index.d.ts +0 -1
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/index.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/index.js +1 -3
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/index.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/package.json +13 -13
- package/node_modules/@aws-amplify/graphql-model-transformer/API.md +15 -15
- package/node_modules/@aws-amplify/graphql-model-transformer/CHANGELOG.md +5 -13
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/graphql-model-transformer.d.ts +2 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/graphql-model-transformer.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/graphql-model-transformer.js +58 -66
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/graphql-model-transformer.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/graphql-types/mutation.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/graphql-types/mutation.js +2 -9
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/graphql-types/mutation.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/rds-lambda.zip +0 -0
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/rds-notification-lambda.zip +0 -0
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/rds-patching-lambda.zip +0 -0
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/dynamodb-vtl-generator.d.ts +5 -6
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/dynamodb-vtl-generator.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/dynamodb-vtl-generator.js +5 -5
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/dynamodb-vtl-generator.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/rds-vtl-generator.d.ts +5 -6
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/rds-vtl-generator.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/rds-vtl-generator.js +11 -11
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/rds-vtl-generator.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/vtl-generator.d.ts +5 -6
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/vtl-generator.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/mutation.d.ts +3 -4
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/mutation.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/mutation.js +55 -74
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/mutation.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/query.d.ts +1 -2
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/query.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/query.js +2 -8
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/query.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/resolver.d.ts +3 -10
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/resolver.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/resolver.js +42 -127
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/resolver.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-dynamo-model-resource-generator.d.ts +15 -0
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-dynamo-model-resource-generator.d.ts.map +1 -0
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-dynamo-model-resource-generator.js +169 -0
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-dynamo-model-resource-generator.js.map +1 -0
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-dynamodb-table-construct/index.d.ts +40 -0
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-dynamodb-table-construct/index.d.ts.map +1 -0
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-dynamodb-table-construct/index.js +242 -0
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-dynamodb-table-construct/index.js.map +1 -0
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-table-manager-lambda/amplify-table-manager-handler.d.ts +12 -0
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-table-manager-lambda/amplify-table-manager-handler.d.ts.map +1 -0
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-table-manager-lambda/amplify-table-manager-handler.js +663 -0
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-table-manager-lambda/amplify-table-manager-handler.js.map +1 -0
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/dynamo-model-resource-generator.d.ts +5 -2
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/dynamo-model-resource-generator.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/dynamo-model-resource-generator.js +47 -60
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/dynamo-model-resource-generator.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/model-resource-generator.js +5 -5
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/model-resource-generator.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/rds-model-resource-generator.d.ts +0 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/rds-model-resource-generator.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/rds-model-resource-generator.js +1 -28
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/rds-model-resource-generator.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/package.json +11 -9
- package/node_modules/@aws-amplify/graphql-predictions-transformer/CHANGELOG.md +5 -1
- package/node_modules/@aws-amplify/graphql-predictions-transformer/lib/predictionsLambdaFunction.zip +0 -0
- package/node_modules/@aws-amplify/graphql-predictions-transformer/package.json +7 -7
- package/node_modules/@aws-amplify/graphql-relational-transformer/CHANGELOG.md +6 -5
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-belongs-to-transformer.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-belongs-to-transformer.js +9 -41
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-belongs-to-transformer.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-has-many-transformer.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-has-many-transformer.js +8 -35
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-has-many-transformer.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-has-one-transformer.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-has-one-transformer.js +8 -30
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-has-one-transformer.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-many-to-many-transformer.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-many-to-many-transformer.js +2 -3
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-many-to-many-transformer.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolvers.d.ts +4 -4
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolvers.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolvers.js +164 -24
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolvers.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/schema.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/schema.js +8 -14
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/schema.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/types.d.ts +0 -4
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/types.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/utils.d.ts +0 -5
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/utils.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/utils.js +1 -85
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/utils.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/package.json +10 -10
- package/node_modules/@aws-amplify/graphql-searchable-transformer/CHANGELOG.md +5 -3
- package/node_modules/@aws-amplify/graphql-searchable-transformer/lib/graphql-searchable-transformer.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-searchable-transformer/lib/graphql-searchable-transformer.js +0 -3
- package/node_modules/@aws-amplify/graphql-searchable-transformer/lib/graphql-searchable-transformer.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-searchable-transformer/lib/streaming-lambda.zip +0 -0
- package/node_modules/@aws-amplify/graphql-searchable-transformer/package.json +8 -8
- package/node_modules/@aws-amplify/graphql-transformer/API.md +2 -3
- package/node_modules/@aws-amplify/graphql-transformer/CHANGELOG.md +5 -8
- package/node_modules/@aws-amplify/graphql-transformer/lib/graphql-transformer.d.ts +3 -4
- package/node_modules/@aws-amplify/graphql-transformer/lib/graphql-transformer.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer/lib/graphql-transformer.js +1 -5
- package/node_modules/@aws-amplify/graphql-transformer/lib/graphql-transformer.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer/package.json +14 -15
- package/node_modules/@aws-amplify/graphql-transformer/src/graphql-transformer.ts +5 -15
- package/node_modules/@aws-amplify/graphql-transformer-core/API.md +7 -39
- package/node_modules/@aws-amplify/graphql-transformer-core/CHANGELOG.md +7 -12
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/config/index.d.ts +0 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/config/index.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/config/index.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/graphql-api.js +2 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/graphql-api.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/index.d.ts +4 -4
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/index.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/index.js +3 -10
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/index.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/transform-host.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/transform-host.js +1 -2
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/transform-host.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/index.d.ts +1 -0
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/index.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/index.js +3 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/index.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/transform.d.ts +3 -2
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/transform.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/transform.js +3 -2
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/transform.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/types.d.ts +2 -4
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/types.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/utils.d.ts +2 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/utils.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/utils.js +12 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/utils.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/index.d.ts +4 -6
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/index.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/index.js +1 -2
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/index.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/import-appsync-api-types.d.ts +1 -4
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/import-appsync-api-types.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/import-appsync-api-types.js +2 -3
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/import-appsync-api-types.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/index.d.ts +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/index.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/index.js +1 -2
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/index.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/authType.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/authType.js +1 -0
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/authType.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/index.d.ts +3 -3
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/index.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/index.js +5 -14
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/index.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/provision-strategy-utils.d.ts +3 -0
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/provision-strategy-utils.d.ts.map +1 -0
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/provision-strategy-utils.js +15 -0
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/provision-strategy-utils.js.map +1 -0
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/rds-secret-utils.d.ts +2 -0
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/rds-secret-utils.d.ts.map +1 -0
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/rds-secret-utils.js +25 -0
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/rds-secret-utils.js.map +1 -0
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/schema-utils.d.ts +1 -3
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/schema-utils.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/schema-utils.js +1 -7
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/schema-utils.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/wrappers/object-definition-wrapper.d.ts +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/wrappers/object-definition-wrapper.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/package.json +4 -4
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/API.md +17 -12
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/CHANGELOG.md +8 -5
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/graphql-api-provider.d.ts +2 -5
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/graphql-api-provider.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/graphql-api-provider.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/index.d.ts +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/index.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/index.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/index.d.ts +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/index.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/index.js +2 -1
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/index.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/transformer-context-provider.d.ts +2 -3
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/transformer-context-provider.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/transformer-datasource-provider.d.ts +8 -2
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/transformer-datasource-provider.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/transformer-datasource-provider.js +6 -1
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/transformer-datasource-provider.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/package.json +2 -2
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/src/graphql-api-provider.ts +16 -17
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/src/index.ts +0 -1
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/src/transformer-context/index.ts +3 -1
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/src/transformer-context/transformer-context-provider.ts +2 -3
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/src/transformer-context/transformer-datasource-provider.ts +18 -10
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/tsconfig.tsbuildinfo +1 -1
- package/node_modules/@aws-amplify/platform-core/lib/backend_deployment_type.d.ts +5 -0
- package/node_modules/@aws-amplify/platform-core/lib/backend_deployment_type.js +9 -0
- package/node_modules/@aws-amplify/platform-core/lib/cdk_context_key.d.ts +9 -0
- package/node_modules/@aws-amplify/platform-core/lib/cdk_context_key.js +13 -0
- package/node_modules/@aws-amplify/platform-core/lib/index.d.ts +4 -0
- package/node_modules/@aws-amplify/platform-core/lib/index.js +22 -0
- package/node_modules/@aws-amplify/platform-core/lib/unique_backend_identifier.d.ts +53 -0
- package/node_modules/@aws-amplify/platform-core/lib/unique_backend_identifier.js +74 -0
- package/node_modules/@aws-amplify/platform-core/package.json +24 -0
- package/node_modules/@aws-amplify/plugin-types/lib/amplify_function.d.ts +4 -0
- package/node_modules/@aws-amplify/plugin-types/lib/amplify_function.js +3 -0
- package/node_modules/@aws-amplify/plugin-types/lib/amplify_output_writer.d.ts +9 -0
- package/node_modules/@aws-amplify/plugin-types/lib/amplify_output_writer.js +3 -0
- package/node_modules/@aws-amplify/plugin-types/lib/auth_resources.d.ts +42 -0
- package/node_modules/@aws-amplify/plugin-types/lib/auth_resources.js +3 -0
- package/node_modules/@aws-amplify/plugin-types/lib/backend_output.d.ts +6 -0
- package/node_modules/@aws-amplify/plugin-types/lib/backend_output.js +3 -0
- package/node_modules/@aws-amplify/plugin-types/lib/backend_secret_resolver.d.ts +13 -0
- package/node_modules/@aws-amplify/plugin-types/lib/backend_secret_resolver.js +3 -0
- package/node_modules/@aws-amplify/plugin-types/lib/backend_stack_creator.d.ts +8 -0
- package/node_modules/@aws-amplify/plugin-types/lib/backend_stack_creator.js +3 -0
- package/node_modules/@aws-amplify/plugin-types/lib/backend_stack_resolver.d.ts +7 -0
- package/node_modules/@aws-amplify/plugin-types/lib/backend_stack_resolver.js +3 -0
- package/node_modules/@aws-amplify/plugin-types/lib/construct_container.d.ts +26 -0
- package/node_modules/@aws-amplify/plugin-types/lib/construct_container.js +3 -0
- package/node_modules/@aws-amplify/plugin-types/lib/construct_factory.d.ts +21 -0
- package/node_modules/@aws-amplify/plugin-types/lib/construct_factory.js +3 -0
- package/node_modules/@aws-amplify/plugin-types/lib/function_resources.d.ts +5 -0
- package/node_modules/@aws-amplify/plugin-types/lib/function_resources.js +3 -0
- package/node_modules/@aws-amplify/plugin-types/lib/import_path_verifier.d.ts +14 -0
- package/node_modules/@aws-amplify/plugin-types/lib/import_path_verifier.js +3 -0
- package/node_modules/@aws-amplify/plugin-types/lib/index.d.ts +16 -0
- package/node_modules/@aws-amplify/plugin-types/lib/index.js +32 -0
- package/node_modules/@aws-amplify/plugin-types/lib/output_retrieval_strategy.d.ts +11 -0
- package/node_modules/@aws-amplify/plugin-types/lib/output_retrieval_strategy.js +3 -0
- package/node_modules/@aws-amplify/plugin-types/lib/output_storage_strategy.d.ts +8 -0
- package/node_modules/@aws-amplify/plugin-types/lib/output_storage_strategy.js +3 -0
- package/node_modules/@aws-amplify/plugin-types/lib/resource_provider.d.ts +7 -0
- package/node_modules/@aws-amplify/plugin-types/lib/resource_provider.js +3 -0
- package/node_modules/@aws-amplify/plugin-types/lib/unique_backend_identifier.d.ts +25 -0
- package/node_modules/@aws-amplify/plugin-types/lib/unique_backend_identifier.js +3 -0
- package/node_modules/@aws-amplify/plugin-types/package.json +20 -0
- package/node_modules/graphql-mapping-template/CHANGELOG.md +0 -4
- package/node_modules/graphql-mapping-template/package.json +2 -3
- package/node_modules/graphql-transformer-common/API.md +3 -21
- package/node_modules/graphql-transformer-common/CHANGELOG.md +2 -7
- package/node_modules/graphql-transformer-common/lib/ResourceConstants.d.ts +3 -0
- package/node_modules/graphql-transformer-common/lib/ResourceConstants.d.ts.map +1 -1
- package/node_modules/graphql-transformer-common/lib/ResourceConstants.js +3 -0
- package/node_modules/graphql-transformer-common/lib/ResourceConstants.js.map +1 -1
- package/node_modules/graphql-transformer-common/lib/definition.d.ts +2 -9
- package/node_modules/graphql-transformer-common/lib/definition.d.ts.map +1 -1
- package/node_modules/graphql-transformer-common/lib/definition.js +1 -52
- package/node_modules/graphql-transformer-common/lib/definition.js.map +1 -1
- package/node_modules/graphql-transformer-common/lib/util.d.ts.map +1 -1
- package/node_modules/graphql-transformer-common/lib/util.js +1 -3
- package/node_modules/graphql-transformer-common/lib/util.js.map +1 -1
- package/node_modules/graphql-transformer-common/package.json +6 -6
- package/package.json +25 -27
- package/src/amplify-dynamodb-table-wrapper.ts +177 -0
- package/src/amplify-graphql-api.ts +14 -76
- package/src/amplify-graphql-definition.ts +60 -20
- package/src/index.ts +13 -6
- package/src/internal/authorization-modes.ts +22 -1
- package/src/internal/construct-exports.ts +7 -0
- package/src/internal/data-source-config.ts +39 -0
- package/src/internal/index.ts +1 -1
- package/src/internal/model-type-name.ts +30 -0
- package/src/types.ts +59 -118
- package/babel.config.js +0 -13
- package/lib/internal/amplify-metadata.d.ts +0 -6
- package/lib/internal/amplify-metadata.js +0 -58
- package/lib/sql-model-datasource-binding.d.ts +0 -20
- package/lib/sql-model-datasource-binding.js +0 -42
- package/node_modules/@aws-amplify/backend-output-schemas/lib/index.internal.d.ts +0 -3
- package/node_modules/@aws-amplify/backend-output-schemas/lib/index.internal.js +0 -27
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/ddb-vtl-generator.d.ts +0 -20
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/ddb-vtl-generator.d.ts.map +0 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/ddb-vtl-generator.js +0 -24
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/ddb-vtl-generator.js.map +0 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/field.d.ts.map +0 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/field.js.map +0 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/helpers.d.ts.map +0 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/helpers.js.map +0 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/index.d.ts.map +0 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/index.js.map +0 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/mutation.create.d.ts.map +0 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/mutation.create.js.map +0 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/mutation.delete.d.ts.map +0 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/mutation.delete.js.map +0 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/mutation.update.d.ts.map +0 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/mutation.update.js.map +0 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/query.d.ts +0 -6
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/query.d.ts.map +0 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/query.js.map +0 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/search.d.ts.map +0 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/search.js.map +0 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/subscriptions.d.ts +0 -3
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/subscriptions.d.ts.map +0 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/subscriptions.js.map +0 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/rds-vtl-generator.d.ts +0 -20
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/rds-vtl-generator.d.ts.map +0 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/rds-vtl-generator.js +0 -24
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/rds-vtl-generator.js.map +0 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/common.d.ts +0 -13
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/common.d.ts.map +0 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/common.js +0 -157
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/common.js.map +0 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/index.d.ts +0 -5
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/index.d.ts.map +0 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/index.js +0 -21
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/index.js.map +0 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/mutation.d.ts +0 -8
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/mutation.d.ts.map +0 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/mutation.js +0 -56
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/mutation.js.map +0 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/query.d.ts +0 -8
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/query.d.ts.map +0 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/query.js +0 -41
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/query.js.map +0 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/subscription.d.ts.map +0 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/subscription.js +0 -18
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/subscription.js.map +0 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/vtl-generator.d.ts +0 -19
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/vtl-generator.d.ts.map +0 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/vtl-generator.js +0 -3
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/vtl-generator.js.map +0 -1
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-name-mapping.d.ts +0 -10
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-name-mapping.d.ts.map +0 -1
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-name-mapping.js +0 -102
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-name-mapping.js.map +0 -1
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-refers-to-transformer.d.ts +0 -13
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-refers-to-transformer.d.ts.map +0 -1
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-refers-to-transformer.js +0 -81
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-refers-to-transformer.js.map +0 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/ddb-generator.d.ts +0 -13
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/ddb-generator.d.ts.map +0 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/ddb-generator.js +0 -171
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/ddb-generator.js.map +0 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/generator-factory.d.ts +0 -4
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/generator-factory.d.ts.map +0 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/generator-factory.js +0 -18
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/generator-factory.js.map +0 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/generator.d.ts +0 -8
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/generator.d.ts.map +0 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/generator.js +0 -7
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/generator.js.map +0 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/rds-generator.d.ts +0 -14
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/rds-generator.d.ts.map +0 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/rds-generator.js +0 -115
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/rds-generator.js.map +0 -1
- package/node_modules/@aws-amplify/graphql-sql-transformer/API.md +0 -26
- package/node_modules/@aws-amplify/graphql-sql-transformer/CHANGELOG.md +0 -10
- package/node_modules/@aws-amplify/graphql-sql-transformer/LICENSE +0 -201
- package/node_modules/@aws-amplify/graphql-sql-transformer/README.md +0 -13
- package/node_modules/@aws-amplify/graphql-sql-transformer/lib/graphql-sql-transformer.d.ts +0 -12
- package/node_modules/@aws-amplify/graphql-sql-transformer/lib/graphql-sql-transformer.d.ts.map +0 -1
- package/node_modules/@aws-amplify/graphql-sql-transformer/lib/graphql-sql-transformer.js +0 -132
- package/node_modules/@aws-amplify/graphql-sql-transformer/lib/graphql-sql-transformer.js.map +0 -1
- package/node_modules/@aws-amplify/graphql-sql-transformer/lib/index.d.ts +0 -2
- package/node_modules/@aws-amplify/graphql-sql-transformer/lib/index.d.ts.map +0 -1
- package/node_modules/@aws-amplify/graphql-sql-transformer/lib/index.js +0 -6
- package/node_modules/@aws-amplify/graphql-sql-transformer/lib/index.js.map +0 -1
- package/node_modules/@aws-amplify/graphql-sql-transformer/package.json +0 -71
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/config/project-config.d.ts +0 -6
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/config/project-config.d.ts.map +0 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/config/project-config.js +0 -3
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/config/project-config.js.map +0 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/api-category.d.ts +0 -2
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/api-category.d.ts.map +0 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/api-category.js +0 -5
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/api-category.js.map +0 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/model-util.d.ts +0 -3
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/model-util.d.ts.map +0 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/model-util.js +0 -19
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/model-util.js.map +0 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/rds-util.d.ts +0 -14
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/rds-util.d.ts.map +0 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/rds-util.js +0 -82
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/rds-util.js.map +0 -1
- package/node_modules/graphql-mapping-template/LICENSE +0 -201
- package/remove-module-type-from-package-json.ts +0 -19
- package/src/internal/amplify-metadata.ts +0 -58
- package/src/sql-model-datasource-binding.ts +0 -45
- /package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{vtl-generator/ddb/resolvers → resolvers}/index.d.ts +0 -0
- /package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{vtl-generator/ddb/resolvers → resolvers}/index.js +0 -0
@@ -1,53 +1,90 @@
|
|
1
1
|
"use strict";
|
2
2
|
var _a;
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
4
|
-
exports.AmplifyGraphqlDefinition = void 0;
|
4
|
+
exports.AmplifyGraphqlDefinition = exports.DEFAULT_MODEL_DATA_SOURCE_DEFINITION = void 0;
|
5
5
|
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
6
6
|
const os = require("os");
|
7
7
|
const aws_appsync_1 = require("aws-cdk-lib/aws-appsync");
|
8
|
-
const
|
9
|
-
|
8
|
+
const internal_1 = require("./internal");
|
9
|
+
exports.DEFAULT_MODEL_DATA_SOURCE_DEFINITION = {
|
10
|
+
name: 'DefaultDynamoDB',
|
11
|
+
strategy: {
|
12
|
+
dbType: 'DYNAMODB',
|
13
|
+
provisionStrategy: 'DEFAULT',
|
14
|
+
},
|
10
15
|
};
|
11
16
|
/**
|
12
17
|
* Class exposing utilities to produce IAmplifyGraphqlDefinition objects given various inputs.
|
13
18
|
*/
|
14
19
|
class AmplifyGraphqlDefinition {
|
15
20
|
/**
|
16
|
-
* Produce a schema definition from a string input
|
21
|
+
* Produce a schema definition from a string input
|
17
22
|
* @param schema the graphql input as a string
|
18
|
-
* @param
|
19
|
-
* @
|
20
|
-
*
|
23
|
+
* @param modelDataSourceDefinition the provision definition for `@model` datasource. The DynamoDB from CloudFormation will be used by default.
|
24
|
+
* @experimental modelDataSourceDefinition
|
25
|
+
* @returns a fully formed amplify graphql definition
|
21
26
|
*/
|
22
|
-
static fromString(schema,
|
27
|
+
static fromString(schema, modelDataSourceDefinition = exports.DEFAULT_MODEL_DATA_SOURCE_DEFINITION) {
|
23
28
|
return {
|
24
29
|
schema,
|
25
30
|
functionSlots: [],
|
26
|
-
|
31
|
+
dataSourceDefinition: (0, internal_1.constructDataSourceDefinitionMap)(schema, modelDataSourceDefinition),
|
27
32
|
};
|
28
33
|
}
|
29
34
|
/**
|
30
|
-
* Convert one or more appsync SchemaFile objects into an Amplify Graphql Schema
|
35
|
+
* Convert one or more appsync SchemaFile objects into an Amplify Graphql Schema
|
31
36
|
* @param filePaths one or more paths to the graphql files to process
|
32
|
-
* @returns a fully formed amplify graphql definition
|
37
|
+
* @returns a fully formed amplify graphql definition
|
33
38
|
*/
|
34
39
|
static fromFiles(...filePaths) {
|
35
|
-
|
40
|
+
if (!Array.isArray(filePaths)) {
|
41
|
+
filePaths = [filePaths];
|
42
|
+
}
|
43
|
+
const schema = filePaths.map((filePath) => new aws_appsync_1.SchemaFile({ filePath }).definition).join(os.EOL);
|
44
|
+
return {
|
45
|
+
schema,
|
46
|
+
functionSlots: [],
|
47
|
+
dataSourceDefinition: (0, internal_1.constructDataSourceDefinitionMap)(schema, exports.DEFAULT_MODEL_DATA_SOURCE_DEFINITION),
|
48
|
+
};
|
36
49
|
}
|
37
50
|
/**
|
38
|
-
* Convert one or more appsync SchemaFile objects into an Amplify Graphql Schema
|
39
|
-
* @param filePaths one or more paths to the graphql files to process
|
40
|
-
* @param modelDataSourceBinding the ModelDataSourceBinding to use for the schema.
|
41
|
-
* @returns a fully formed amplify graphql definition, whose models will be resolved by the data source specifed in the
|
42
|
-
* modelDataSourceBinding
|
51
|
+
* Convert one or more appsync SchemaFile objects into an Amplify Graphql Schema
|
43
52
|
* @experimental
|
53
|
+
* @param filePaths one or more paths to the graphql files to process
|
54
|
+
* @param modelDataSourceDefinition the provision definition for `@model` datasource. The DynamoDB from CloudFormation will be used by default.
|
55
|
+
* @returns a fully formed amplify graphql definition
|
44
56
|
*/
|
45
|
-
static
|
57
|
+
static fromFilesAndDefinition(filePaths, modelDataSourceDefinition = exports.DEFAULT_MODEL_DATA_SOURCE_DEFINITION) {
|
58
|
+
if (!Array.isArray(filePaths)) {
|
59
|
+
filePaths = [filePaths];
|
60
|
+
}
|
46
61
|
const schema = filePaths.map((filePath) => new aws_appsync_1.SchemaFile({ filePath }).definition).join(os.EOL);
|
47
|
-
return
|
62
|
+
return {
|
63
|
+
schema,
|
64
|
+
functionSlots: [],
|
65
|
+
dataSourceDefinition: (0, internal_1.constructDataSourceDefinitionMap)(schema, modelDataSourceDefinition),
|
66
|
+
};
|
67
|
+
}
|
68
|
+
/**
|
69
|
+
* Combines multiple IAmplifyGraphqlDefinitions into a single definition.
|
70
|
+
* @experimental
|
71
|
+
* @param definitions the definitions to combine
|
72
|
+
*/
|
73
|
+
static combine(definitions) {
|
74
|
+
if (definitions.length === 0) {
|
75
|
+
throw new Error('The definitions of amplify GraphQL cannot be empty.');
|
76
|
+
}
|
77
|
+
if (definitions.length === 1) {
|
78
|
+
return definitions[0];
|
79
|
+
}
|
80
|
+
return {
|
81
|
+
schema: definitions.map((def) => def.schema).join(os.EOL),
|
82
|
+
functionSlots: [],
|
83
|
+
dataSourceDefinition: definitions.reduce((acc, cur) => ({ ...acc, ...cur.dataSourceDefinition }), {}),
|
84
|
+
};
|
48
85
|
}
|
49
86
|
}
|
50
87
|
exports.AmplifyGraphqlDefinition = AmplifyGraphqlDefinition;
|
51
88
|
_a = JSII_RTTI_SYMBOL_1;
|
52
|
-
AmplifyGraphqlDefinition[_a] = { fqn: "@aws-amplify/graphql-api-construct.AmplifyGraphqlDefinition", version: "1.
|
53
|
-
//# sourceMappingURL=data:application/json;base64,
|
89
|
+
AmplifyGraphqlDefinition[_a] = { fqn: "@aws-amplify/graphql-api-construct.AmplifyGraphqlDefinition", version: "1.4.0-construct-publish-test.0" };
|
90
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1wbGlmeS1ncmFwaHFsLWRlZmluaXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvYW1wbGlmeS1ncmFwaHFsLWRlZmluaXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSx5QkFBeUI7QUFDekIseURBQXFEO0FBRXJELHlDQUE4RDtBQUVqRCxRQUFBLG9DQUFvQyxHQUE4QjtJQUM3RSxJQUFJLEVBQUUsaUJBQWlCO0lBQ3ZCLFFBQVEsRUFBRTtRQUNSLE1BQU0sRUFBRSxVQUFVO1FBQ2xCLGlCQUFpQixFQUFFLFNBQVM7S0FDN0I7Q0FDRixDQUFDO0FBQ0Y7O0dBRUc7QUFDSCxNQUFhLHdCQUF3QjtJQUNuQzs7Ozs7O09BTUc7SUFDSCxNQUFNLENBQUMsVUFBVSxDQUNmLE1BQWMsRUFDZCw0QkFBdUQsNENBQW9DO1FBRTNGLE9BQU87WUFDTCxNQUFNO1lBQ04sYUFBYSxFQUFFLEVBQUU7WUFDakIsb0JBQW9CLEVBQUUsSUFBQSwyQ0FBZ0MsRUFBQyxNQUFNLEVBQUUseUJBQXlCLENBQUM7U0FDMUYsQ0FBQztJQUNKLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLFNBQW1CO1FBQ3JDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQzdCLFNBQVMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQ3pCO1FBQ0QsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsSUFBSSx3QkFBVSxDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2pHLE9BQU87WUFDTCxNQUFNO1lBQ04sYUFBYSxFQUFFLEVBQUU7WUFDakIsb0JBQW9CLEVBQUUsSUFBQSwyQ0FBZ0MsRUFBQyxNQUFNLEVBQUUsNENBQW9DLENBQUM7U0FDckcsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxNQUFNLENBQUMsc0JBQXNCLENBQzNCLFNBQTRCLEVBQzVCLDRCQUF1RCw0Q0FBb0M7UUFFM0YsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDN0IsU0FBUyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDekI7UUFDRCxNQUFNLE1BQU0sR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxJQUFJLHdCQUFVLENBQUMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDakcsT0FBTztZQUNMLE1BQU07WUFDTixhQUFhLEVBQUUsRUFBRTtZQUNqQixvQkFBb0IsRUFBRSxJQUFBLDJDQUFnQyxFQUFDLE1BQU0sRUFBRSx5QkFBeUIsQ0FBQztTQUMxRixDQUFDO0lBQ0osQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsT0FBTyxDQUFDLFdBQXdDO1FBQ3JELElBQUksV0FBVyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDNUIsTUFBTSxJQUFJLEtBQUssQ0FBQyxxREFBcUQsQ0FBQyxDQUFDO1NBQ3hFO1FBQ0QsSUFBSSxXQUFXLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUM1QixPQUFPLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUN2QjtRQUNELE9BQU87WUFDTCxNQUFNLEVBQUUsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDO1lBQ3pELGFBQWEsRUFBRSxFQUFFO1lBQ2pCLG9CQUFvQixFQUFFLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxHQUFHLEVBQUUsR0FBRyxHQUFHLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztTQUN0RyxDQUFDO0lBQ0osQ0FBQzs7QUEzRUgsNERBNEVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgb3MgZnJvbSAnb3MnO1xuaW1wb3J0IHsgU2NoZW1hRmlsZSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1hcHBzeW5jJztcbmltcG9ydCB7IElBbXBsaWZ5R3JhcGhxbERlZmluaXRpb24sIE1vZGVsRGF0YVNvdXJjZURlZmluaXRpb24gfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IGNvbnN0cnVjdERhdGFTb3VyY2VEZWZpbml0aW9uTWFwIH0gZnJvbSAnLi9pbnRlcm5hbCc7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX01PREVMX0RBVEFfU09VUkNFX0RFRklOSVRJT046IE1vZGVsRGF0YVNvdXJjZURlZmluaXRpb24gPSB7XG4gIG5hbWU6ICdEZWZhdWx0RHluYW1vREInLFxuICBzdHJhdGVneToge1xuICAgIGRiVHlwZTogJ0RZTkFNT0RCJyxcbiAgICBwcm92aXNpb25TdHJhdGVneTogJ0RFRkFVTFQnLFxuICB9LFxufTtcbi8qKlxuICogQ2xhc3MgZXhwb3NpbmcgdXRpbGl0aWVzIHRvIHByb2R1Y2UgSUFtcGxpZnlHcmFwaHFsRGVmaW5pdGlvbiBvYmplY3RzIGdpdmVuIHZhcmlvdXMgaW5wdXRzLlxuICovXG5leHBvcnQgY2xhc3MgQW1wbGlmeUdyYXBocWxEZWZpbml0aW9uIHtcbiAgLyoqXG4gICAqIFByb2R1Y2UgYSBzY2hlbWEgZGVmaW5pdGlvbiBmcm9tIGEgc3RyaW5nIGlucHV0XG4gICAqIEBwYXJhbSBzY2hlbWEgdGhlIGdyYXBocWwgaW5wdXQgYXMgYSBzdHJpbmdcbiAgICogQHBhcmFtIG1vZGVsRGF0YVNvdXJjZURlZmluaXRpb24gdGhlIHByb3Zpc2lvbiBkZWZpbml0aW9uIGZvciBgQG1vZGVsYCBkYXRhc291cmNlLiBUaGUgRHluYW1vREIgZnJvbSBDbG91ZEZvcm1hdGlvbiB3aWxsIGJlIHVzZWQgYnkgZGVmYXVsdC5cbiAgICogQGV4cGVyaW1lbnRhbCBtb2RlbERhdGFTb3VyY2VEZWZpbml0aW9uXG4gICAqIEByZXR1cm5zIGEgZnVsbHkgZm9ybWVkIGFtcGxpZnkgZ3JhcGhxbCBkZWZpbml0aW9uXG4gICAqL1xuICBzdGF0aWMgZnJvbVN0cmluZyhcbiAgICBzY2hlbWE6IHN0cmluZyxcbiAgICBtb2RlbERhdGFTb3VyY2VEZWZpbml0aW9uOiBNb2RlbERhdGFTb3VyY2VEZWZpbml0aW9uID0gREVGQVVMVF9NT0RFTF9EQVRBX1NPVVJDRV9ERUZJTklUSU9OLFxuICApOiBJQW1wbGlmeUdyYXBocWxEZWZpbml0aW9uIHtcbiAgICByZXR1cm4ge1xuICAgICAgc2NoZW1hLFxuICAgICAgZnVuY3Rpb25TbG90czogW10sXG4gICAgICBkYXRhU291cmNlRGVmaW5pdGlvbjogY29uc3RydWN0RGF0YVNvdXJjZURlZmluaXRpb25NYXAoc2NoZW1hLCBtb2RlbERhdGFTb3VyY2VEZWZpbml0aW9uKSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnQgb25lIG9yIG1vcmUgYXBwc3luYyBTY2hlbWFGaWxlIG9iamVjdHMgaW50byBhbiBBbXBsaWZ5IEdyYXBocWwgU2NoZW1hXG4gICAqIEBwYXJhbSBmaWxlUGF0aHMgb25lIG9yIG1vcmUgcGF0aHMgdG8gdGhlIGdyYXBocWwgZmlsZXMgdG8gcHJvY2Vzc1xuICAgKiBAcmV0dXJucyBhIGZ1bGx5IGZvcm1lZCBhbXBsaWZ5IGdyYXBocWwgZGVmaW5pdGlvblxuICAgKi9cbiAgc3RhdGljIGZyb21GaWxlcyguLi5maWxlUGF0aHM6IHN0cmluZ1tdKTogSUFtcGxpZnlHcmFwaHFsRGVmaW5pdGlvbiB7XG4gICAgaWYgKCFBcnJheS5pc0FycmF5KGZpbGVQYXRocykpIHtcbiAgICAgIGZpbGVQYXRocyA9IFtmaWxlUGF0aHNdO1xuICAgIH1cbiAgICBjb25zdCBzY2hlbWEgPSBmaWxlUGF0aHMubWFwKChmaWxlUGF0aCkgPT4gbmV3IFNjaGVtYUZpbGUoeyBmaWxlUGF0aCB9KS5kZWZpbml0aW9uKS5qb2luKG9zLkVPTCk7XG4gICAgcmV0dXJuIHtcbiAgICAgIHNjaGVtYSxcbiAgICAgIGZ1bmN0aW9uU2xvdHM6IFtdLFxuICAgICAgZGF0YVNvdXJjZURlZmluaXRpb246IGNvbnN0cnVjdERhdGFTb3VyY2VEZWZpbml0aW9uTWFwKHNjaGVtYSwgREVGQVVMVF9NT0RFTF9EQVRBX1NPVVJDRV9ERUZJTklUSU9OKSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnQgb25lIG9yIG1vcmUgYXBwc3luYyBTY2hlbWFGaWxlIG9iamVjdHMgaW50byBhbiBBbXBsaWZ5IEdyYXBocWwgU2NoZW1hXG4gICAqIEBleHBlcmltZW50YWxcbiAgICogQHBhcmFtIGZpbGVQYXRocyBvbmUgb3IgbW9yZSBwYXRocyB0byB0aGUgZ3JhcGhxbCBmaWxlcyB0byBwcm9jZXNzXG4gICAqIEBwYXJhbSBtb2RlbERhdGFTb3VyY2VEZWZpbml0aW9uIHRoZSBwcm92aXNpb24gZGVmaW5pdGlvbiBmb3IgYEBtb2RlbGAgZGF0YXNvdXJjZS4gVGhlIER5bmFtb0RCIGZyb20gQ2xvdWRGb3JtYXRpb24gd2lsbCBiZSB1c2VkIGJ5IGRlZmF1bHQuXG4gICAqIEByZXR1cm5zIGEgZnVsbHkgZm9ybWVkIGFtcGxpZnkgZ3JhcGhxbCBkZWZpbml0aW9uXG4gICAqL1xuICBzdGF0aWMgZnJvbUZpbGVzQW5kRGVmaW5pdGlvbihcbiAgICBmaWxlUGF0aHM6IHN0cmluZyB8IHN0cmluZ1tdLFxuICAgIG1vZGVsRGF0YVNvdXJjZURlZmluaXRpb246IE1vZGVsRGF0YVNvdXJjZURlZmluaXRpb24gPSBERUZBVUxUX01PREVMX0RBVEFfU09VUkNFX0RFRklOSVRJT04sXG4gICk6IElBbXBsaWZ5R3JhcGhxbERlZmluaXRpb24ge1xuICAgIGlmICghQXJyYXkuaXNBcnJheShmaWxlUGF0aHMpKSB7XG4gICAgICBmaWxlUGF0aHMgPSBbZmlsZVBhdGhzXTtcbiAgICB9XG4gICAgY29uc3Qgc2NoZW1hID0gZmlsZVBhdGhzLm1hcCgoZmlsZVBhdGgpID0+IG5ldyBTY2hlbWFGaWxlKHsgZmlsZVBhdGggfSkuZGVmaW5pdGlvbikuam9pbihvcy5FT0wpO1xuICAgIHJldHVybiB7XG4gICAgICBzY2hlbWEsXG4gICAgICBmdW5jdGlvblNsb3RzOiBbXSxcbiAgICAgIGRhdGFTb3VyY2VEZWZpbml0aW9uOiBjb25zdHJ1Y3REYXRhU291cmNlRGVmaW5pdGlvbk1hcChzY2hlbWEsIG1vZGVsRGF0YVNvdXJjZURlZmluaXRpb24pLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogQ29tYmluZXMgbXVsdGlwbGUgSUFtcGxpZnlHcmFwaHFsRGVmaW5pdGlvbnMgaW50byBhIHNpbmdsZSBkZWZpbml0aW9uLlxuICAgKiBAZXhwZXJpbWVudGFsXG4gICAqIEBwYXJhbSBkZWZpbml0aW9ucyB0aGUgZGVmaW5pdGlvbnMgdG8gY29tYmluZVxuICAgKi9cbiAgc3RhdGljIGNvbWJpbmUoZGVmaW5pdGlvbnM6IElBbXBsaWZ5R3JhcGhxbERlZmluaXRpb25bXSk6IElBbXBsaWZ5R3JhcGhxbERlZmluaXRpb24ge1xuICAgIGlmIChkZWZpbml0aW9ucy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVGhlIGRlZmluaXRpb25zIG9mIGFtcGxpZnkgR3JhcGhRTCBjYW5ub3QgYmUgZW1wdHkuJyk7XG4gICAgfVxuICAgIGlmIChkZWZpbml0aW9ucy5sZW5ndGggPT09IDEpIHtcbiAgICAgIHJldHVybiBkZWZpbml0aW9uc1swXTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIHNjaGVtYTogZGVmaW5pdGlvbnMubWFwKChkZWYpID0+IGRlZi5zY2hlbWEpLmpvaW4ob3MuRU9MKSxcbiAgICAgIGZ1bmN0aW9uU2xvdHM6IFtdLFxuICAgICAgZGF0YVNvdXJjZURlZmluaXRpb246IGRlZmluaXRpb25zLnJlZHVjZSgoYWNjLCBjdXIpID0+ICh7IC4uLmFjYywgLi4uY3VyLmRhdGFTb3VyY2VEZWZpbml0aW9uIH0pLCB7fSksXG4gICAgfTtcbiAgfVxufVxuIl19
|
package/lib/index.d.ts
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
-
export type { IAMAuthorizationConfig, UserPoolAuthorizationConfig, OIDCAuthorizationConfig, ApiKeyAuthorizationConfig, LambdaAuthorizationConfig, AuthorizationModes, PartialTranslationBehavior, AmplifyGraphqlApiProps, AmplifyGraphqlApiResources, AmplifyGraphqlApiCfnResources, FunctionSlotBase, MutationFunctionSlot, QueryFunctionSlot, SubscriptionFunctionSlot, FunctionSlot, FunctionSlotOverride, ConflictResolution, ConflictDetectionType, OptimisticConflictResolutionStrategy, CustomConflictResolutionStrategy, AutomergeConflictResolutionStrategy, ConflictResolutionStrategyBase, ConflictResolutionStrategy, TranslationBehavior, IAmplifyGraphqlDefinition, IBackendOutputStorageStrategy, IBackendOutputEntry, AddFunctionProps,
|
1
|
+
export type { IAMAuthorizationConfig, UserPoolAuthorizationConfig, OIDCAuthorizationConfig, ApiKeyAuthorizationConfig, LambdaAuthorizationConfig, AuthorizationModes, PartialTranslationBehavior, AmplifyGraphqlApiProps, AmplifyGraphqlApiResources, AmplifyGraphqlApiCfnResources, FunctionSlotBase, MutationFunctionSlot, QueryFunctionSlot, SubscriptionFunctionSlot, FunctionSlot, FunctionSlotOverride, ConflictResolution, ConflictDetectionType, OptimisticConflictResolutionStrategy, CustomConflictResolutionStrategy, AutomergeConflictResolutionStrategy, ConflictResolutionStrategyBase, ConflictResolutionStrategy, TranslationBehavior, IAmplifyGraphqlDefinition, IBackendOutputStorageStrategy, IBackendOutputEntry, AddFunctionProps, ModelDataSourceDefinition, ModelDataSourceDefinitionStrategy, DefaultDynamoDbModelDataSourceDefinitionStrategy, AmplifyDynamoDbModelDataSourceDefinitionStrategy, ModelDataSourceDefinitionDbType, } from './types';
|
2
2
|
export { AmplifyGraphqlApi } from './amplify-graphql-api';
|
3
3
|
export { AmplifyGraphqlDefinition } from './amplify-graphql-definition';
|
4
|
+
export { AmplifyDynamoDbTableWrapper, TimeToLiveSpecification, ProvisionedThroughput, SSESpecification, SSEType, StreamSpecification, } from './amplify-dynamodb-table-wrapper';
|
package/lib/index.js
CHANGED
@@ -1,8 +1,11 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.AmplifyGraphqlDefinition = exports.AmplifyGraphqlApi = void 0;
|
3
|
+
exports.SSEType = exports.AmplifyDynamoDbTableWrapper = exports.AmplifyGraphqlDefinition = exports.AmplifyGraphqlApi = void 0;
|
4
4
|
var amplify_graphql_api_1 = require("./amplify-graphql-api");
|
5
5
|
Object.defineProperty(exports, "AmplifyGraphqlApi", { enumerable: true, get: function () { return amplify_graphql_api_1.AmplifyGraphqlApi; } });
|
6
6
|
var amplify_graphql_definition_1 = require("./amplify-graphql-definition");
|
7
7
|
Object.defineProperty(exports, "AmplifyGraphqlDefinition", { enumerable: true, get: function () { return amplify_graphql_definition_1.AmplifyGraphqlDefinition; } });
|
8
|
-
|
8
|
+
var amplify_dynamodb_table_wrapper_1 = require("./amplify-dynamodb-table-wrapper");
|
9
|
+
Object.defineProperty(exports, "AmplifyDynamoDbTableWrapper", { enumerable: true, get: function () { return amplify_dynamodb_table_wrapper_1.AmplifyDynamoDbTableWrapper; } });
|
10
|
+
Object.defineProperty(exports, "SSEType", { enumerable: true, get: function () { return amplify_dynamodb_table_wrapper_1.SSEType; } });
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBbUNBLDZEQUEwRDtBQUFqRCx3SEFBQSxpQkFBaUIsT0FBQTtBQUMxQiwyRUFBd0U7QUFBL0Qsc0lBQUEsd0JBQXdCLE9BQUE7QUFDakMsbUZBTzBDO0FBTnhDLDZJQUFBLDJCQUEyQixPQUFBO0FBSTNCLHlIQUFBLE9BQU8sT0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIHtcbiAgSUFNQXV0aG9yaXphdGlvbkNvbmZpZyxcbiAgVXNlclBvb2xBdXRob3JpemF0aW9uQ29uZmlnLFxuICBPSURDQXV0aG9yaXphdGlvbkNvbmZpZyxcbiAgQXBpS2V5QXV0aG9yaXphdGlvbkNvbmZpZyxcbiAgTGFtYmRhQXV0aG9yaXphdGlvbkNvbmZpZyxcbiAgQXV0aG9yaXphdGlvbk1vZGVzLFxuICBQYXJ0aWFsVHJhbnNsYXRpb25CZWhhdmlvcixcbiAgQW1wbGlmeUdyYXBocWxBcGlQcm9wcyxcbiAgQW1wbGlmeUdyYXBocWxBcGlSZXNvdXJjZXMsXG4gIEFtcGxpZnlHcmFwaHFsQXBpQ2ZuUmVzb3VyY2VzLFxuICBGdW5jdGlvblNsb3RCYXNlLFxuICBNdXRhdGlvbkZ1bmN0aW9uU2xvdCxcbiAgUXVlcnlGdW5jdGlvblNsb3QsXG4gIFN1YnNjcmlwdGlvbkZ1bmN0aW9uU2xvdCxcbiAgRnVuY3Rpb25TbG90LFxuICBGdW5jdGlvblNsb3RPdmVycmlkZSxcbiAgQ29uZmxpY3RSZXNvbHV0aW9uLFxuICBDb25mbGljdERldGVjdGlvblR5cGUsXG4gIE9wdGltaXN0aWNDb25mbGljdFJlc29sdXRpb25TdHJhdGVneSxcbiAgQ3VzdG9tQ29uZmxpY3RSZXNvbHV0aW9uU3RyYXRlZ3ksXG4gIEF1dG9tZXJnZUNvbmZsaWN0UmVzb2x1dGlvblN0cmF0ZWd5LFxuICBDb25mbGljdFJlc29sdXRpb25TdHJhdGVneUJhc2UsXG4gIENvbmZsaWN0UmVzb2x1dGlvblN0cmF0ZWd5LFxuICBUcmFuc2xhdGlvbkJlaGF2aW9yLFxuICBJQW1wbGlmeUdyYXBocWxEZWZpbml0aW9uLFxuICBJQmFja2VuZE91dHB1dFN0b3JhZ2VTdHJhdGVneSxcbiAgSUJhY2tlbmRPdXRwdXRFbnRyeSxcbiAgQWRkRnVuY3Rpb25Qcm9wcyxcbiAgTW9kZWxEYXRhU291cmNlRGVmaW5pdGlvbixcbiAgTW9kZWxEYXRhU291cmNlRGVmaW5pdGlvblN0cmF0ZWd5LFxuICBEZWZhdWx0RHluYW1vRGJNb2RlbERhdGFTb3VyY2VEZWZpbml0aW9uU3RyYXRlZ3ksXG4gIEFtcGxpZnlEeW5hbW9EYk1vZGVsRGF0YVNvdXJjZURlZmluaXRpb25TdHJhdGVneSxcbiAgTW9kZWxEYXRhU291cmNlRGVmaW5pdGlvbkRiVHlwZSxcbn0gZnJvbSAnLi90eXBlcyc7XG5leHBvcnQgeyBBbXBsaWZ5R3JhcGhxbEFwaSB9IGZyb20gJy4vYW1wbGlmeS1ncmFwaHFsLWFwaSc7XG5leHBvcnQgeyBBbXBsaWZ5R3JhcGhxbERlZmluaXRpb24gfSBmcm9tICcuL2FtcGxpZnktZ3JhcGhxbC1kZWZpbml0aW9uJztcbmV4cG9ydCB7XG4gIEFtcGxpZnlEeW5hbW9EYlRhYmxlV3JhcHBlcixcbiAgVGltZVRvTGl2ZVNwZWNpZmljYXRpb24sXG4gIFByb3Zpc2lvbmVkVGhyb3VnaHB1dCxcbiAgU1NFU3BlY2lmaWNhdGlvbixcbiAgU1NFVHlwZSxcbiAgU3RyZWFtU3BlY2lmaWNhdGlvbixcbn0gZnJvbSAnLi9hbXBsaWZ5LWR5bmFtb2RiLXRhYmxlLXdyYXBwZXInO1xuIl19
|
@@ -2,6 +2,7 @@
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.convertAuthorizationModesToTransformerAuthConfig = exports.getAdditionalAuthenticationTypes = void 0;
|
4
4
|
const lodash_1 = require("lodash");
|
5
|
+
const aws_iam_1 = require("aws-cdk-lib/aws-iam");
|
5
6
|
/**
|
6
7
|
* Converts a single auth mode config into the amplify-internal representation.
|
7
8
|
* @param authMode the auth mode to convert into the Appsync CDK representation.
|
@@ -41,6 +42,7 @@ const convertAuthModeToAuthProvider = (authMode) => {
|
|
41
42
|
return {
|
42
43
|
authenticationType,
|
43
44
|
lambdaAuthorizerConfig: {
|
45
|
+
lambdaArn: authMode.function.functionArn,
|
44
46
|
lambdaFunction: authMode.function.functionName,
|
45
47
|
ttlSeconds: authMode.ttl.toSeconds(),
|
46
48
|
},
|
@@ -71,6 +73,11 @@ const convertAuthConfigToAppSyncAuth = (authModes) => {
|
|
71
73
|
if (authProviders.length > 1 && !authModes.defaultAuthorizationMode) {
|
72
74
|
throw new Error('A defaultAuthorizationMode is required if multiple authorization modes are configured.');
|
73
75
|
}
|
76
|
+
// Enable appsync to invoke a provided lambda authorizer function
|
77
|
+
authModes.lambdaConfig?.function.addPermission('appsync-auth-invoke', {
|
78
|
+
principal: new aws_iam_1.ServicePrincipal('appsync.amazonaws.com'),
|
79
|
+
action: 'lambda:InvokeFunction',
|
80
|
+
});
|
74
81
|
// In the case of a single mode, defaultAuthorizationMode is not required, just use the provided value.
|
75
82
|
if (authProviders.length === 1) {
|
76
83
|
return {
|
@@ -106,13 +113,24 @@ const convertAuthorizationModesToTransformerAuthConfig = (authModes) => ({
|
|
106
113
|
authSynthParameters: getSynthParameters(authModes),
|
107
114
|
});
|
108
115
|
exports.convertAuthorizationModesToTransformerAuthConfig = convertAuthorizationModesToTransformerAuthConfig;
|
116
|
+
/**
|
117
|
+
* Merge iamConfig allowListedRoles with deprecated adminRoles property, converting to strings.
|
118
|
+
* @param authModes the auth modes provided to the construct.
|
119
|
+
* @returns the list of admin roles as strings to pass into the transformer
|
120
|
+
*/
|
121
|
+
const getAllowListedRoles = (authModes) => [...(authModes?.iamConfig?.allowListedRoles ?? []), ...(authModes.adminRoles ?? [])].map((roleOrRoleName) => {
|
122
|
+
if (typeof roleOrRoleName === 'string' || roleOrRoleName instanceof String) {
|
123
|
+
return roleOrRoleName;
|
124
|
+
}
|
125
|
+
return roleOrRoleName.roleName;
|
126
|
+
});
|
109
127
|
/**
|
110
128
|
* Transform the authorization config into the transformer synth parameters pertaining to auth.
|
111
129
|
* @param authModes the auth modes provided to the construct.
|
112
130
|
* @returns a record of params to be consumed by the transformer.
|
113
131
|
*/
|
114
132
|
const getSynthParameters = (authModes) => ({
|
115
|
-
adminRoles: authModes
|
133
|
+
adminRoles: getAllowListedRoles(authModes),
|
116
134
|
identityPoolId: authModes.iamConfig?.identityPoolId,
|
117
135
|
...(authModes.userPoolConfig ? { userPoolId: authModes.userPoolConfig.userPool.userPoolId } : {}),
|
118
136
|
...(authModes?.iamConfig
|
@@ -122,4 +140,4 @@ const getSynthParameters = (authModes) => ({
|
|
122
140
|
}
|
123
141
|
: {}),
|
124
142
|
});
|
125
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aG9yaXphdGlvbi1tb2Rlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbnRlcm5hbC9hdXRob3JpemF0aW9uLW1vZGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLG1DQUFpQztBQWlCakM7OztHQUdHO0FBQ0gsTUFBTSw2QkFBNkIsR0FBRyxDQUFDLFFBQWlDLEVBQWlDLEVBQUU7SUFDekcsTUFBTSxrQkFBa0IsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDO0lBQ3pDLFFBQVEsUUFBUSxDQUFDLElBQUksRUFBRTtRQUNyQixLQUFLLFNBQVM7WUFDWixPQUFPO2dCQUNMLGtCQUFrQjtnQkFDbEIsWUFBWSxFQUFFO29CQUNaLFdBQVcsRUFBRSxRQUFRLENBQUMsV0FBVztvQkFDakMsb0JBQW9CLEVBQUUsUUFBUSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUU7aUJBQ2hEO2FBQ0YsQ0FBQztRQUNKLEtBQUssU0FBUztZQUNaLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxDQUFDO1FBQ2hDLEtBQUssMkJBQTJCO1lBQzlCLE9BQU87Z0JBQ0wsa0JBQWtCO2dCQUNsQixjQUFjLEVBQUU7b0JBQ2QsVUFBVSxFQUFFLFFBQVEsQ0FBQyxRQUFRLENBQUMsVUFBVTtpQkFDekM7YUFDRixDQUFDO1FBQ0osS0FBSyxnQkFBZ0I7WUFDbkIsT0FBTztnQkFDTCxrQkFBa0I7Z0JBQ2xCLG1CQUFtQixFQUFFO29CQUNuQixJQUFJLEVBQUUsUUFBUSxDQUFDLGdCQUFnQjtvQkFDL0IsU0FBUyxFQUFFLFFBQVEsQ0FBQyxhQUFhO29CQUNqQyxRQUFRLEVBQUUsUUFBUSxDQUFDLFFBQVE7b0JBQzNCLE1BQU0sRUFBRSxRQUFRLENBQUMsb0JBQW9CLENBQUMsU0FBUyxFQUFFO29CQUNqRCxPQUFPLEVBQUUsUUFBUSxDQUFDLG1CQUFtQixDQUFDLFNBQVMsRUFBRTtpQkFDbEQ7YUFDRixDQUFDO1FBQ0osS0FBSyxZQUFZO1lBQ2YsT0FB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QUFFLEVBQUUsQ0FDM0YsZ0NBQWdDLENBQUMsa0JBQWtCLENBQ3REO1NBQ0EsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ2YsQ0FBQyxDQUFDO0FBWFcsUUFBQSxnQ0FBZ0Msb0NBVzNDO0FBRUY7Ozs7R0FJRztBQUNJLE1BQU0sZ0RBQWdELEdBQUcsQ0FBQyxTQUE2QixFQUFjLEVBQUUsQ0FBQyxDQUFDO0lBQzlHLFVBQVUsRUFBRSw4QkFBOEIsQ0FBQyxTQUFTLENBQUM7SUFDckQsbUJBQW1CLEVBQUUsa0JBQWtCLENBQUMsU0FBUyxDQUFDO0NBQ25ELENBQUMsQ0FBQztBQUhVLFFBQUEsZ0RBQWdELG9EQUcxRDtBQUVIOzs7O0dBSUc7QUFDSCxNQUFNLGtCQUFrQixHQUFHLENBQUMsU0FBNkIsRUFBdUIsRUFBRSxDQUFDLENBQUM7SUFDbEYsVUFBVSxFQUFFLFNBQVMsQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRTtJQUNwRSxjQUFjLEVBQUUsU0FBUyxDQUFDLFNBQVMsRUFBRSxjQUFjO0lBQ25ELEdBQUcsQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxFQUFFLFVBQVUsRUFBRSxTQUFTLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ2pHLEdBQUcsQ0FBQyxTQUFTLEVBQUUsU0FBUztRQUN0QixDQUFDLENBQUM7WUFDRSx5QkFBeUIsRUFBRSxTQUFTLENBQUMsU0FBUyxDQUFDLHFCQUFxQixDQUFDLFFBQVE7WUFDN0UsMkJBQTJCLEVBQUUsU0FBUyxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRO1NBQ2xGO1FBQ0gsQ0FBQyxDQUFDLEVBQUUsQ0FBQztDQUNSLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFwcFN5bmNBdXRoQ29uZmlndXJhdGlvbiwgQXBwU3luY0F1dGhDb25maWd1cmF0aW9uRW50cnksIFN5bnRoUGFyYW1ldGVycyB9IGZyb20gJ0Bhd3MtYW1wbGlmeS9ncmFwaHFsLXRyYW5zZm9ybWVyLWludGVyZmFjZXMnO1xuaW1wb3J0IHsgQ2ZuR3JhcGhRTEFwaSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1hcHBzeW5jJztcbmltcG9ydCB7IGlzQXJyYXkgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHtcbiAgQXV0aG9yaXphdGlvbk1vZGVzLFxuICBBcGlLZXlBdXRob3JpemF0aW9uQ29uZmlnLFxuICBJQU1BdXRob3JpemF0aW9uQ29uZmlnLFxuICBMYW1iZGFBdXRob3JpemF0aW9uQ29uZmlnLFxuICBPSURDQXV0aG9yaXphdGlvbkNvbmZpZyxcbiAgVXNlclBvb2xBdXRob3JpemF0aW9uQ29uZmlnLFxufSBmcm9tICcuLi90eXBlcyc7XG5cbnR5cGUgQXV0aG9yaXphdGlvbkNvbmZpZ01vZGUgPVxuICB8IChJQU1BdXRob3JpemF0aW9uQ29uZmlnICYgeyB0eXBlOiAnQVdTX0lBTScgfSlcbiAgfCAoVXNlclBvb2xBdXRob3JpemF0aW9uQ29uZmlnICYgeyB0eXBlOiAnQU1BWk9OX0NPR05JVE9fVVNFUl9QT09MUycgfSlcbiAgfCAoT0lEQ0F1dGhvcml6YXRpb25Db25maWcgJiB7IHR5cGU6ICdPUEVOSURfQ09OTkVDVCcgfSlcbiAgfCAoQXBpS2V5QXV0aG9yaXphdGlvbkNvbmZpZyAmIHsgdHlwZTogJ0FQSV9LRVknIH0pXG4gIHwgKExhbWJkYUF1dGhvcml6YXRpb25Db25maWcgJiB7IHR5cGU6ICdBV1NfTEFNQkRBJyB9KTtcblxuLyoqXG4gKiBDb252ZXJ0cyBhIHNpbmdsZSBhdXRoIG1vZGUgY29uZmlnIGludG8gdGhlIGFtcGxpZnktaW50ZXJuYWwgcmVwcmVzZW50YXRpb24uXG4gKiBAcGFyYW0gYXV0aE1vZGUgdGhlIGF1dGggbW9kZSB0byBjb252ZXJ0IGludG8gdGhlIEFwcHN5bmMgQ0RLIHJlcHJlc2VudGF0aW9uLlxuICovXG5jb25zdCBjb252ZXJ0QXV0aE1vZGVUb0F1dGhQcm92aWRlciA9IChhdXRoTW9kZTogQXV0aG9yaXphdGlvbkNvbmZpZ01vZGUpOiBBcHBTeW5jQXV0aENvbmZpZ3VyYXRpb25FbnRyeSA9PiB7XG4gIGNvbnN0IGF1dGhlbnRpY2F0aW9uVHlwZSA9IGF1dGhNb2RlLnR5cGU7XG4gIHN3aXRjaCAoYXV0aE1vZGUudHlwZSkge1xuICAgIGNhc2UgJ0FQSV9LRVknOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgYXV0aGVudGljYXRpb25UeXBlLFxuICAgICAgICBhcGlLZXlDb25maWc6IHtcbiAgICAgICAgICBkZXNjcmlwdGlvbjogYXV0aE1vZGUuZGVzY3JpcHRpb24sXG4gICAgICAgICAgYXBpS2V5RXhwaXJhdGlvbkRheXM6IGF1dGhNb2RlLmV4cGlyZXMudG9EYXlzKCksXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgIGNhc2UgJ0FXU19JQU0nOlxuICAgICAgcmV0dXJuIHsgYXV0aGVudGljYXRpb25UeXBlIH07XG4gICAgY2FzZSAnQU1BWk9OX0NPR05JVE9fVVNFUl9QT09MUyc6XG4gICAgICByZXR1cm4ge1xuICAgICAgICBhdXRoZW50aWNhdGlvblR5cGUsXG4gICAgICAgIHVzZXJQb29sQ29uZmlnOiB7XG4gICAgICAgICAgdXNlclBvb2xJZDogYXV0aE1vZGUudXNlclBvb2wudXNlclBvb2xJZCxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgY2FzZSAnT1BFTklEX0NPTk5FQ1QnOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgYXV0aGVudGljYXRpb25UeXBlLFxuICAgICAgICBvcGVuSURDb25uZWN0Q29uZmlnOiB7XG4gICAgICAgICAgbmFtZTogYXV0aE1vZGUub2lkY1Byb3ZpZGVyTmFtZSxcbiAgICAgICAgICBpc3N1ZXJVcmw6IGF1dGhNb2RlLm9pZGNJc3N1ZXJVcmwsXG4gICAgICAgICAgY2xpZW50SWQ6IGF1dGhNb2RlLmNsaWVudElkLFxuICAgICAgICAgIGlhdFRUTDogYXV0aE1vZGUudG9rZW5FeHBpcnlGcm9tSXNzdWUudG9TZWNvbmRzKCksXG4gICAgICAgICAgYXV0aFRUTDogYXV0aE1vZGUudG9rZW5FeHBpcnlGcm9tQXV0aC50b1NlY29uZHMoKSxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgY2FzZSAnQVdTX0xBTUJEQSc6XG4gICAgICByZXR1cm4ge1xuICAgICAgICBhdXRoZW50aWNhdGlvblR5cGUsXG4gICAgICAgIGxhbWJkYUF1dGhvcml6ZXJDb25maWc6IHtcbiAgICAgICAgICBsYW1iZGFGdW5jdGlvbjogYXV0aE1vZGUuZnVuY3Rpb24uZnVuY3Rpb25OYW1lLFxuICAgICAgICAgIHR0bFNlY29uZHM6IGF1dGhNb2RlLnR0bC50b1NlY29uZHMoKSxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgZGVmYXVsdDpcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVW5leHBlY3RlZCBBdXRoTW9kZSB0eXBlICR7YXV0aGVudGljYXRpb25UeXBlfSBlbmNvdW50ZXJlZC5gKTtcbiAgfVxufTtcblxuLyoqXG4gKiBHaXZlbiBhbiBhcHBzeW5jIGF1dGggY29uZmlndXJhdGlvbiwgY29udmVydCBpbnRvIGFwcHN5bmMgYXV0aCBwcm92aWRlciBzZXR1cC5cbiAqIEBwYXJhbSBhdXRoTW9kZXMgdGhlIGNvbmZpZyB0byB0cmFuc2Zvcm1cbiAqIEByZXR1cm5zIHRoZSBhcHBzeW5jIGNvbmZpZyBvYmplY3QuXG4gKi9cbmNvbnN0IGNvbnZlcnRBdXRoQ29uZmlnVG9BcHBTeW5jQXV0aCA9IChhdXRoTW9kZXM6IEF1dGhvcml6YXRpb25Nb2Rlcyk6IEFwcFN5bmNBdXRoQ29uZmlndXJhdGlvbiA9PiB7XG4gIC8vIENvbnZlcnQgYXV0aCBtb2RlcyBpbnRvIGFuIGFycmF5IG9mIGFwcHN5bmMgY29uZmlncywgYW5kIGluY2x1ZGUgdGhlIHR5cGUgc28gd2UgY2FuIHVzZSB0aGF0IGZvciBzd2l0Y2hpbmcgYW5kIHBhcnRpdGlvbmluZyBsYXRlci5cbiAgY29uc3QgYXV0aENvbmZpZyA9IFtcbiAgICBhdXRoTW9kZXMuYXBpS2V5Q29uZmlnID8geyB0eXBlOiAnQVBJX0tFWScsIC4uLmF1dGhNb2Rlcy5hcGlLZXlDb25maWcgfSA6IG51bGwsXG4gICAgYXV0aE1vZGVzLmxhbWJkYUNvbmZpZyA/IHsgdHlwZTogJ0FXU19MQU1CREEnLCAuLi5hdXRoTW9kZXMubGFtYmRhQ29uZmlnIH0gOiBudWxsLFxuICAgIGF1dGhNb2Rlcy5vaWRjQ29uZmlnID8geyB0eXBlOiAnT1BFTklEX0NPTk5FQ1QnLCAuLi5hdXRoTW9kZXMub2lkY0NvbmZpZyB9IDogbnVsbCxcbiAgICBhdXRoTW9kZXMudXNlclBvb2xDb25maWcgPyB7IHR5cGU6ICdBTUFaT05fQ09HTklUT19VU0VSX1BPT0xTJywgLi4uYXV0aE1vZGVzLnVzZXJQb29sQ29uZmlnIH0gOiBudWxsLFxuICAgIGF1dGhNb2Rlcy5pYW1Db25maWcgPyB7IHR5cGU6ICdBV1NfSUFNJywgLi4uYXV0aE1vZGVzLmlhbUNvbmZpZyB9IDogbnVsbCxcbiAgXS5maWx0ZXIoKG1vZGUpID0+IG1vZGUpIGFzIEF1dGhvcml6YXRpb25Db25maWdNb2RlW107XG4gIGNvbnN0IGF1dGhQcm92aWRlcnMgPSBhdXRoQ29uZmlnLm1hcChjb252ZXJ0QXV0aE1vZGVUb0F1dGhQcm92aWRlcik7XG5cbiAgLy8gVmFsaWRhdGUgaW5wdXRzIG1ha2Ugc2Vuc2UsIG5lZWRzIGF0IGxlYXN0IG9uZSBtb2RlLCBhbmQgYSBkZWZhdWx0IG1vZGUgaXMgcmVxdWlyZWQgaWYgdGhlcmUgYXJlIG11bHRpcGxlIG1vZGVzLlxuICBpZiAoYXV0aFByb3ZpZGVycy5sZW5ndGggPT09IDApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0F0IGxlYXN0IG9uZSBhdXRoIGNvbmZpZyBpcyByZXF1aXJlZCwgYnV0IG5vbmUgd2VyZSBmb3VuZC4nKTtcbiAgfVxuICBpZiAoYXV0aFByb3ZpZGVycy5sZW5ndGggPiAxICYmICFhdXRoTW9kZXMuZGVmYXVsdEF1dGhvcml6YXRpb25Nb2RlKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdBIGRlZmF1bHRBdXRob3JpemF0aW9uTW9kZSBpcyByZXF1aXJlZCBpZiBtdWx0aXBsZSBhdXRob3JpemF0aW9uIG1vZGVzIGFyZSBjb25maWd1cmVkLicpO1xuICB9XG5cbiAgLy8gSW4gdGhlIGNhc2Ugb2YgYSBzaW5nbGUgbW9kZSwgZGVmYXVsdEF1dGhvcml6YXRpb25Nb2RlIGlzIG5vdCByZXF1aXJlZCwganVzdCB1c2UgdGhlIHByb3ZpZGVkIHZhbHVlLlxuICBpZiAoYXV0aFByb3ZpZGVycy5sZW5ndGggPT09IDEpIHtcbiAgICByZXR1cm4ge1xuICAgICAgZGVmYXVsdEF1dGhlbnRpY2F0aW9uOiBhdXRoUHJvdmlkZXJzWzBdLFxuICAgICAgYWRkaXRpb25hbEF1dGhlbnRpY2F0aW9uUHJvdmlkZXJzOiBbXSxcbiAgICB9O1xuICB9XG5cbiAgLy8gRm9yIG11bHRpLWF1dGgsIHBhcnRpdGlvbiBpbnRvIHRoZSBkZWZhdWx0TW9kZSBhbmQgbm9uLWRlZmF1bHQgbW9kZXMuXG4gIHJldHVybiB7XG4gICAgZGVmYXVsdEF1dGhlbnRpY2F0aW9uOiBhdXRoUHJvdmlkZXJzLmZpbHRlcigocHJvdmlkZXIpID0+IHByb3ZpZGVyLmF1dGhlbnRpY2F0aW9uVHlwZSA9PT0gYXV0aE1vZGVzLmRlZmF1bHRBdXRob3JpemF0aW9uTW9kZSlbMF0sXG4gICAgYWRkaXRpb25hbEF1dGhlbnRpY2F0aW9uUHJvdmlkZXJzOiBhdXRoUHJvdmlkZXJzLmZpbHRlcihcbiAgICAgIChwcm92aWRlcikgPT4gcHJvdmlkZXIuYXV0aGVudGljYXRpb25UeXBlICE9PSBhdXRoTW9kZXMuZGVmYXVsdEF1dGhvcml6YXRpb25Nb2RlLFxuICAgICksXG4gIH07XG59O1xuXG50eXBlIEF1dGhTeW50aFBhcmFtZXRlcnMgPSBQaWNrPFxuICBTeW50aFBhcmFtZXRlcnMsXG4gICd1c2VyUG9vbElkJyB8ICdhdXRoZW50aWNhdGVkVXNlclJvbGVOYW1lJyB8ICd1bmF1dGhlbnRpY2F0ZWRVc2VyUm9sZU5hbWUnIHwgJ2lkZW50aXR5UG9vbElkJyB8ICdhZG1pblJvbGVzJ1xuPjtcblxuaW50ZXJmYWNlIEF1dGhDb25maWcge1xuICAvKipcbiAgICogdXNlZCBtYWlubHkgaW4gdGhlIGJlZm9yZSBzdGVwIHRvIHBhc3MgdGhlIGF1dGhDb25maWcgZnJvbSB0aGUgdHJhbnNmb3JtZXIgY29yZSBkb3duIHRvIHRoZSBkaXJlY3RpdmVcbiAgICovXG4gIGF1dGhDb25maWc/OiBBcHBTeW5jQXV0aENvbmZpZ3VyYXRpb247XG5cbiAgLyoqXG4gICAqIFBhcmFtcyB0byBpbmNsdWRlIHRoZSB0cmFuc2Zvcm1lci5cbiAgICovXG4gIGF1dGhTeW50aFBhcmFtZXRlcnM6IEF1dGhTeW50aFBhcmFtZXRlcnM7XG59XG5cbi8qKlxuICogVHJhbnNmb3JtcyBhZGRpdGlvbmFsQXV0aGVudGljYXRpb25UeXBlcyBmb3Igc3RvcmFnZSBpbiBDRk4gb3V0cHV0XG4gKi9cbmV4cG9ydCBjb25zdCBnZXRBZGRpdGlvbmFsQXV0aGVudGljYXRpb25UeXBlcyA9IChjZm5HcmFwaHFsQXBpOiBDZm5HcmFwaFFMQXBpKTogc3RyaW5nIHwgdW5kZWZpbmVkID0+IHtcbiAgaWYgKCFpc0FycmF5KGNmbkdyYXBocWxBcGkuYWRkaXRpb25hbEF1dGhlbnRpY2F0aW9uUHJvdmlkZXJzKSkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICByZXR1cm4gKGNmbkdyYXBocWxBcGkuYWRkaXRpb25hbEF1dGhlbnRpY2F0aW9uUHJvdmlkZXJzIGFzIENmbkdyYXBoUUxBcGkuQWRkaXRpb25hbEF1dGhlbnRpY2F0aW9uUHJvdmlkZXJQcm9wZXJ0eVtdKVxuICAgIC5tYXAoXG4gICAgICAoYWRkaXRpb25hbEF1dGhlbnRpY2F0aW9uUHJvdmlkZXI6IENmbkdyYXBoUUxBcGkuQWRkaXRpb25hbEF1dGhlbnRpY2F0aW9uUHJvdmlkZXJQcm9wZXJ0eSkgPT5cbiAgICAgICAgYWRkaXRpb25hbEF1dGhlbnRpY2F0aW9uUHJvdmlkZXIuYXV0aGVudGljYXRpb25UeXBlLFxuICAgIClcbiAgICAuam9pbignLCcpO1xufTtcblxuLyoqXG4gKiBDb252ZXJ0IHRoZSBsaXN0IG9mIGF1dGggbW9kZXMgaW50byB0aGUgbmVjZXNzYXJ5IGZsYWdzIGFuZCBwYXJhbXMgKGVmZmVjdGl2ZWx5IGEgcmVkdWNlciBvbiB0aGUgcnVsZSBsaXN0KVxuICogQHBhcmFtIGF1dGhNb2RlcyB0aGUgbGlzdCBvZiBhdXRoIG1vZGVzIGNvbmZpZ3VyZWQgb24gdGhlIEFQSS5cbiAqIEByZXR1cm5zIHRoZSBBdXRoQ29uZmlnIHdoaWNoIHRoZSBBdXRoVHJhbnNmb3JtZXIgbmVlZHMgYXMgaW5wdXQuXG4gKi9cbmV4cG9ydCBjb25zdCBjb252ZXJ0QXV0aG9yaXphdGlvbk1vZGVzVG9UcmFuc2Zvcm1lckF1dGhDb25maWcgPSAoYXV0aE1vZGVzOiBBdXRob3JpemF0aW9uTW9kZXMpOiBBdXRoQ29uZmlnID0+ICh7XG4gIGF1dGhDb25maWc6IGNvbnZlcnRBdXRoQ29uZmlnVG9BcHBTeW5jQXV0aChhdXRoTW9kZXMpLFxuICBhdXRoU3ludGhQYXJhbWV0ZXJzOiBnZXRTeW50aFBhcmFtZXRlcnMoYXV0aE1vZGVzKSxcbn0pO1xuXG4vKipcbiAqIFRyYW5zZm9ybSB0aGUgYXV0aG9yaXphdGlvbiBjb25maWcgaW50byB0aGUgdHJhbnNmb3JtZXIgc3ludGggcGFyYW1ldGVycyBwZXJ0YWluaW5nIHRvIGF1dGguXG4gKiBAcGFyYW0gYXV0aE1vZGVzIHRoZSBhdXRoIG1vZGVzIHByb3ZpZGVkIHRvIHRoZSBjb25zdHJ1Y3QuXG4gKiBAcmV0dXJucyBhIHJlY29yZCBvZiBwYXJhbXMgdG8gYmUgY29uc3VtZWQgYnkgdGhlIHRyYW5zZm9ybWVyLlxuICovXG5jb25zdCBnZXRTeW50aFBhcmFtZXRlcnMgPSAoYXV0aE1vZGVzOiBBdXRob3JpemF0aW9uTW9kZXMpOiBBdXRoU3ludGhQYXJhbWV0ZXJzID0+ICh7XG4gIGFkbWluUm9sZXM6IGF1dGhNb2Rlcy5hZG1pblJvbGVzPy5tYXAoKHJvbGUpID0+IHJvbGUucm9sZU5hbWUpID8/IFtdLFxuICBpZGVudGl0eVBvb2xJZDogYXV0aE1vZGVzLmlhbUNvbmZpZz8uaWRlbnRpdHlQb29sSWQsXG4gIC4uLihhdXRoTW9kZXMudXNlclBvb2xDb25maWcgPyB7IHVzZXJQb29sSWQ6IGF1dGhNb2Rlcy51c2VyUG9vbENvbmZpZy51c2VyUG9vbC51c2VyUG9vbElkIH0gOiB7fSksXG4gIC4uLihhdXRoTW9kZXM/LmlhbUNvbmZpZ1xuICAgID8ge1xuICAgICAgICBhdXRoZW50aWNhdGVkVXNlclJvbGVOYW1lOiBhdXRoTW9kZXMuaWFtQ29uZmlnLmF1dGhlbnRpY2F0ZWRVc2VyUm9sZS5yb2xlTmFtZSxcbiAgICAgICAgdW5hdXRoZW50aWNhdGVkVXNlclJvbGVOYW1lOiBhdXRoTW9kZXMuaWFtQ29uZmlnLnVuYXV0aGVudGljYXRlZFVzZXJSb2xlLnJvbGVOYW1lLFxuICAgICAgfVxuICAgIDoge30pLFxufSk7XG4iXX0=
|
143
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aG9yaXphdGlvbi1tb2Rlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbnRlcm5hbC9hdXRob3JpemF0aW9uLW1vZGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLG1DQUFpQztBQUNqQyxpREFBOEQ7QUFpQjlEOzs7R0FHRztBQUNILE1BQU0sNkJBQTZCLEdBQUcsQ0FBQyxRQUFpQyxFQUFpQyxFQUFFO0lBQ3pHLE1BQU0sa0JBQWtCLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQztJQUN6QyxRQUFRLFFBQVEsQ0FBQyxJQUFJLEVBQUU7UUFDckIsS0FBSyxTQUFTO1lBQ1osT0FBTztnQkFDTCxrQkFBa0I7Z0JBQ2xCLFlBQVksRUFBRTtvQkFDWixXQUFXLEVBQUUsUUFBUSxDQUFDLFdBQVc7b0JBQ2pDLG9CQUFvQixFQUFFLFFBQVEsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFO2lCQUNoRDthQUNGLENBQUM7UUFDSixLQUFLLFNBQVM7WUFDWixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQztRQUNoQyxLQUFLLDJCQUEyQjtZQUM5QixPQUFPO2dCQUNMLGtCQUFrQjtnQkFDbEIsY0FBYyxFQUFFO29CQUNkLFVBQVUsRUFBRSxRQUFRLENBQUMsUUFBUSxDQUFDLFVBQVU7aUJBQ3pDO2FBQ0YsQ0FBQztRQUNKLEtBQUssZ0JBQWdCO1lBQ25CLE9BQU87Z0JBQ0wsa0JBQWtCO2dCQUNsQixtQkFBbUIsRUFBRTtvQkFDbkIsSUFBSSxFQUFFLFFBQVEsQ0FBQyxnQkFBZ0I7b0JBQy9CLFNBQVMsRUFBRSxRQUFRLENBQUMsYUFBYTtvQkFDakMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxRQUFRO29CQUMzQixNQUFNLEVBQUUsUUFBUSxDQUFDLG9CQUFvQixDQUFDLFNBQVMsRUFBRTtvQkFDakQsT0FBTyxFQUFFLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLEVBQUU7aUJBQ2xEO2FBQ0YsQ0FBQztRQUNKLEtBQUss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QUFDLENBQUM7SUFDbEYsVUFBVSxFQUFFLG1CQUFtQixDQUFDLFNBQVMsQ0FBQztJQUMxQyxjQUFjLEVBQUUsU0FBUyxDQUFDLFNBQVMsRUFBRSxjQUFjO0lBQ25ELEdBQUcsQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxFQUFFLFVBQVUsRUFBRSxTQUFTLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ2pHLEdBQUcsQ0FBQyxTQUFTLEVBQUUsU0FBUztRQUN0QixDQUFDLENBQUM7WUFDRSx5QkFBeUIsRUFBRSxTQUFTLENBQUMsU0FBUyxDQUFDLHFCQUFxQixDQUFDLFFBQVE7WUFDN0UsMkJBQTJCLEVBQUUsU0FBUyxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRO1NBQ2xGO1FBQ0gsQ0FBQyxDQUFDLEVBQUUsQ0FBQztDQUNSLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFwcFN5bmNBdXRoQ29uZmlndXJhdGlvbiwgQXBwU3luY0F1dGhDb25maWd1cmF0aW9uRW50cnksIFN5bnRoUGFyYW1ldGVycyB9IGZyb20gJ0Bhd3MtYW1wbGlmeS9ncmFwaHFsLXRyYW5zZm9ybWVyLWludGVyZmFjZXMnO1xuaW1wb3J0IHsgQ2ZuR3JhcGhRTEFwaSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1hcHBzeW5jJztcbmltcG9ydCB7IGlzQXJyYXkgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgSVJvbGUsIFNlcnZpY2VQcmluY2lwYWwgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCB7XG4gIEF1dGhvcml6YXRpb25Nb2RlcyxcbiAgQXBpS2V5QXV0aG9yaXphdGlvbkNvbmZpZyxcbiAgSUFNQXV0aG9yaXphdGlvbkNvbmZpZyxcbiAgTGFtYmRhQXV0aG9yaXphdGlvbkNvbmZpZyxcbiAgT0lEQ0F1dGhvcml6YXRpb25Db25maWcsXG4gIFVzZXJQb29sQXV0aG9yaXphdGlvbkNvbmZpZyxcbn0gZnJvbSAnLi4vdHlwZXMnO1xuXG50eXBlIEF1dGhvcml6YXRpb25Db25maWdNb2RlID1cbiAgfCAoSUFNQXV0aG9yaXphdGlvbkNvbmZpZyAmIHsgdHlwZTogJ0FXU19JQU0nIH0pXG4gIHwgKFVzZXJQb29sQXV0aG9yaXphdGlvbkNvbmZpZyAmIHsgdHlwZTogJ0FNQVpPTl9DT0dOSVRPX1VTRVJfUE9PTFMnIH0pXG4gIHwgKE9JRENBdXRob3JpemF0aW9uQ29uZmlnICYgeyB0eXBlOiAnT1BFTklEX0NPTk5FQ1QnIH0pXG4gIHwgKEFwaUtleUF1dGhvcml6YXRpb25Db25maWcgJiB7IHR5cGU6ICdBUElfS0VZJyB9KVxuICB8IChMYW1iZGFBdXRob3JpemF0aW9uQ29uZmlnICYgeyB0eXBlOiAnQVdTX0xBTUJEQScgfSk7XG5cbi8qKlxuICogQ29udmVydHMgYSBzaW5nbGUgYXV0aCBtb2RlIGNvbmZpZyBpbnRvIHRoZSBhbXBsaWZ5LWludGVybmFsIHJlcHJlc2VudGF0aW9uLlxuICogQHBhcmFtIGF1dGhNb2RlIHRoZSBhdXRoIG1vZGUgdG8gY29udmVydCBpbnRvIHRoZSBBcHBzeW5jIENESyByZXByZXNlbnRhdGlvbi5cbiAqL1xuY29uc3QgY29udmVydEF1dGhNb2RlVG9BdXRoUHJvdmlkZXIgPSAoYXV0aE1vZGU6IEF1dGhvcml6YXRpb25Db25maWdNb2RlKTogQXBwU3luY0F1dGhDb25maWd1cmF0aW9uRW50cnkgPT4ge1xuICBjb25zdCBhdXRoZW50aWNhdGlvblR5cGUgPSBhdXRoTW9kZS50eXBlO1xuICBzd2l0Y2ggKGF1dGhNb2RlLnR5cGUpIHtcbiAgICBjYXNlICdBUElfS0VZJzpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGF1dGhlbnRpY2F0aW9uVHlwZSxcbiAgICAgICAgYXBpS2V5Q29uZmlnOiB7XG4gICAgICAgICAgZGVzY3JpcHRpb246IGF1dGhNb2RlLmRlc2NyaXB0aW9uLFxuICAgICAgICAgIGFwaUtleUV4cGlyYXRpb25EYXlzOiBhdXRoTW9kZS5leHBpcmVzLnRvRGF5cygpLFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICBjYXNlICdBV1NfSUFNJzpcbiAgICAgIHJldHVybiB7IGF1dGhlbnRpY2F0aW9uVHlwZSB9O1xuICAgIGNhc2UgJ0FNQVpPTl9DT0dOSVRPX1VTRVJfUE9PTFMnOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgYXV0aGVudGljYXRpb25UeXBlLFxuICAgICAgICB1c2VyUG9vbENvbmZpZzoge1xuICAgICAgICAgIHVzZXJQb29sSWQ6IGF1dGhNb2RlLnVzZXJQb29sLnVzZXJQb29sSWQsXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgIGNhc2UgJ09QRU5JRF9DT05ORUNUJzpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGF1dGhlbnRpY2F0aW9uVHlwZSxcbiAgICAgICAgb3BlbklEQ29ubmVjdENvbmZpZzoge1xuICAgICAgICAgIG5hbWU6IGF1dGhNb2RlLm9pZGNQcm92aWRlck5hbWUsXG4gICAgICAgICAgaXNzdWVyVXJsOiBhdXRoTW9kZS5vaWRjSXNzdWVyVXJsLFxuICAgICAgICAgIGNsaWVudElkOiBhdXRoTW9kZS5jbGllbnRJZCxcbiAgICAgICAgICBpYXRUVEw6IGF1dGhNb2RlLnRva2VuRXhwaXJ5RnJvbUlzc3VlLnRvU2Vjb25kcygpLFxuICAgICAgICAgIGF1dGhUVEw6IGF1dGhNb2RlLnRva2VuRXhwaXJ5RnJvbUF1dGgudG9TZWNvbmRzKCksXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgIGNhc2UgJ0FXU19MQU1CREEnOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgYXV0aGVudGljYXRpb25UeXBlLFxuICAgICAgICBsYW1iZGFBdXRob3JpemVyQ29uZmlnOiB7XG4gICAgICAgICAgbGFtYmRhQXJuOiBhdXRoTW9kZS5mdW5jdGlvbi5mdW5jdGlvbkFybixcbiAgICAgICAgICBsYW1iZGFGdW5jdGlvbjogYXV0aE1vZGUuZnVuY3Rpb24uZnVuY3Rpb25OYW1lLFxuICAgICAgICAgIHR0bFNlY29uZHM6IGF1dGhNb2RlLnR0bC50b1NlY29uZHMoKSxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgZGVmYXVsdDpcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVW5leHBlY3RlZCBBdXRoTW9kZSB0eXBlICR7YXV0aGVudGljYXRpb25UeXBlfSBlbmNvdW50ZXJlZC5gKTtcbiAgfVxufTtcblxuLyoqXG4gKiBHaXZlbiBhbiBhcHBzeW5jIGF1dGggY29uZmlndXJhdGlvbiwgY29udmVydCBpbnRvIGFwcHN5bmMgYXV0aCBwcm92aWRlciBzZXR1cC5cbiAqIEBwYXJhbSBhdXRoTW9kZXMgdGhlIGNvbmZpZyB0byB0cmFuc2Zvcm1cbiAqIEByZXR1cm5zIHRoZSBhcHBzeW5jIGNvbmZpZyBvYmplY3QuXG4gKi9cbmNvbnN0IGNvbnZlcnRBdXRoQ29uZmlnVG9BcHBTeW5jQXV0aCA9IChhdXRoTW9kZXM6IEF1dGhvcml6YXRpb25Nb2Rlcyk6IEFwcFN5bmNBdXRoQ29uZmlndXJhdGlvbiA9PiB7XG4gIC8vIENvbnZlcnQgYXV0aCBtb2RlcyBpbnRvIGFuIGFycmF5IG9mIGFwcHN5bmMgY29uZmlncywgYW5kIGluY2x1ZGUgdGhlIHR5cGUgc28gd2UgY2FuIHVzZSB0aGF0IGZvciBzd2l0Y2hpbmcgYW5kIHBhcnRpdGlvbmluZyBsYXRlci5cbiAgY29uc3QgYXV0aENvbmZpZyA9IFtcbiAgICBhdXRoTW9kZXMuYXBpS2V5Q29uZmlnID8geyB0eXBlOiAnQVBJX0tFWScsIC4uLmF1dGhNb2Rlcy5hcGlLZXlDb25maWcgfSA6IG51bGwsXG4gICAgYXV0aE1vZGVzLmxhbWJkYUNvbmZpZyA/IHsgdHlwZTogJ0FXU19MQU1CREEnLCAuLi5hdXRoTW9kZXMubGFtYmRhQ29uZmlnIH0gOiBudWxsLFxuICAgIGF1dGhNb2Rlcy5vaWRjQ29uZmlnID8geyB0eXBlOiAnT1BFTklEX0NPTk5FQ1QnLCAuLi5hdXRoTW9kZXMub2lkY0NvbmZpZyB9IDogbnVsbCxcbiAgICBhdXRoTW9kZXMudXNlclBvb2xDb25maWcgPyB7IHR5cGU6ICdBTUFaT05fQ09HTklUT19VU0VSX1BPT0xTJywgLi4uYXV0aE1vZGVzLnVzZXJQb29sQ29uZmlnIH0gOiBudWxsLFxuICAgIGF1dGhNb2Rlcy5pYW1Db25maWcgPyB7IHR5cGU6ICdBV1NfSUFNJywgLi4uYXV0aE1vZGVzLmlhbUNvbmZpZyB9IDogbnVsbCxcbiAgXS5maWx0ZXIoKG1vZGUpID0+IG1vZGUpIGFzIEF1dGhvcml6YXRpb25Db25maWdNb2RlW107XG4gIGNvbnN0IGF1dGhQcm92aWRlcnMgPSBhdXRoQ29uZmlnLm1hcChjb252ZXJ0QXV0aE1vZGVUb0F1dGhQcm92aWRlcik7XG5cbiAgLy8gVmFsaWRhdGUgaW5wdXRzIG1ha2Ugc2Vuc2UsIG5lZWRzIGF0IGxlYXN0IG9uZSBtb2RlLCBhbmQgYSBkZWZhdWx0IG1vZGUgaXMgcmVxdWlyZWQgaWYgdGhlcmUgYXJlIG11bHRpcGxlIG1vZGVzLlxuICBpZiAoYXV0aFByb3ZpZGVycy5sZW5ndGggPT09IDApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0F0IGxlYXN0IG9uZSBhdXRoIGNvbmZpZyBpcyByZXF1aXJlZCwgYnV0IG5vbmUgd2VyZSBmb3VuZC4nKTtcbiAgfVxuICBpZiAoYXV0aFByb3ZpZGVycy5sZW5ndGggPiAxICYmICFhdXRoTW9kZXMuZGVmYXVsdEF1dGhvcml6YXRpb25Nb2RlKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdBIGRlZmF1bHRBdXRob3JpemF0aW9uTW9kZSBpcyByZXF1aXJlZCBpZiBtdWx0aXBsZSBhdXRob3JpemF0aW9uIG1vZGVzIGFyZSBjb25maWd1cmVkLicpO1xuICB9XG5cbiAgLy8gRW5hYmxlIGFwcHN5bmMgdG8gaW52b2tlIGEgcHJvdmlkZWQgbGFtYmRhIGF1dGhvcml6ZXIgZnVuY3Rpb25cbiAgYXV0aE1vZGVzLmxhbWJkYUNvbmZpZz8uZnVuY3Rpb24uYWRkUGVybWlzc2lvbignYXBwc3luYy1hdXRoLWludm9rZScsIHtcbiAgICBwcmluY2lwYWw6IG5ldyBTZXJ2aWNlUHJpbmNpcGFsKCdhcHBzeW5jLmFtYXpvbmF3cy5jb20nKSxcbiAgICBhY3Rpb246ICdsYW1iZGE6SW52b2tlRnVuY3Rpb24nLFxuICB9KTtcblxuICAvLyBJbiB0aGUgY2FzZSBvZiBhIHNpbmdsZSBtb2RlLCBkZWZhdWx0QXV0aG9yaXphdGlvbk1vZGUgaXMgbm90IHJlcXVpcmVkLCBqdXN0IHVzZSB0aGUgcHJvdmlkZWQgdmFsdWUuXG4gIGlmIChhdXRoUHJvdmlkZXJzLmxlbmd0aCA9PT0gMSkge1xuICAgIHJldHVybiB7XG4gICAgICBkZWZhdWx0QXV0aGVudGljYXRpb246IGF1dGhQcm92aWRlcnNbMF0sXG4gICAgICBhZGRpdGlvbmFsQXV0aGVudGljYXRpb25Qcm92aWRlcnM6IFtdLFxuICAgIH07XG4gIH1cblxuICAvLyBGb3IgbXVsdGktYXV0aCwgcGFydGl0aW9uIGludG8gdGhlIGRlZmF1bHRNb2RlIGFuZCBub24tZGVmYXVsdCBtb2Rlcy5cbiAgcmV0dXJuIHtcbiAgICBkZWZhdWx0QXV0aGVudGljYXRpb246IGF1dGhQcm92aWRlcnMuZmlsdGVyKChwcm92aWRlcikgPT4gcHJvdmlkZXIuYXV0aGVudGljYXRpb25UeXBlID09PSBhdXRoTW9kZXMuZGVmYXVsdEF1dGhvcml6YXRpb25Nb2RlKVswXSxcbiAgICBhZGRpdGlvbmFsQXV0aGVudGljYXRpb25Qcm92aWRlcnM6IGF1dGhQcm92aWRlcnMuZmlsdGVyKFxuICAgICAgKHByb3ZpZGVyKSA9PiBwcm92aWRlci5hdXRoZW50aWNhdGlvblR5cGUgIT09IGF1dGhNb2Rlcy5kZWZhdWx0QXV0aG9yaXphdGlvbk1vZGUsXG4gICAgKSxcbiAgfTtcbn07XG5cbnR5cGUgQXV0aFN5bnRoUGFyYW1ldGVycyA9IFBpY2s8XG4gIFN5bnRoUGFyYW1ldGVycyxcbiAgJ3VzZXJQb29sSWQnIHwgJ2F1dGhlbnRpY2F0ZWRVc2VyUm9sZU5hbWUnIHwgJ3VuYXV0aGVudGljYXRlZFVzZXJSb2xlTmFtZScgfCAnaWRlbnRpdHlQb29sSWQnIHwgJ2FkbWluUm9sZXMnXG4+O1xuXG5pbnRlcmZhY2UgQXV0aENvbmZpZyB7XG4gIC8qKlxuICAgKiB1c2VkIG1haW5seSBpbiB0aGUgYmVmb3JlIHN0ZXAgdG8gcGFzcyB0aGUgYXV0aENvbmZpZyBmcm9tIHRoZSB0cmFuc2Zvcm1lciBjb3JlIGRvd24gdG8gdGhlIGRpcmVjdGl2ZVxuICAgKi9cbiAgYXV0aENvbmZpZz86IEFwcFN5bmNBdXRoQ29uZmlndXJhdGlvbjtcblxuICAvKipcbiAgICogUGFyYW1zIHRvIGluY2x1ZGUgdGhlIHRyYW5zZm9ybWVyLlxuICAgKi9cbiAgYXV0aFN5bnRoUGFyYW1ldGVyczogQXV0aFN5bnRoUGFyYW1ldGVycztcbn1cblxuLyoqXG4gKiBUcmFuc2Zvcm1zIGFkZGl0aW9uYWxBdXRoZW50aWNhdGlvblR5cGVzIGZvciBzdG9yYWdlIGluIENGTiBvdXRwdXRcbiAqL1xuZXhwb3J0IGNvbnN0IGdldEFkZGl0aW9uYWxBdXRoZW50aWNhdGlvblR5cGVzID0gKGNmbkdyYXBocWxBcGk6IENmbkdyYXBoUUxBcGkpOiBzdHJpbmcgfCB1bmRlZmluZWQgPT4ge1xuICBpZiAoIWlzQXJyYXkoY2ZuR3JhcGhxbEFwaS5hZGRpdGlvbmFsQXV0aGVudGljYXRpb25Qcm92aWRlcnMpKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIHJldHVybiAoY2ZuR3JhcGhxbEFwaS5hZGRpdGlvbmFsQXV0aGVudGljYXRpb25Qcm92aWRlcnMgYXMgQ2ZuR3JhcGhRTEFwaS5BZGRpdGlvbmFsQXV0aGVudGljYXRpb25Qcm92aWRlclByb3BlcnR5W10pXG4gICAgLm1hcChcbiAgICAgIChhZGRpdGlvbmFsQXV0aGVudGljYXRpb25Qcm92aWRlcjogQ2ZuR3JhcGhRTEFwaS5BZGRpdGlvbmFsQXV0aGVudGljYXRpb25Qcm92aWRlclByb3BlcnR5KSA9PlxuICAgICAgICBhZGRpdGlvbmFsQXV0aGVudGljYXRpb25Qcm92aWRlci5hdXRoZW50aWNhdGlvblR5cGUsXG4gICAgKVxuICAgIC5qb2luKCcsJyk7XG59O1xuXG4vKipcbiAqIENvbnZlcnQgdGhlIGxpc3Qgb2YgYXV0aCBtb2RlcyBpbnRvIHRoZSBuZWNlc3NhcnkgZmxhZ3MgYW5kIHBhcmFtcyAoZWZmZWN0aXZlbHkgYSByZWR1Y2VyIG9uIHRoZSBydWxlIGxpc3QpXG4gKiBAcGFyYW0gYXV0aE1vZGVzIHRoZSBsaXN0IG9mIGF1dGggbW9kZXMgY29uZmlndXJlZCBvbiB0aGUgQVBJLlxuICogQHJldHVybnMgdGhlIEF1dGhDb25maWcgd2hpY2ggdGhlIEF1dGhUcmFuc2Zvcm1lciBuZWVkcyBhcyBpbnB1dC5cbiAqL1xuZXhwb3J0IGNvbnN0IGNvbnZlcnRBdXRob3JpemF0aW9uTW9kZXNUb1RyYW5zZm9ybWVyQXV0aENvbmZpZyA9IChhdXRoTW9kZXM6IEF1dGhvcml6YXRpb25Nb2Rlcyk6IEF1dGhDb25maWcgPT4gKHtcbiAgYXV0aENvbmZpZzogY29udmVydEF1dGhDb25maWdUb0FwcFN5bmNBdXRoKGF1dGhNb2RlcyksXG4gIGF1dGhTeW50aFBhcmFtZXRlcnM6IGdldFN5bnRoUGFyYW1ldGVycyhhdXRoTW9kZXMpLFxufSk7XG5cbi8qKlxuICogTWVyZ2UgaWFtQ29uZmlnIGFsbG93TGlzdGVkUm9sZXMgd2l0aCBkZXByZWNhdGVkIGFkbWluUm9sZXMgcHJvcGVydHksIGNvbnZlcnRpbmcgdG8gc3RyaW5ncy5cbiAqIEBwYXJhbSBhdXRoTW9kZXMgdGhlIGF1dGggbW9kZXMgcHJvdmlkZWQgdG8gdGhlIGNvbnN0cnVjdC5cbiAqIEByZXR1cm5zIHRoZSBsaXN0IG9mIGFkbWluIHJvbGVzIGFzIHN0cmluZ3MgdG8gcGFzcyBpbnRvIHRoZSB0cmFuc2Zvcm1lclxuICovXG5jb25zdCBnZXRBbGxvd0xpc3RlZFJvbGVzID0gKGF1dGhNb2RlczogQXV0aG9yaXphdGlvbk1vZGVzKTogc3RyaW5nW10gPT5cbiAgWy4uLihhdXRoTW9kZXM/LmlhbUNvbmZpZz8uYWxsb3dMaXN0ZWRSb2xlcyA/PyBbXSksIC4uLihhdXRoTW9kZXMuYWRtaW5Sb2xlcyA/PyBbXSldLm1hcCgocm9sZU9yUm9sZU5hbWU6IElSb2xlIHwgc3RyaW5nKSA9PiB7XG4gICAgaWYgKHR5cGVvZiByb2xlT3JSb2xlTmFtZSA9PT0gJ3N0cmluZycgfHwgcm9sZU9yUm9sZU5hbWUgaW5zdGFuY2VvZiBTdHJpbmcpIHtcbiAgICAgIHJldHVybiByb2xlT3JSb2xlTmFtZSBhcyBzdHJpbmc7XG4gICAgfVxuICAgIHJldHVybiByb2xlT3JSb2xlTmFtZS5yb2xlTmFtZTtcbiAgfSk7XG5cbi8qKlxuICogVHJhbnNmb3JtIHRoZSBhdXRob3JpemF0aW9uIGNvbmZpZyBpbnRvIHRoZSB0cmFuc2Zvcm1lciBzeW50aCBwYXJhbWV0ZXJzIHBlcnRhaW5pbmcgdG8gYXV0aC5cbiAqIEBwYXJhbSBhdXRoTW9kZXMgdGhlIGF1dGggbW9kZXMgcHJvdmlkZWQgdG8gdGhlIGNvbnN0cnVjdC5cbiAqIEByZXR1cm5zIGEgcmVjb3JkIG9mIHBhcmFtcyB0byBiZSBjb25zdW1lZCBieSB0aGUgdHJhbnNmb3JtZXIuXG4gKi9cbmNvbnN0IGdldFN5bnRoUGFyYW1ldGVycyA9IChhdXRoTW9kZXM6IEF1dGhvcml6YXRpb25Nb2Rlcyk6IEF1dGhTeW50aFBhcmFtZXRlcnMgPT4gKHtcbiAgYWRtaW5Sb2xlczogZ2V0QWxsb3dMaXN0ZWRSb2xlcyhhdXRoTW9kZXMpLFxuICBpZGVudGl0eVBvb2xJZDogYXV0aE1vZGVzLmlhbUNvbmZpZz8uaWRlbnRpdHlQb29sSWQsXG4gIC4uLihhdXRoTW9kZXMudXNlclBvb2xDb25maWcgPyB7IHVzZXJQb29sSWQ6IGF1dGhNb2Rlcy51c2VyUG9vbENvbmZpZy51c2VyUG9vbC51c2VyUG9vbElkIH0gOiB7fSksXG4gIC4uLihhdXRoTW9kZXM/LmlhbUNvbmZpZ1xuICAgID8ge1xuICAgICAgICBhdXRoZW50aWNhdGVkVXNlclJvbGVOYW1lOiBhdXRoTW9kZXMuaWFtQ29uZmlnLmF1dGhlbnRpY2F0ZWRVc2VyUm9sZS5yb2xlTmFtZSxcbiAgICAgICAgdW5hdXRoZW50aWNhdGVkVXNlclJvbGVOYW1lOiBhdXRoTW9kZXMuaWFtQ29uZmlnLnVuYXV0aGVudGljYXRlZFVzZXJSb2xlLnJvbGVOYW1lLFxuICAgICAgfVxuICAgIDoge30pLFxufSk7XG4iXX0=
|
@@ -7,6 +7,7 @@ const aws_iam_1 = require("aws-cdk-lib/aws-iam");
|
|
7
7
|
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
8
8
|
const graphql_transformer_core_1 = require("@aws-amplify/graphql-transformer-core");
|
9
9
|
const aws_lambda_1 = require("aws-cdk-lib/aws-lambda");
|
10
|
+
const amplify_dynamodb_table_wrapper_1 = require("../amplify-dynamodb-table-wrapper");
|
10
11
|
const construct_tree_1 = require("./construct-tree");
|
11
12
|
/**
|
12
13
|
* Everything below here is intended to help us gather the
|
@@ -26,6 +27,7 @@ const getGeneratedResources = (scope) => {
|
|
26
27
|
const cfnDataSources = {};
|
27
28
|
const tables = {};
|
28
29
|
const cfnTables = {};
|
30
|
+
const amplifyDynamoDbTables = {};
|
29
31
|
const roles = {};
|
30
32
|
const cfnRoles = {};
|
31
33
|
const functions = {};
|
@@ -68,6 +70,10 @@ const getGeneratedResources = (scope) => {
|
|
68
70
|
cfnTables[resourceName] = currentScope;
|
69
71
|
return;
|
70
72
|
}
|
73
|
+
if (amplify_dynamodb_table_wrapper_1.AmplifyDynamoDbTableWrapper.isAmplifyDynamoDbTableResource(currentScope)) {
|
74
|
+
amplifyDynamoDbTables[resourceName] = new amplify_dynamodb_table_wrapper_1.AmplifyDynamoDbTableWrapper(currentScope);
|
75
|
+
return;
|
76
|
+
}
|
71
77
|
if (currentScope instanceof aws_iam_1.Role) {
|
72
78
|
roles[resourceName] = currentScope;
|
73
79
|
return;
|
@@ -100,6 +106,7 @@ const getGeneratedResources = (scope) => {
|
|
100
106
|
return {
|
101
107
|
graphqlApi: aws_appsync_1.GraphqlApi.fromGraphqlApiAttributes(scope, 'L2GraphqlApi', { graphqlApiId: cfnGraphqlApi.attrApiId }),
|
102
108
|
tables,
|
109
|
+
amplifyDynamoDbTables,
|
103
110
|
roles,
|
104
111
|
functions,
|
105
112
|
nestedStacks,
|
@@ -140,4 +147,4 @@ const getGeneratedFunctionSlots = (generatedResolvers) => Object.entries(generat
|
|
140
147
|
};
|
141
148
|
});
|
142
149
|
exports.getGeneratedFunctionSlots = getGeneratedFunctionSlots;
|
143
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RydWN0LWV4cG9ydHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW50ZXJuYWwvY29uc3RydWN0LWV4cG9ydHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EseURBUWlDO0FBQ2pDLDJEQUEyRDtBQUMzRCxpREFBb0Q7QUFDcEQsNkNBQXVEO0FBQ3ZELG9GQUF3RTtBQUN4RSx1REFBaUY7QUFFakYscURBQXVEO0FBRXZEOzs7Ozs7OztHQVFHO0FBQ0ksTUFBTSxxQkFBcUIsR0FBRyxDQUFDLEtBQWdCLEVBQThCLEVBQUU7SUFDcEYsSUFBSSxhQUF3QyxDQUFDO0lBQzdDLElBQUksZ0JBQThDLENBQUM7SUFDbkQsSUFBSSxTQUFnQyxDQUFDO0lBQ3JDLE1BQU0sWUFBWSxHQUFnQyxFQUFFLENBQUM7SUFDckQsTUFBTSx5QkFBeUIsR0FBNkMsRUFBRSxDQUFDO0lBQy9FLE1BQU0sY0FBYyxHQUFrQyxFQUFFLENBQUM7SUFDekQsTUFBTSxNQUFNLEdBQTBCLEVBQUUsQ0FBQztJQUN6QyxNQUFNLFNBQVMsR0FBNkIsRUFBRSxDQUFDO0lBQy9DLE1BQU0sS0FBSyxHQUF5QixFQUFFLENBQUM7SUFDdkMsTUFBTSxRQUFRLEdBQTRCLEVBQUUsQ0FBQztJQUM3QyxNQUFNLFNBQVMsR0FBbUMsRUFBRSxDQUFDO0lBQ3JELE1BQU0sWUFBWSxHQUFnQyxFQUFFLENBQUM7SUFDckQsTUFBTSxzQkFBc0IsR0FBZ0MsRUFBRSxDQUFDO0lBRS9ELE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxZQUF1QixFQUFRLEVBQUU7UUFDMUQsSUFBSSxZQUFZLFlBQVksMkJBQWEsRUFBRTtZQUN6QyxhQUFhLEdBQUcsWUFBWSxDQUFDO1lBQzdCLE9BQU87U0FDUjtRQUNELElBQUksWUFBWSxZQUFZLDhCQUFnQixFQUFFO1lBQzVDLGdCQUFnQixHQUFHLFlBQVksQ0FBQztZQUNoQyxPQUFPO1NBQ1I7UUFDRCxJQUFJLFlBQVksWUFBWSx1QkFB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RixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBNUdXLFFBQUEscUJBQXFCLHlCQTRHaEM7QUFFRjs7OztHQUlHO0FBQ0ksTUFBTSx5QkFBeUIsR0FBRyxDQUFDLGtCQUEwQyxFQUFrQixFQUFFLENBQ3RHLE1BQU0sQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUM7S0FDL0IsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDO0tBQ2hELEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQyxFQUFFLEVBQUU7SUFDNUIsTUFBTSxDQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxZQUFZLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2pGLE9BQU87UUFDTCxRQUFRO1FBQ1IsU0FBUztRQUNULFFBQVE7UUFDUixTQUFTLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDO1FBQ3pDLFFBQVEsRUFBRTtZQUNSLDZEQUE2RDtZQUM3RCxHQUFHLENBQUMsWUFBWSxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxzQkFBc0IsRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQzNFLEdBQUcsQ0FBQyxZQUFZLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLHVCQUF1QixFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7U0FDN0U7S0FDYyxDQUFDO0FBQ3BCLENBQUMsQ0FBQyxDQUFDO0FBaEJNLFFBQUEseUJBQXlCLDZCQWdCL0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7XG4gIENmbkdyYXBoUUxBcGksXG4gIENmbkdyYXBoUUxTY2hlbWEsXG4gIENmbkFwaUtleSxcbiAgQ2ZuUmVzb2x2ZXIsXG4gIENmbkZ1bmN0aW9uQ29uZmlndXJhdGlvbixcbiAgQ2ZuRGF0YVNvdXJjZSxcbiAgR3JhcGhxbEFwaSxcbn0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWFwcHN5bmMnO1xuaW1wb3J0IHsgQ2ZuVGFibGUsIFRhYmxlIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWR5bmFtb2RiJztcbmltcG9ydCB7IENmblJvbGUsIFJvbGUgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCB7IENmblJlc291cmNlLCBOZXN0ZWRTdGFjayB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IGdldFJlc291cmNlTmFtZSB9IGZyb20gJ0Bhd3MtYW1wbGlmeS9ncmFwaHFsLXRyYW5zZm9ybWVyLWNvcmUnO1xuaW1wb3J0IHsgQ2ZuRnVuY3Rpb24sIEZ1bmN0aW9uIGFzIExhbWJkYUZ1bmN0aW9uIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWxhbWJkYSc7XG5pbXBvcnQgeyBBbXBsaWZ5R3JhcGhxbEFwaVJlc291cmNlcywgRnVuY3Rpb25TbG90IH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgd2Fsa0FuZFByb2Nlc3NOb2RlcyB9IGZyb20gJy4vY29uc3RydWN0LXRyZWUnO1xuXG4vKipcbiAqIEV2ZXJ5dGhpbmcgYmVsb3cgaGVyZSBpcyBpbnRlbmRlZCB0byBoZWxwIHVzIGdhdGhlciB0aGVcbiAqIG91dHB1dCB2YWx1ZXMgYW5kIHJlbmRlciBvdXQgdGhlIEwxIHJlc291cmNlcyBmb3IgYWNjZXNzLlxuICpcbiAqIFRoaXMgaXMgZG9uZSBieSByZWN1cnNpbmcgYWxvbmcgdGhlIGNvbnN0cnVjdCB0cmVlLCBhbmQgY2xhc3NpZnlpbmcgdGhlIGdlbmVyYXRlZCByZXNvdXJjZXMuXG4gKlxuICogQHBhcmFtIHNjb3BlIHJvb3QgdG8gc2VhcmNoIGZvciBnZW5lcmF0ZWQgcmVzb3VyY2UgYWdhaW5zdFxuICogQHJldHVybnMgYSBtYXBwaW5nIG9mIEwxIGFuZCBMMiBjb25zdHJ1Y3RzIGdlbmVyYXRlZCBieSB0aGUgR3JhcGhxbCBUcmFuc2Zvcm1lci5cbiAqL1xuZXhwb3J0IGNvbnN0IGdldEdlbmVyYXRlZFJlc291cmNlcyA9IChzY29wZTogQ29uc3RydWN0KTogQW1wbGlmeUdyYXBocWxBcGlSZXNvdXJjZXMgPT4ge1xuICBsZXQgY2ZuR3JhcGhxbEFwaTogQ2ZuR3JhcGhRTEFwaSB8IHVuZGVmaW5lZDtcbiAgbGV0IGNmbkdyYXBocWxTY2hlbWE6IENmbkdyYXBoUUxTY2hlbWEgfCB1bmRlZmluZWQ7XG4gIGxldCBjZm5BcGlLZXk6IENmbkFwaUtleSB8IHVuZGVmaW5lZDtcbiAgY29uc3QgY2ZuUmVzb2x2ZXJzOiBSZWNvcmQ8c3RyaW5nLCBDZm5SZXNvbHZlcj4gPSB7fTtcbiAgY29uc3QgY2ZuRnVuY3Rpb25Db25maWd1cmF0aW9uczogUmVjb3JkPHN0cmluZywgQ2ZuRnVuY3Rpb25Db25maWd1cmF0aW9uPiA9IHt9O1xuICBjb25zdCBjZm5EYXRhU291cmNlczogUmVjb3JkPHN0cmluZywgQ2ZuRGF0YVNvdXJjZT4gPSB7fTtcbiAgY29uc3QgdGFibGVzOiBSZWNvcmQ8c3RyaW5nLCBUYWJsZT4gPSB7fTtcbiAgY29uc3QgY2ZuVGFibGVzOiBSZWNvcmQ8c3RyaW5nLCBDZm5UYWJsZT4gPSB7fTtcbiAgY29uc3Qgcm9sZXM6IFJlY29yZDxzdHJpbmcsIFJvbGU+ID0ge307XG4gIGNvbnN0IGNmblJvbGVzOiBSZWNvcmQ8c3RyaW5nLCBDZm5Sb2xlPiA9IHt9O1xuICBjb25zdCBmdW5jdGlvbnM6IFJlY29yZDxzdHJpbmcsIExhbWJkYUZ1bmN0aW9uPiA9IHt9O1xuICBjb25zdCBjZm5GdW5jdGlvbnM6IFJlY29yZDxzdHJpbmcsIENmbkZ1bmN0aW9uPiA9IHt9O1xuICBjb25zdCBhZGRpdGlvbmFsQ2ZuUmVzb3VyY2VzOiBSZWNvcmQ8c3RyaW5nLCBDZm5SZXNvdXJjZT4gPSB7fTtcblxuICBjb25zdCBjbGFzc2lmeUNvbnN0cnVjdCA9IChjdXJyZW50U2NvcGU6IENvbnN0cnVjdCk6IHZvaWQgPT4ge1xuICAgIGlmIChjdXJyZW50U2NvcGUgaW5zdGFuY2VvZiBDZm5HcmFwaFFMQXBpKSB7XG4gICAgICBjZm5HcmFwaHFsQXBpID0gY3VycmVudFNjb3BlO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoY3VycmVudFNjb3BlIGluc3RhbmNlb2YgQ2ZuR3JhcGhRTFNjaGVtYSkge1xuICAgICAgY2ZuR3JhcGhxbFNjaGVtYSA9IGN1cnJlbnRTY29wZTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKGN1cnJlbnRTY29wZSBpbnN0YW5jZW9mIENmbkFwaUtleSkge1xuICAgICAgY2ZuQXBpS2V5ID0gY3VycmVudFNjb3BlO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIFJldHJpZXZlIHJlZmVyZW5jZSBuYW1lIGZvciBpbmRleGVkIHJlc291cmNlcywgYW5kIGJhaWwgaWYgbm9uZSBpcyBmb3VuZC5cbiAgICBjb25zdCByZXNvdXJjZU5hbWUgPSBnZXRSZXNvdXJjZU5hbWUoY3VycmVudFNjb3BlKTtcbiAgICBpZiAoIXJlc291cmNlTmFtZSkgcmV0dXJuO1xuXG4gICAgaWYgKGN1cnJlbnRTY29wZSBpbnN0YW5jZW9mIENmbkRhdGFTb3VyY2UpIHtcbiAgICAgIGNmbkRhdGFTb3VyY2VzW3Jlc291cmNlTmFtZV0gPSBjdXJyZW50U2NvcGU7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChjdXJyZW50U2NvcGUgaW5zdGFuY2VvZiBDZm5SZXNvbHZlcikge1xuICAgICAgY2ZuUmVzb2x2ZXJzW3Jlc291cmNlTmFtZV0gPSBjdXJyZW50U2NvcGU7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChjdXJyZW50U2NvcGUgaW5zdGFuY2VvZiBDZm5GdW5jdGlvbkNvbmZpZ3VyYXRpb24pIHtcbiAgICAgIGNmbkZ1bmN0aW9uQ29uZmlndXJhdGlvbnNbcmVzb3VyY2VOYW1lXSA9IGN1cnJlbnRTY29wZTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKGN1cnJlbnRTY29wZSBpbnN0YW5jZW9mIFRhYmxlKSB7XG4gICAgICB0YWJsZXNbcmVzb3VyY2VOYW1lXSA9IGN1cnJlbnRTY29wZTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKGN1cnJlbnRTY29wZSBpbnN0YW5jZW9mIENmblRhYmxlKSB7XG4gICAgICBjZm5UYWJsZXNbcmVzb3VyY2VOYW1lXSA9IGN1cnJlbnRTY29wZTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKGN1cnJlbnRTY29wZSBpbnN0YW5jZW9mIFJvbGUpIHtcbiAgICAgIHJvbGVzW3Jlc291cmNlTmFtZV0gPSBjdXJyZW50U2NvcGU7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChjdXJyZW50U2NvcGUgaW5zdGFuY2VvZiBDZm5Sb2xlKSB7XG4gICAgICBjZm5Sb2xlc1tyZXNvdXJjZU5hbWVdID0gY3VycmVudFNjb3BlO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoY3VycmVudFNjb3BlIGluc3RhbmNlb2YgTGFtYmRhRnVuY3Rpb24pIHtcbiAgICAgIGZ1bmN0aW9uc1tyZXNvdXJjZU5hbWVdID0gY3VycmVudFNjb3BlO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoY3VycmVudFNjb3BlIGluc3RhbmNlb2YgQ2ZuRnVuY3Rpb24pIHtcbiAgICAgIGNmbkZ1bmN0aW9uc1tyZXNvdXJjZU5hbWVdID0gY3VycmVudFNjb3BlO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoY3VycmVudFNjb3BlIGluc3RhbmNlb2YgQ2ZuUmVzb3VyY2UpIHtcbiAgICAgIGFkZGl0aW9uYWxDZm5SZXNvdXJjZXNbcmVzb3VyY2VOYW1lXSA9IGN1cnJlbnRTY29wZTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gIH07XG5cbiAgc2NvcGUubm9kZS5jaGlsZHJlbi5mb3JFYWNoKChjaGlsZCkgPT4gd2Fsa0FuZFByb2Nlc3NOb2RlcyhjaGlsZCwgY2xhc3NpZnlDb25zdHJ1Y3QpKTtcblxuICBpZiAoIWNmbkdyYXBocWxBcGkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0V4cGVjdGVkIHRvIGZpbmQgQVdTOjpBcHBTeW5jOjpHcmFwaFFMQXBpIGluIHRoZSBnZW5lcmF0ZWQgcmVzb3VyY2Ugc2NvcGUuJyk7XG4gIH1cblxuICBpZiAoIWNmbkdyYXBocWxTY2hlbWEpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0V4cGVjdGVkIHRvIGZpbmQgQVdTOjpBcHBTeW5jOjpHcmFwaFFMU2NoZW1hIGluIHRoZSBnZW5lcmF0ZWQgcmVzb3VyY2Ugc2NvcGUuJyk7XG4gIH1cblxuICBjb25zdCBuZXN0ZWRTdGFja3M6IFJlY29yZDxzdHJpbmcsIE5lc3RlZFN0YWNrPiA9IE9iamVjdC5mcm9tRW50cmllcyhcbiAgICBzY29wZS5ub2RlLmNoaWxkcmVuLmZpbHRlcihOZXN0ZWRTdGFjay5pc05lc3RlZFN0YWNrKS5tYXAoKG5lc3RlZFN0YWNrOiBOZXN0ZWRTdGFjaykgPT4gW25lc3RlZFN0YWNrLm5vZGUuaWQsIG5lc3RlZFN0YWNrXSksXG4gICk7XG5cbiAgcmV0dXJuIHtcbiAgICBncmFwaHFsQXBpOiBHcmFwaHFsQXBpLmZyb21HcmFwaHFsQXBpQXR0cmlidXRlcyhzY29wZSwgJ0wyR3JhcGhxbEFwaScsIHsgZ3JhcGhxbEFwaUlkOiBjZm5HcmFwaHFsQXBpLmF0dHJBcGlJZCB9KSxcbiAgICB0YWJsZXMsXG4gICAgcm9sZXMsXG4gICAgZnVuY3Rpb25zLFxuICAgIG5lc3RlZFN0YWNrcyxcbiAgICBjZm5SZXNvdXJjZXM6IHtcbiAgICAgIGNmbkdyYXBocWxBcGksXG4gICAgICBjZm5HcmFwaHFsU2NoZW1hLFxuICAgICAgY2ZuQXBpS2V5LFxuICAgICAgY2ZuUmVzb2x2ZXJzLFxuICAgICAgY2ZuRnVuY3Rpb25Db25maWd1cmF0aW9ucyxcbiAgICAgIGNmbkRhdGFTb3VyY2VzLFxuICAgICAgY2ZuVGFibGVzLFxuICAgICAgY2ZuUm9sZXMsXG4gICAgICBjZm5GdW5jdGlvbnMsXG4gICAgICBhZGRpdGlvbmFsQ2ZuUmVzb3VyY2VzLFxuICAgIH0sXG4gIH07XG59O1xuXG4vKipcbiAqIEdldCB0aGUgZnVuY3Rpb24gc2xvdHMgZ2VuZXJhdGVkIGJ5IHRoZSBHcmFwaHFsIHRyYW5zZm9ybSBvcGVyYXRpb24sIGFkaGVyaW5nIHRvIHRoZSBGdW5jdGlvblNsb3QgaW50ZXJmYWNlLlxuICogQHBhcmFtIGdlbmVyYXRlZFJlc29sdmVycyB0aGUgcmVzb2x2ZXJzIGdlbmVyYXRlZCBieSB0aGUgdHJhbnNmb3JtZXIgdG8gc3BpdCBiYWNrIG91dC5cbiAqIEByZXR1cm5zIHRoZSBsaXN0IG9mIGdlbmVyYXRlZCBmdW5jdGlvbiBzbG90cyBpbiB0aGUgdHJhbnNmb3JtZXIsIGluIG9yZGVyIHRvIGZhY2lsaXRhdGUgb3ZlcnJpZGVzLlxuICovXG5leHBvcnQgY29uc3QgZ2V0R2VuZXJhdGVkRnVuY3Rpb25TbG90cyA9IChnZW5lcmF0ZWRSZXNvbHZlcnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4pOiBGdW5jdGlvblNsb3RbXSA9PlxuICBPYmplY3QuZW50cmllcyhnZW5lcmF0ZWRSZXNvbHZlcnMpXG4gICAgLmZpbHRlcigoW25hbWVdKSA9PiBuYW1lLnNwbGl0KCcuJykubGVuZ3RoID09PSA2KVxuICAgIC5tYXAoKFtuYW1lLCByZXNvbHZlckNvZGVdKSA9PiB7XG4gICAgICBjb25zdCBbdHlwZU5hbWUsIGZpZWxkTmFtZSwgc2xvdE5hbWUsIHNsb3RJbmRleCwgdGVtcGxhdGVUeXBlXSA9IG5hbWUuc3BsaXQoJy4nKTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHR5cGVOYW1lLFxuICAgICAgICBmaWVsZE5hbWUsXG4gICAgICAgIHNsb3ROYW1lLFxuICAgICAgICBzbG90SW5kZXg6IE51bWJlci5wYXJzZUludChzbG90SW5kZXgsIDEwKSxcbiAgICAgICAgZnVuY3Rpb246IHtcbiAgICAgICAgICAvLyBUT0RPOiB0aGlzIHNob3VsZCBjb25zb2xpZGF0ZSByZXEvcmVxIHZhbHVlcyBiYWNrIHRvZ2V0aGVyXG4gICAgICAgICAgLi4uKHRlbXBsYXRlVHlwZSA9PT0gJ3JlcScgPyB7IHJlcXVlc3RNYXBwaW5nVGVtcGxhdGU6IHJlc29sdmVyQ29kZSB9IDoge30pLFxuICAgICAgICAgIC4uLih0ZW1wbGF0ZVR5cGUgPT09ICdyZXMnID8geyByZXNwb25zZU1hcHBpbmdUZW1wbGF0ZTogcmVzb2x2ZXJDb2RlIH0gOiB7fSksXG4gICAgICAgIH0sXG4gICAgICB9IGFzIEZ1bmN0aW9uU2xvdDtcbiAgICB9KTtcbiJdfQ==
|
150
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RydWN0LWV4cG9ydHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW50ZXJuYWwvY29uc3RydWN0LWV4cG9ydHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EseURBUWlDO0FBQ2pDLDJEQUEyRDtBQUMzRCxpREFBb0Q7QUFDcEQsNkNBQXVEO0FBQ3ZELG9GQUF3RTtBQUN4RSx1REFBaUY7QUFFakYsc0ZBQWdGO0FBQ2hGLHFEQUF1RDtBQUV2RDs7Ozs7Ozs7R0FRRztBQUNJLE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxLQUFnQixFQUE4QixFQUFFO0lBQ3BGLElBQUksYUFBd0MsQ0FBQztJQUM3QyxJQUFJLGdCQUE4QyxDQUFDO0lBQ25ELElBQUksU0FBZ0MsQ0FBQztJQUNyQyxNQUFNLFlBQVksR0FBZ0MsRUFBRSxDQUFDO0lBQ3JELE1BQU0seUJBQXlCLEdBQTZDLEVBQUUsQ0FBQztJQUMvRSxNQUFNLGNBQWMsR0FBa0MsRUFBRSxDQUFDO0lBQ3pELE1BQU0sTUFBTSxHQUEwQixFQUFFLENBQUM7SUFDekMsTUFBTSxTQUFTLEdBQTZCLEVBQUUsQ0FBQztJQUMvQyxNQUFNLHFCQUFxQixHQUFnRCxFQUFFLENBQUM7SUFDOUUsTUFBTSxLQUFLLEdBQXlCLEVBQUUsQ0FBQztJQUN2QyxNQUFNLFFBQVEsR0FBNEIsRUFBRSxDQUFDO0lBQzdDLE1BQU0sU0FBUyxHQUFtQyxFQUFFLENBQUM7SUFDckQsTUFBTSxZQUFZLEdBQWdDLEVBQUUsQ0FBQztJQUNyRCxNQUFNLHNCQUFzQixHQUFnQyxFQUFFLENBQUM7SUFFL0QsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLFlBQXVCLEVBQVEsRUFBRTtRQUMxRCxJQUFJLFlBQVksWUFBWSwyQkFBYSxFQUFFO1lBQ3pDLGFBQWEsR0FBRyxZQUFZLENBQUM7WUFDN0IsT0FBTztTQUNSO1FBQ0QsSUFBSSxZQUFZLFlBQVksOEJBQWdCLEVBQUU7WUFDNUMsZ0JBQWdCLEdBQUcsWUFB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QyxDQUFDLENBQUMsRUFBRSxDQUFDO1NBQzdFO0tBQ2MsQ0FBQztBQUNwQixDQUFDLENBQUMsQ0FBQztBQWhCTSxRQUFBLHlCQUF5Qiw2QkFnQi9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQge1xuICBDZm5HcmFwaFFMQXBpLFxuICBDZm5HcmFwaFFMU2NoZW1hLFxuICBDZm5BcGlLZXksXG4gIENmblJlc29sdmVyLFxuICBDZm5GdW5jdGlvbkNvbmZpZ3VyYXRpb24sXG4gIENmbkRhdGFTb3VyY2UsXG4gIEdyYXBocWxBcGksXG59IGZyb20gJ2F3cy1jZGstbGliL2F3cy1hcHBzeW5jJztcbmltcG9ydCB7IENmblRhYmxlLCBUYWJsZSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1keW5hbW9kYic7XG5pbXBvcnQgeyBDZm5Sb2xlLCBSb2xlIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgeyBDZm5SZXNvdXJjZSwgTmVzdGVkU3RhY2sgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBnZXRSZXNvdXJjZU5hbWUgfSBmcm9tICdAYXdzLWFtcGxpZnkvZ3JhcGhxbC10cmFuc2Zvcm1lci1jb3JlJztcbmltcG9ydCB7IENmbkZ1bmN0aW9uLCBGdW5jdGlvbiBhcyBMYW1iZGFGdW5jdGlvbiB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1sYW1iZGEnO1xuaW1wb3J0IHsgQW1wbGlmeUdyYXBocWxBcGlSZXNvdXJjZXMsIEZ1bmN0aW9uU2xvdCB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IEFtcGxpZnlEeW5hbW9EYlRhYmxlV3JhcHBlciB9IGZyb20gJy4uL2FtcGxpZnktZHluYW1vZGItdGFibGUtd3JhcHBlcic7XG5pbXBvcnQgeyB3YWxrQW5kUHJvY2Vzc05vZGVzIH0gZnJvbSAnLi9jb25zdHJ1Y3QtdHJlZSc7XG5cbi8qKlxuICogRXZlcnl0aGluZyBiZWxvdyBoZXJlIGlzIGludGVuZGVkIHRvIGhlbHAgdXMgZ2F0aGVyIHRoZVxuICogb3V0cHV0IHZhbHVlcyBhbmQgcmVuZGVyIG91dCB0aGUgTDEgcmVzb3VyY2VzIGZvciBhY2Nlc3MuXG4gKlxuICogVGhpcyBpcyBkb25lIGJ5IHJlY3Vyc2luZyBhbG9uZyB0aGUgY29uc3RydWN0IHRyZWUsIGFuZCBjbGFzc2lmeWluZyB0aGUgZ2VuZXJhdGVkIHJlc291cmNlcy5cbiAqXG4gKiBAcGFyYW0gc2NvcGUgcm9vdCB0byBzZWFyY2ggZm9yIGdlbmVyYXRlZCByZXNvdXJjZSBhZ2FpbnN0XG4gKiBAcmV0dXJucyBhIG1hcHBpbmcgb2YgTDEgYW5kIEwyIGNvbnN0cnVjdHMgZ2VuZXJhdGVkIGJ5IHRoZSBHcmFwaHFsIFRyYW5zZm9ybWVyLlxuICovXG5leHBvcnQgY29uc3QgZ2V0R2VuZXJhdGVkUmVzb3VyY2VzID0gKHNjb3BlOiBDb25zdHJ1Y3QpOiBBbXBsaWZ5R3JhcGhxbEFwaVJlc291cmNlcyA9PiB7XG4gIGxldCBjZm5HcmFwaHFsQXBpOiBDZm5HcmFwaFFMQXBpIHwgdW5kZWZpbmVkO1xuICBsZXQgY2ZuR3JhcGhxbFNjaGVtYTogQ2ZuR3JhcGhRTFNjaGVtYSB8IHVuZGVmaW5lZDtcbiAgbGV0IGNmbkFwaUtleTogQ2ZuQXBpS2V5IHwgdW5kZWZpbmVkO1xuICBjb25zdCBjZm5SZXNvbHZlcnM6IFJlY29yZDxzdHJpbmcsIENmblJlc29sdmVyPiA9IHt9O1xuICBjb25zdCBjZm5GdW5jdGlvbkNvbmZpZ3VyYXRpb25zOiBSZWNvcmQ8c3RyaW5nLCBDZm5GdW5jdGlvbkNvbmZpZ3VyYXRpb24+ID0ge307XG4gIGNvbnN0IGNmbkRhdGFTb3VyY2VzOiBSZWNvcmQ8c3RyaW5nLCBDZm5EYXRhU291cmNlPiA9IHt9O1xuICBjb25zdCB0YWJsZXM6IFJlY29yZDxzdHJpbmcsIFRhYmxlPiA9IHt9O1xuICBjb25zdCBjZm5UYWJsZXM6IFJlY29yZDxzdHJpbmcsIENmblRhYmxlPiA9IHt9O1xuICBjb25zdCBhbXBsaWZ5RHluYW1vRGJUYWJsZXM6IFJlY29yZDxzdHJpbmcsIEFtcGxpZnlEeW5hbW9EYlRhYmxlV3JhcHBlcj4gPSB7fTtcbiAgY29uc3Qgcm9sZXM6IFJlY29yZDxzdHJpbmcsIFJvbGU+ID0ge307XG4gIGNvbnN0IGNmblJvbGVzOiBSZWNvcmQ8c3RyaW5nLCBDZm5Sb2xlPiA9IHt9O1xuICBjb25zdCBmdW5jdGlvbnM6IFJlY29yZDxzdHJpbmcsIExhbWJkYUZ1bmN0aW9uPiA9IHt9O1xuICBjb25zdCBjZm5GdW5jdGlvbnM6IFJlY29yZDxzdHJpbmcsIENmbkZ1bmN0aW9uPiA9IHt9O1xuICBjb25zdCBhZGRpdGlvbmFsQ2ZuUmVzb3VyY2VzOiBSZWNvcmQ8c3RyaW5nLCBDZm5SZXNvdXJjZT4gPSB7fTtcblxuICBjb25zdCBjbGFzc2lmeUNvbnN0cnVjdCA9IChjdXJyZW50U2NvcGU6IENvbnN0cnVjdCk6IHZvaWQgPT4ge1xuICAgIGlmIChjdXJyZW50U2NvcGUgaW5zdGFuY2VvZiBDZm5HcmFwaFFMQXBpKSB7XG4gICAgICBjZm5HcmFwaHFsQXBpID0gY3VycmVudFNjb3BlO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoY3VycmVudFNjb3BlIGluc3RhbmNlb2YgQ2ZuR3JhcGhRTFNjaGVtYSkge1xuICAgICAgY2ZuR3JhcGhxbFNjaGVtYSA9IGN1cnJlbnRTY29wZTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKGN1cnJlbnRTY29wZSBpbnN0YW5jZW9mIENmbkFwaUtleSkge1xuICAgICAgY2ZuQXBpS2V5ID0gY3VycmVudFNjb3BlO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIFJldHJpZXZlIHJlZmVyZW5jZSBuYW1lIGZvciBpbmRleGVkIHJlc291cmNlcywgYW5kIGJhaWwgaWYgbm9uZSBpcyBmb3VuZC5cbiAgICBjb25zdCByZXNvdXJjZU5hbWUgPSBnZXRSZXNvdXJjZU5hbWUoY3VycmVudFNjb3BlKTtcbiAgICBpZiAoIXJlc291cmNlTmFtZSkgcmV0dXJuO1xuXG4gICAgaWYgKGN1cnJlbnRTY29wZSBpbnN0YW5jZW9mIENmbkRhdGFTb3VyY2UpIHtcbiAgICAgIGNmbkRhdGFTb3VyY2VzW3Jlc291cmNlTmFtZV0gPSBjdXJyZW50U2NvcGU7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChjdXJyZW50U2NvcGUgaW5zdGFuY2VvZiBDZm5SZXNvbHZlcikge1xuICAgICAgY2ZuUmVzb2x2ZXJzW3Jlc291cmNlTmFtZV0gPSBjdXJyZW50U2NvcGU7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChjdXJyZW50U2NvcGUgaW5zdGFuY2VvZiBDZm5GdW5jdGlvbkNvbmZpZ3VyYXRpb24pIHtcbiAgICAgIGNmbkZ1bmN0aW9uQ29uZmlndXJhdGlvbnNbcmVzb3VyY2VOYW1lXSA9IGN1cnJlbnRTY29wZTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKGN1cnJlbnRTY29wZSBpbnN0YW5jZW9mIFRhYmxlKSB7XG4gICAgICB0YWJsZXNbcmVzb3VyY2VOYW1lXSA9IGN1cnJlbnRTY29wZTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKGN1cnJlbnRTY29wZSBpbnN0YW5jZW9mIENmblRhYmxlKSB7XG4gICAgICBjZm5UYWJsZXNbcmVzb3VyY2VOYW1lXSA9IGN1cnJlbnRTY29wZTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKEFtcGxpZnlEeW5hbW9EYlRhYmxlV3JhcHBlci5pc0FtcGxpZnlEeW5hbW9EYlRhYmxlUmVzb3VyY2UoY3VycmVudFNjb3BlKSkge1xuICAgICAgYW1wbGlmeUR5bmFtb0RiVGFibGVzW3Jlc291cmNlTmFtZV0gPSBuZXcgQW1wbGlmeUR5bmFtb0RiVGFibGVXcmFwcGVyKGN1cnJlbnRTY29wZSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChjdXJyZW50U2NvcGUgaW5zdGFuY2VvZiBSb2xlKSB7XG4gICAgICByb2xlc1tyZXNvdXJjZU5hbWVdID0gY3VycmVudFNjb3BlO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoY3VycmVudFNjb3BlIGluc3RhbmNlb2YgQ2ZuUm9sZSkge1xuICAgICAgY2ZuUm9sZXNbcmVzb3VyY2VOYW1lXSA9IGN1cnJlbnRTY29wZTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKGN1cnJlbnRTY29wZSBpbnN0YW5jZW9mIExhbWJkYUZ1bmN0aW9uKSB7XG4gICAgICBmdW5jdGlvbnNbcmVzb3VyY2VOYW1lXSA9IGN1cnJlbnRTY29wZTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKGN1cnJlbnRTY29wZSBpbnN0YW5jZW9mIENmbkZ1bmN0aW9uKSB7XG4gICAgICBjZm5GdW5jdGlvbnNbcmVzb3VyY2VOYW1lXSA9IGN1cnJlbnRTY29wZTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKGN1cnJlbnRTY29wZSBpbnN0YW5jZW9mIENmblJlc291cmNlKSB7XG4gICAgICBhZGRpdGlvbmFsQ2ZuUmVzb3VyY2VzW3Jlc291cmNlTmFtZV0gPSBjdXJyZW50U2NvcGU7XG4gICAgICByZXR1cm47XG4gICAgfVxuICB9O1xuXG4gIHNjb3BlLm5vZGUuY2hpbGRyZW4uZm9yRWFjaCgoY2hpbGQpID0+IHdhbGtBbmRQcm9jZXNzTm9kZXMoY2hpbGQsIGNsYXNzaWZ5Q29uc3RydWN0KSk7XG5cbiAgaWYgKCFjZm5HcmFwaHFsQXBpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdFeHBlY3RlZCB0byBmaW5kIEFXUzo6QXBwU3luYzo6R3JhcGhRTEFwaSBpbiB0aGUgZ2VuZXJhdGVkIHJlc291cmNlIHNjb3BlLicpO1xuICB9XG5cbiAgaWYgKCFjZm5HcmFwaHFsU2NoZW1hKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdFeHBlY3RlZCB0byBmaW5kIEFXUzo6QXBwU3luYzo6R3JhcGhRTFNjaGVtYSBpbiB0aGUgZ2VuZXJhdGVkIHJlc291cmNlIHNjb3BlLicpO1xuICB9XG5cbiAgY29uc3QgbmVzdGVkU3RhY2tzOiBSZWNvcmQ8c3RyaW5nLCBOZXN0ZWRTdGFjaz4gPSBPYmplY3QuZnJvbUVudHJpZXMoXG4gICAgc2NvcGUubm9kZS5jaGlsZHJlbi5maWx0ZXIoTmVzdGVkU3RhY2suaXNOZXN0ZWRTdGFjaykubWFwKChuZXN0ZWRTdGFjazogTmVzdGVkU3RhY2spID0+IFtuZXN0ZWRTdGFjay5ub2RlLmlkLCBuZXN0ZWRTdGFja10pLFxuICApO1xuXG4gIHJldHVybiB7XG4gICAgZ3JhcGhxbEFwaTogR3JhcGhxbEFwaS5mcm9tR3JhcGhxbEFwaUF0dHJpYnV0ZXMoc2NvcGUsICdMMkdyYXBocWxBcGknLCB7IGdyYXBocWxBcGlJZDogY2ZuR3JhcGhxbEFwaS5hdHRyQXBpSWQgfSksXG4gICAgdGFibGVzLFxuICAgIGFtcGxpZnlEeW5hbW9EYlRhYmxlcyxcbiAgICByb2xlcyxcbiAgICBmdW5jdGlvbnMsXG4gICAgbmVzdGVkU3RhY2tzLFxuICAgIGNmblJlc291cmNlczoge1xuICAgICAgY2ZuR3JhcGhxbEFwaSxcbiAgICAgIGNmbkdyYXBocWxTY2hlbWEsXG4gICAgICBjZm5BcGlLZXksXG4gICAgICBjZm5SZXNvbHZlcnMsXG4gICAgICBjZm5GdW5jdGlvbkNvbmZpZ3VyYXRpb25zLFxuICAgICAgY2ZuRGF0YVNvdXJjZXMsXG4gICAgICBjZm5UYWJsZXMsXG4gICAgICBjZm5Sb2xlcyxcbiAgICAgIGNmbkZ1bmN0aW9ucyxcbiAgICAgIGFkZGl0aW9uYWxDZm5SZXNvdXJjZXMsXG4gICAgfSxcbiAgfTtcbn07XG5cbi8qKlxuICogR2V0IHRoZSBmdW5jdGlvbiBzbG90cyBnZW5lcmF0ZWQgYnkgdGhlIEdyYXBocWwgdHJhbnNmb3JtIG9wZXJhdGlvbiwgYWRoZXJpbmcgdG8gdGhlIEZ1bmN0aW9uU2xvdCBpbnRlcmZhY2UuXG4gKiBAcGFyYW0gZ2VuZXJhdGVkUmVzb2x2ZXJzIHRoZSByZXNvbHZlcnMgZ2VuZXJhdGVkIGJ5IHRoZSB0cmFuc2Zvcm1lciB0byBzcGl0IGJhY2sgb3V0LlxuICogQHJldHVybnMgdGhlIGxpc3Qgb2YgZ2VuZXJhdGVkIGZ1bmN0aW9uIHNsb3RzIGluIHRoZSB0cmFuc2Zvcm1lciwgaW4gb3JkZXIgdG8gZmFjaWxpdGF0ZSBvdmVycmlkZXMuXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRHZW5lcmF0ZWRGdW5jdGlvblNsb3RzID0gKGdlbmVyYXRlZFJlc29sdmVyczogUmVjb3JkPHN0cmluZywgc3RyaW5nPik6IEZ1bmN0aW9uU2xvdFtdID0+XG4gIE9iamVjdC5lbnRyaWVzKGdlbmVyYXRlZFJlc29sdmVycylcbiAgICAuZmlsdGVyKChbbmFtZV0pID0+IG5hbWUuc3BsaXQoJy4nKS5sZW5ndGggPT09IDYpXG4gICAgLm1hcCgoW25hbWUsIHJlc29sdmVyQ29kZV0pID0+IHtcbiAgICAgIGNvbnN0IFt0eXBlTmFtZSwgZmllbGROYW1lLCBzbG90TmFtZSwgc2xvdEluZGV4LCB0ZW1wbGF0ZVR5cGVdID0gbmFtZS5zcGxpdCgnLicpO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdHlwZU5hbWUsXG4gICAgICAgIGZpZWxkTmFtZSxcbiAgICAgICAgc2xvdE5hbWUsXG4gICAgICAgIHNsb3RJbmRleDogTnVtYmVyLnBhcnNlSW50KHNsb3RJbmRleCwgMTApLFxuICAgICAgICBmdW5jdGlvbjoge1xuICAgICAgICAgIC8vIFRPRE86IHRoaXMgc2hvdWxkIGNvbnNvbGlkYXRlIHJlcS9yZXEgdmFsdWVzIGJhY2sgdG9nZXRoZXJcbiAgICAgICAgICAuLi4odGVtcGxhdGVUeXBlID09PSAncmVxJyA/IHsgcmVxdWVzdE1hcHBpbmdUZW1wbGF0ZTogcmVzb2x2ZXJDb2RlIH0gOiB7fSksXG4gICAgICAgICAgLi4uKHRlbXBsYXRlVHlwZSA9PT0gJ3JlcycgPyB7IHJlc3BvbnNlTWFwcGluZ1RlbXBsYXRlOiByZXNvbHZlckNvZGUgfSA6IHt9KSxcbiAgICAgICAgfSxcbiAgICAgIH0gYXMgRnVuY3Rpb25TbG90O1xuICAgIH0pO1xuIl19
|
@@ -0,0 +1,7 @@
|
|
1
|
+
import { ModelDataSourceDefinition } from '../types';
|
2
|
+
import { DataSourceType } from '@aws-amplify/graphql-transformer-interfaces';
|
3
|
+
type DataSourceConfig = {
|
4
|
+
modelToDatasourceMap: Map<string, DataSourceType>;
|
5
|
+
};
|
6
|
+
export declare const parseDataSourceConfig: (dataSourceDefinitionMap: Record<string, ModelDataSourceDefinition>) => DataSourceConfig;
|
7
|
+
export {};
|
@@ -0,0 +1,37 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.parseDataSourceConfig = void 0;
|
4
|
+
const convertToDataSourceType = (modelDataSourceDefinition) => {
|
5
|
+
const { strategy } = modelDataSourceDefinition;
|
6
|
+
if (strategy.dbType === 'DYNAMODB') {
|
7
|
+
switch (strategy.provisionStrategy) {
|
8
|
+
case 'DEFAULT':
|
9
|
+
return {
|
10
|
+
dbType: 'DDB',
|
11
|
+
provisionDB: true,
|
12
|
+
provisionStrategy: "DEFAULT" /* DynamoDBProvisionStrategy.DEFAULT */,
|
13
|
+
};
|
14
|
+
case 'AMPLIFY_TABLE':
|
15
|
+
return {
|
16
|
+
dbType: 'DDB',
|
17
|
+
provisionDB: true,
|
18
|
+
provisionStrategy: "AMPLIFY_TABLE" /* DynamoDBProvisionStrategy.AMPLIFY_TABLE */,
|
19
|
+
};
|
20
|
+
default:
|
21
|
+
throw new Error(`Encountered unexpected provision strategy: ${strategy.provisionStrategy}`);
|
22
|
+
}
|
23
|
+
}
|
24
|
+
throw new Error(`Encountered unexpected database type ${strategy.dbType}`);
|
25
|
+
};
|
26
|
+
const parseDataSourceConfig = (dataSourceDefinitionMap) => {
|
27
|
+
const modelToDatasourceMap = new Map();
|
28
|
+
for (const [key, value] of Object.entries(dataSourceDefinitionMap)) {
|
29
|
+
const dataSourceType = convertToDataSourceType(value);
|
30
|
+
modelToDatasourceMap.set(key, dataSourceType);
|
31
|
+
}
|
32
|
+
return {
|
33
|
+
modelToDatasourceMap,
|
34
|
+
};
|
35
|
+
};
|
36
|
+
exports.parseDataSourceConfig = parseDataSourceConfig;
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1zb3VyY2UtY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ludGVybmFsL2RhdGEtc291cmNlLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFNQSxNQUFNLHVCQUF1QixHQUFHLENBQUMseUJBQW9ELEVBQWtCLEVBQUU7SUFDdkcsTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFHLHlCQUF5QixDQUFDO0lBQy9DLElBQUksUUFBUSxDQUFDLE1BQU0sS0FBSyxVQUFVLEVBQUU7UUFDbEMsUUFBUSxRQUFRLENBQUMsaUJBQWlCLEVBQUU7WUFDbEMsS0FBSyxTQUFTO2dCQUNaLE9BQU87b0JBQ0wsTUFBTSxFQUFFLEtBQUs7b0JBQ2IsV0FBVyxFQUFFLElBQUk7b0JBQ2pCLGlCQUFpQixtREFBbUM7aUJBQ3JELENBQUM7WUFDSixLQUFLLGVBQWU7Z0JBQ2xCLE9BQU87b0JBQ0wsTUFBTSxFQUFFLEtBQUs7b0JBQ2IsV0FBVyxFQUFFLElBQUk7b0JBQ2pCLGlCQUFpQiwrREFBeUM7aUJBQzNELENBQUM7WUFDSjtnQkFDRSxNQUFNLElBQUksS0FBSyxDQUFDLDhDQUErQyxRQUFnQixDQUFDLGlCQUFpQixFQUFFLENBQUMsQ0FBQztTQUN4RztLQUNGO0lBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQyx3Q0FBd0MsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7QUFDN0UsQ0FBQyxDQUFDO0FBRUssTUFBTSxxQkFBcUIsR0FBRyxDQUFDLHVCQUFrRSxFQUFvQixFQUFFO0lBQzVILE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxHQUFHLEVBQTBCLENBQUM7SUFDL0QsS0FBSyxNQUFNLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsdUJBQXVCLENBQUMsRUFBRTtRQUNsRSxNQUFNLGNBQWMsR0FBRyx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN0RCxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLGNBQWMsQ0FBQyxDQUFDO0tBQy9DO0lBQ0QsT0FBTztRQUNMLG9CQUFvQjtLQUNyQixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBVFcsUUFBQSxxQkFBcUIseUJBU2hDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kZWxEYXRhU291cmNlRGVmaW5pdGlvbiB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IERhdGFTb3VyY2VUeXBlLCBEeW5hbW9EQlByb3Zpc2lvblN0cmF0ZWd5IH0gZnJvbSAnQGF3cy1hbXBsaWZ5L2dyYXBocWwtdHJhbnNmb3JtZXItaW50ZXJmYWNlcyc7XG5cbnR5cGUgRGF0YVNvdXJjZUNvbmZpZyA9IHtcbiAgbW9kZWxUb0RhdGFzb3VyY2VNYXA6IE1hcDxzdHJpbmcsIERhdGFTb3VyY2VUeXBlPjtcbn07XG5jb25zdCBjb252ZXJ0VG9EYXRhU291cmNlVHlwZSA9IChtb2RlbERhdGFTb3VyY2VEZWZpbml0aW9uOiBNb2RlbERhdGFTb3VyY2VEZWZpbml0aW9uKTogRGF0YVNvdXJjZVR5cGUgPT4ge1xuICBjb25zdCB7IHN0cmF0ZWd5IH0gPSBtb2RlbERhdGFTb3VyY2VEZWZpbml0aW9uO1xuICBpZiAoc3RyYXRlZ3kuZGJUeXBlID09PSAnRFlOQU1PREInKSB7XG4gICAgc3dpdGNoIChzdHJhdGVneS5wcm92aXNpb25TdHJhdGVneSkge1xuICAgICAgY2FzZSAnREVGQVVMVCc6XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgZGJUeXBlOiAnRERCJyxcbiAgICAgICAgICBwcm92aXNpb25EQjogdHJ1ZSxcbiAgICAgICAgICBwcm92aXNpb25TdHJhdGVneTogRHluYW1vREJQcm92aXNpb25TdHJhdGVneS5ERUZBVUxULFxuICAgICAgICB9O1xuICAgICAgY2FzZSAnQU1QTElGWV9UQUJMRSc6XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgZGJUeXBlOiAnRERCJyxcbiAgICAgICAgICBwcm92aXNpb25EQjogdHJ1ZSxcbiAgICAgICAgICBwcm92aXNpb25TdHJhdGVneTogRHluYW1vREJQcm92aXNpb25TdHJhdGVneS5BTVBMSUZZX1RBQkxFLFxuICAgICAgICB9O1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBFbmNvdW50ZXJlZCB1bmV4cGVjdGVkIHByb3Zpc2lvbiBzdHJhdGVneTogJHsoc3RyYXRlZ3kgYXMgYW55KS5wcm92aXNpb25TdHJhdGVneX1gKTtcbiAgICB9XG4gIH1cbiAgdGhyb3cgbmV3IEVycm9yKGBFbmNvdW50ZXJlZCB1bmV4cGVjdGVkIGRhdGFiYXNlIHR5cGUgJHtzdHJhdGVneS5kYlR5cGV9YCk7XG59O1xuXG5leHBvcnQgY29uc3QgcGFyc2VEYXRhU291cmNlQ29uZmlnID0gKGRhdGFTb3VyY2VEZWZpbml0aW9uTWFwOiBSZWNvcmQ8c3RyaW5nLCBNb2RlbERhdGFTb3VyY2VEZWZpbml0aW9uPik6IERhdGFTb3VyY2VDb25maWcgPT4ge1xuICBjb25zdCBtb2RlbFRvRGF0YXNvdXJjZU1hcCA9IG5ldyBNYXA8c3RyaW5nLCBEYXRhU291cmNlVHlwZT4oKTtcbiAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoZGF0YVNvdXJjZURlZmluaXRpb25NYXApKSB7XG4gICAgY29uc3QgZGF0YVNvdXJjZVR5cGUgPSBjb252ZXJ0VG9EYXRhU291cmNlVHlwZSh2YWx1ZSk7XG4gICAgbW9kZWxUb0RhdGFzb3VyY2VNYXAuc2V0KGtleSwgZGF0YVNvdXJjZVR5cGUpO1xuICB9XG4gIHJldHVybiB7XG4gICAgbW9kZWxUb0RhdGFzb3VyY2VNYXAsXG4gIH07XG59O1xuIl19
|
package/lib/internal/index.d.ts
CHANGED
package/lib/internal/index.js
CHANGED
@@ -20,5 +20,5 @@ __exportStar(require("./default-parameters"), exports);
|
|
20
20
|
__exportStar(require("./conflict-resolution"), exports);
|
21
21
|
__exportStar(require("./asset-manager"), exports);
|
22
22
|
__exportStar(require("./codegen-assets"), exports);
|
23
|
-
__exportStar(require("./
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
23
|
+
__exportStar(require("./model-type-name"), exports);
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW50ZXJuYWwvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHdEQUFzQztBQUN0QyxzREFBb0M7QUFDcEMsdURBQXFDO0FBQ3JDLHdEQUFzQztBQUN0QyxrREFBZ0M7QUFDaEMsbURBQWlDO0FBQ2pDLG9EQUFrQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYXV0aG9yaXphdGlvbi1tb2Rlcyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbnN0cnVjdC1leHBvcnRzJztcbmV4cG9ydCAqIGZyb20gJy4vZGVmYXVsdC1wYXJhbWV0ZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vY29uZmxpY3QtcmVzb2x1dGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2Fzc2V0LW1hbmFnZXInO1xuZXhwb3J0ICogZnJvbSAnLi9jb2RlZ2VuLWFzc2V0cyc7XG5leHBvcnQgKiBmcm9tICcuL21vZGVsLXR5cGUtbmFtZSc7XG4iXX0=
|
@@ -0,0 +1,8 @@
|
|
1
|
+
import { ModelDataSourceDefinition } from '../types';
|
2
|
+
/**
|
3
|
+
* Get the type names with model directives in the GraphQL schema in SDL
|
4
|
+
* @param schema graphql schema in SDL
|
5
|
+
* @returns type names which model diretives are attached
|
6
|
+
*/
|
7
|
+
export declare function getModelTypeNames(schema: string): string[];
|
8
|
+
export declare function constructDataSourceDefinitionMap(schema: string, dataSourceDefinition: ModelDataSourceDefinition): Record<string, ModelDataSourceDefinition>;
|
@@ -0,0 +1,27 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.constructDataSourceDefinitionMap = exports.getModelTypeNames = void 0;
|
4
|
+
const graphql_1 = require("graphql");
|
5
|
+
const MODEL_DIRECTIVE_NAME = 'model';
|
6
|
+
/**
|
7
|
+
* Get the type names with model directives in the GraphQL schema in SDL
|
8
|
+
* @param schema graphql schema in SDL
|
9
|
+
* @returns type names which model diretives are attached
|
10
|
+
*/
|
11
|
+
function getModelTypeNames(schema) {
|
12
|
+
const parsedDocument = (0, graphql_1.parse)(schema);
|
13
|
+
const nodesWithModelDirective = parsedDocument.definitions.filter((def) => def.kind === graphql_1.Kind.OBJECT_TYPE_DEFINITION &&
|
14
|
+
def.directives &&
|
15
|
+
def.directives.find((dir) => dir.name.value === MODEL_DIRECTIVE_NAME) != undefined);
|
16
|
+
return nodesWithModelDirective.map((node) => node.name.value);
|
17
|
+
}
|
18
|
+
exports.getModelTypeNames = getModelTypeNames;
|
19
|
+
function constructDataSourceDefinitionMap(schema, dataSourceDefinition) {
|
20
|
+
const parsedSchema = (0, graphql_1.parse)(schema);
|
21
|
+
return parsedSchema.definitions
|
22
|
+
.filter((obj) => obj.kind === graphql_1.Kind.OBJECT_TYPE_DEFINITION && obj.directives?.some((dir) => dir.name.value === MODEL_DIRECTIVE_NAME))
|
23
|
+
.map((type) => type.name.value)
|
24
|
+
.reduce((acc, cur) => ({ ...acc, [cur]: dataSourceDefinition }), {});
|
25
|
+
}
|
26
|
+
exports.constructDataSourceDefinitionMap = constructDataSourceDefinitionMap;
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtdHlwZS1uYW1lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ludGVybmFsL21vZGVsLXR5cGUtbmFtZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxQ0FBZ0U7QUFHaEUsTUFBTSxvQkFBb0IsR0FBRyxPQUFPLENBQUM7QUFDckM7Ozs7R0FJRztBQUNILFNBQWdCLGlCQUFpQixDQUFDLE1BQWM7SUFDOUMsTUFBTSxjQUFjLEdBQUcsSUFBQSxlQUFLLEVBQUMsTUFBTSxDQUFDLENBQUM7SUFDckMsTUFBTSx1QkFBdUIsR0FBRyxjQUFjLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FDL0QsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUNOLEdBQUcsQ0FBQyxJQUFJLEtBQUssY0FBSSxDQUFDLHNCQUFzQjtRQUN4QyxHQUFHLENBQUMsVUFBVTtRQUNkLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssS0FBSyxvQkFBb0IsQ0FBQyxJQUFJLFNBQVMsQ0FDdkQsQ0FBQztJQUNoQyxPQUFPLHVCQUF1QixDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUNoRSxDQUFDO0FBVEQsOENBU0M7QUFFRCxTQUFnQixnQ0FBZ0MsQ0FDOUMsTUFBYyxFQUNkLG9CQUErQztJQUUvQyxNQUFNLFlBQVksR0FBRyxJQUFBLGVBQUssRUFBQyxNQUFNLENBQUMsQ0FBQztJQUNuQyxPQUFPLFlBQVksQ0FBQyxXQUFXO1NBQzVCLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksS0FBSyxjQUFJLENBQUMsc0JBQXNCLElBQUksR0FBRyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxLQUFLLG9CQUFvQixDQUFDLENBQUM7U0FDbkksR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBRSxJQUFpQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7U0FDNUQsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsb0JBQW9CLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ3pFLENBQUM7QUFURCw0RUFTQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEtpbmQsIE9iamVjdFR5cGVEZWZpbml0aW9uTm9kZSwgcGFyc2UgfSBmcm9tICdncmFwaHFsJztcbmltcG9ydCB7IE1vZGVsRGF0YVNvdXJjZURlZmluaXRpb24gfSBmcm9tICcuLi90eXBlcyc7XG5cbmNvbnN0IE1PREVMX0RJUkVDVElWRV9OQU1FID0gJ21vZGVsJztcbi8qKlxuICogR2V0IHRoZSB0eXBlIG5hbWVzIHdpdGggbW9kZWwgZGlyZWN0aXZlcyBpbiB0aGUgR3JhcGhRTCBzY2hlbWEgaW4gU0RMXG4gKiBAcGFyYW0gc2NoZW1hIGdyYXBocWwgc2NoZW1hIGluIFNETFxuICogQHJldHVybnMgdHlwZSBuYW1lcyB3aGljaCBtb2RlbCBkaXJldGl2ZXMgYXJlIGF0dGFjaGVkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRNb2RlbFR5cGVOYW1lcyhzY2hlbWE6IHN0cmluZyk6IHN0cmluZ1tdIHtcbiAgY29uc3QgcGFyc2VkRG9jdW1lbnQgPSBwYXJzZShzY2hlbWEpO1xuICBjb25zdCBub2Rlc1dpdGhNb2RlbERpcmVjdGl2ZSA9IHBhcnNlZERvY3VtZW50LmRlZmluaXRpb25zLmZpbHRlcihcbiAgICAoZGVmKSA9PlxuICAgICAgZGVmLmtpbmQgPT09IEtpbmQuT0JKRUNUX1RZUEVfREVGSU5JVElPTiAmJlxuICAgICAgZGVmLmRpcmVjdGl2ZXMgJiZcbiAgICAgIGRlZi5kaXJlY3RpdmVzLmZpbmQoKGRpcikgPT4gZGlyLm5hbWUudmFsdWUgPT09IE1PREVMX0RJUkVDVElWRV9OQU1FKSAhPSB1bmRlZmluZWQsXG4gICkgYXMgT2JqZWN0VHlwZURlZmluaXRpb25Ob2RlW107XG4gIHJldHVybiBub2Rlc1dpdGhNb2RlbERpcmVjdGl2ZS5tYXAoKG5vZGUpID0+IG5vZGUubmFtZS52YWx1ZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb25zdHJ1Y3REYXRhU291cmNlRGVmaW5pdGlvbk1hcChcbiAgc2NoZW1hOiBzdHJpbmcsXG4gIGRhdGFTb3VyY2VEZWZpbml0aW9uOiBNb2RlbERhdGFTb3VyY2VEZWZpbml0aW9uLFxuKTogUmVjb3JkPHN0cmluZywgTW9kZWxEYXRhU291cmNlRGVmaW5pdGlvbj4ge1xuICBjb25zdCBwYXJzZWRTY2hlbWEgPSBwYXJzZShzY2hlbWEpO1xuICByZXR1cm4gcGFyc2VkU2NoZW1hLmRlZmluaXRpb25zXG4gICAgLmZpbHRlcigob2JqKSA9PiBvYmoua2luZCA9PT0gS2luZC5PQkpFQ1RfVFlQRV9ERUZJTklUSU9OICYmIG9iai5kaXJlY3RpdmVzPy5zb21lKChkaXIpID0+IGRpci5uYW1lLnZhbHVlID09PSBNT0RFTF9ESVJFQ1RJVkVfTkFNRSkpXG4gICAgLm1hcCgodHlwZSkgPT4gKHR5cGUgYXMgT2JqZWN0VHlwZURlZmluaXRpb25Ob2RlKS5uYW1lLnZhbHVlKVxuICAgIC5yZWR1Y2UoKGFjYywgY3VyKSA9PiAoeyAuLi5hY2MsIFtjdXJdOiBkYXRhU291cmNlRGVmaW5pdGlvbiB9KSwge30pO1xufVxuIl19
|