@aws-amplify/data-schema 1.25.0 → 1.25.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. package/dist/cjs/Authorization.js.map +1 -1
  2. package/dist/cjs/CombineSchema.js.map +1 -1
  3. package/dist/cjs/CustomOperation.js.map +1 -1
  4. package/dist/cjs/Handler.js.map +1 -1
  5. package/dist/cjs/ModelField.js.map +1 -1
  6. package/dist/cjs/ModelIndex.js.map +1 -1
  7. package/dist/cjs/ModelRelationshipField.js.map +1 -1
  8. package/dist/cjs/ModelSchema.js.map +1 -1
  9. package/dist/cjs/ModelType.js.map +1 -1
  10. package/dist/cjs/RefType.js.map +1 -1
  11. package/dist/cjs/SchemaProcessor.js.map +1 -1
  12. package/dist/cjs/Validate.js.map +1 -1
  13. package/dist/cjs/a.js.map +1 -1
  14. package/dist/cjs/ai/ConversationSchemaProcessor.js.map +1 -1
  15. package/dist/cjs/ai/ConversationType.js.map +1 -1
  16. package/dist/cjs/internals/index.js.map +1 -1
  17. package/dist/cjs/runtime/addSchemaToClientWithInstance.js.map +1 -1
  18. package/dist/cjs/runtime/client/index.js.map +1 -1
  19. package/dist/cjs/runtime/client/index.v3.js.map +1 -1
  20. package/dist/cjs/runtime/index.js.map +1 -1
  21. package/dist/cjs/runtime/internals/APIClient.js.map +1 -1
  22. package/dist/cjs/runtime/internals/ai/conversationMessageDeserializers.js.map +1 -1
  23. package/dist/cjs/runtime/internals/ai/conversationMessageSerializers.js.map +1 -1
  24. package/dist/cjs/runtime/internals/ai/conversationStreamEventDeserializers.js.map +1 -1
  25. package/dist/cjs/runtime/internals/ai/convertItemToConversation.js.map +1 -1
  26. package/dist/cjs/runtime/internals/ai/createListConversationsFunction.js.map +1 -1
  27. package/dist/cjs/runtime/internals/ai/createOnStreamEventFunction.js.map +1 -1
  28. package/dist/cjs/runtime/internals/ai/createSendMessageFunction.js.map +1 -1
  29. package/dist/cjs/runtime/internals/cancellation.js.map +1 -1
  30. package/dist/cjs/runtime/internals/clientUtils.js.map +1 -1
  31. package/dist/cjs/runtime/internals/generateCustomOperationsProperty.js.map +1 -1
  32. package/dist/cjs/runtime/internals/index.js.map +1 -1
  33. package/dist/cjs/runtime/internals/operations/custom.js.map +1 -1
  34. package/dist/cjs/runtime/internals/operations/get.js.map +1 -1
  35. package/dist/cjs/runtime/internals/operations/indexQuery.js.map +1 -1
  36. package/dist/cjs/runtime/internals/operations/list.js.map +1 -1
  37. package/dist/cjs/runtime/internals/operations/observeQuery.js.map +1 -1
  38. package/dist/cjs/runtime/internals/operations/subscription.js.map +1 -1
  39. package/dist/cjs/runtime/internals/operations/utils.js.map +1 -1
  40. package/dist/cjs/runtime/internals/server/generateModelsProperty.js.map +1 -1
  41. package/dist/cjs/runtime/internals/utils/clientProperties/generateConversationsProperty.js.map +1 -1
  42. package/dist/cjs/runtime/internals/utils/clientProperties/generateEnumsProperty.js.map +1 -1
  43. package/dist/cjs/runtime/internals/utils/clientProperties/generateGenerationsProperty.js.map +1 -1
  44. package/dist/cjs/runtime/internals/utils/clientProperties/generateModelsProperty.js.map +1 -1
  45. package/dist/cjs/runtime/internals/utils/runtimeTypeGuards/isGraphQLResponseWithErrors.js.map +1 -1
  46. package/dist/cjs/runtime/utils/findIndexByFields.js.map +1 -1
  47. package/dist/cjs/runtime/utils/index.js.map +1 -1
  48. package/dist/cjs/runtime/utils/resolveOwnerFields.js.map +1 -1
  49. package/dist/cjs/runtime/utils/selfAwareAsync.js.map +1 -1
  50. package/dist/cjs/util/index.js.map +1 -1
  51. package/dist/esm/Authorization.mjs.map +1 -1
  52. package/dist/esm/CombineSchema.mjs.map +1 -1
  53. package/dist/esm/CustomOperation.mjs.map +1 -1
  54. package/dist/esm/Handler.mjs.map +1 -1
  55. package/dist/esm/ModelField.mjs.map +1 -1
  56. package/dist/esm/ModelIndex.mjs.map +1 -1
  57. package/dist/esm/ModelRelationshipField.mjs.map +1 -1
  58. package/dist/esm/ModelSchema.mjs.map +1 -1
  59. package/dist/esm/ModelType.mjs.map +1 -1
  60. package/dist/esm/RefType.mjs.map +1 -1
  61. package/dist/esm/SchemaProcessor.mjs.map +1 -1
  62. package/dist/esm/Validate.mjs.map +1 -1
  63. package/dist/esm/ai/ConversationSchemaProcessor.mjs.map +1 -1
  64. package/dist/esm/ai/ConversationType.mjs.map +1 -1
  65. package/dist/esm/runtime/addSchemaToClientWithInstance.mjs.map +1 -1
  66. package/dist/esm/runtime/internals/APIClient.mjs.map +1 -1
  67. package/dist/esm/runtime/internals/ai/conversationMessageDeserializers.mjs.map +1 -1
  68. package/dist/esm/runtime/internals/ai/conversationMessageSerializers.mjs.map +1 -1
  69. package/dist/esm/runtime/internals/ai/conversationStreamEventDeserializers.mjs.map +1 -1
  70. package/dist/esm/runtime/internals/ai/convertItemToConversation.mjs.map +1 -1
  71. package/dist/esm/runtime/internals/ai/createListConversationsFunction.mjs.map +1 -1
  72. package/dist/esm/runtime/internals/ai/createOnStreamEventFunction.mjs.map +1 -1
  73. package/dist/esm/runtime/internals/ai/createSendMessageFunction.mjs.map +1 -1
  74. package/dist/esm/runtime/internals/cancellation.mjs.map +1 -1
  75. package/dist/esm/runtime/internals/clientUtils.mjs.map +1 -1
  76. package/dist/esm/runtime/internals/generateCustomOperationsProperty.mjs.map +1 -1
  77. package/dist/esm/runtime/internals/operations/custom.mjs.map +1 -1
  78. package/dist/esm/runtime/internals/operations/get.mjs.map +1 -1
  79. package/dist/esm/runtime/internals/operations/indexQuery.mjs +1 -1
  80. package/dist/esm/runtime/internals/operations/indexQuery.mjs.map +1 -1
  81. package/dist/esm/runtime/internals/operations/list.mjs.map +1 -1
  82. package/dist/esm/runtime/internals/operations/observeQuery.mjs.map +1 -1
  83. package/dist/esm/runtime/internals/operations/subscription.mjs.map +1 -1
  84. package/dist/esm/runtime/internals/operations/utils.mjs.map +1 -1
  85. package/dist/esm/runtime/internals/server/generateModelsProperty.mjs.map +1 -1
  86. package/dist/esm/runtime/internals/utils/clientProperties/generateConversationsProperty.mjs.map +1 -1
  87. package/dist/esm/runtime/internals/utils/clientProperties/generateEnumsProperty.mjs.map +1 -1
  88. package/dist/esm/runtime/internals/utils/clientProperties/generateGenerationsProperty.mjs.map +1 -1
  89. package/dist/esm/runtime/internals/utils/clientProperties/generateModelsProperty.mjs.map +1 -1
  90. package/dist/esm/runtime/internals/utils/runtimeTypeGuards/isGraphQLResponseWithErrors.mjs.map +1 -1
  91. package/dist/esm/runtime/utils/findIndexByFields.mjs.map +1 -1
  92. package/dist/esm/runtime/utils/resolveOwnerFields.mjs.map +1 -1
  93. package/dist/esm/runtime/utils/selfAwareAsync.mjs.map +1 -1
  94. package/dist/esm/util/Filters.d.ts +2 -2
  95. package/dist/meta/cjs.tsbuildinfo +1 -1
  96. package/package.json +2 -2
  97. package/src/util/Filters.ts +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"ModelSchema.mjs","sources":["../../src/ModelSchema.ts"],"sourcesContent":["import { isSchemaModelType, } from './ModelType';\nimport { processSchema } from './SchemaProcessor';\nimport { allow } from './Authorization';\nimport { brand, getBrand } from './util';\nexport const rdsSchemaBrandName = 'RDSSchema';\nexport const rdsSchemaBrand = brand(rdsSchemaBrandName);\nexport const ddbSchemaBrandName = 'DDBSchema';\nconst ddbSchemaBrand = brand(ddbSchemaBrandName);\n/**\n * Filter the schema types down to only include the ModelTypes as SchemaModelType\n *\n * @param schemaContents The object containing all SchemaContent for this schema\n * @returns Only the schemaContents that are ModelTypes, coerced to the SchemaModelType surface\n */\nconst filterSchemaModelTypes = (schemaContents) => {\n const modelTypes = {};\n if (schemaContents) {\n Object.entries(schemaContents).forEach(([key, content]) => {\n if (isSchemaModelType(content)) {\n modelTypes[key] = content;\n }\n });\n }\n return modelTypes;\n};\n/**\n * Model Schema type guard\n * @param schema - api-next ModelSchema or string\n * @returns true if the given value is a ModelSchema\n */\nexport const isModelSchema = (schema) => {\n return typeof schema === 'object' && schema.data !== undefined;\n};\n/**\n * Ensures that only supported entities are being added to the SQL schema through `addToSchema`\n * Models are not supported for brownfield SQL\n *\n * @param types - purposely widened to ModelSchemaContents, because we need to validate at runtime that a model is not being passed in here\n */\nfunction validateAddToSchema(types) {\n for (const [name, type] of Object.entries(types)) {\n if (getBrand(type) === 'modelType') {\n throw new Error(`Invalid value specified for ${name} in addToSchema(). Models cannot be manually added to a SQL schema.`);\n }\n }\n}\nfunction _rdsSchema(types, config) {\n const data = {\n types,\n authorization: [],\n configuration: config,\n };\n const models = filterSchemaModelTypes(data.types);\n return {\n data,\n models,\n transform() {\n const internalSchema = {\n data,\n context: this.context,\n };\n return processSchema({ schema: internalSchema });\n },\n authorization(callback) {\n const rules = callback(allow);\n this.data.authorization = Array.isArray(rules) ? rules : [rules];\n const { authorization: _, ...rest } = this;\n return rest;\n },\n addToSchema(types) {\n validateAddToSchema(types);\n this.data.types = { ...this.data.types, ...types };\n const { addToSchema: _, ...rest } = this;\n return rest;\n },\n addQueries(types) {\n this.data.types = { ...this.data.types, ...types };\n const { addQueries: _, ...rest } = this;\n return rest;\n },\n addMutations(types) {\n this.data.types = { ...this.data.types, ...types };\n const { addMutations: _, ...rest } = this;\n return rest;\n },\n addSubscriptions(types) {\n this.data.types = { ...this.data.types, ...types };\n const { addSubscriptions: _, ...rest } = this;\n return rest;\n },\n setAuthorization(callback) {\n callback(models, this);\n const { setAuthorization: _, ...rest } = this;\n return rest;\n },\n setRelationships(callback) {\n const { setRelationships: _, ...rest } = this;\n // The relationships are added via `models.<Model>.relationships`\n // modifiers that's being called within the callback. They are modifying\n // by references on each model, so there is not anything else to be done\n // here.\n callback(models);\n return rest;\n },\n renameModels(callback) {\n const { renameModels: _, ...rest } = this;\n // returns an array of tuples [curName, newName]\n const changeLog = callback();\n changeLog.forEach(([curName, newName]) => {\n const currentType = data.types[curName];\n if (currentType === undefined) {\n throw new Error(`Invalid renameModels call. ${curName} is not defined in the schema`);\n }\n if (typeof newName !== 'string' || newName.length < 1) {\n throw new Error(`Invalid renameModels call. New name must be a non-empty string. Received: \"${newName}\"`);\n }\n models[newName] = currentType;\n data.types[newName] = currentType;\n models[newName].data.originalName = curName;\n delete models[curName];\n delete data.types[curName];\n });\n return rest;\n },\n ...rdsSchemaBrand,\n };\n}\nfunction _ddbSchema(types, config) {\n const data = {\n types,\n authorization: [],\n configuration: config,\n };\n return {\n data,\n transform() {\n const internalSchema = {\n data,\n context: this.context,\n };\n return processSchema({ schema: internalSchema });\n },\n authorization(callback) {\n const rules = callback(allow);\n this.data.authorization = Array.isArray(rules) ? rules : [rules];\n const { authorization: _, ...rest } = this;\n return rest;\n },\n models: filterSchemaModelTypes(data.types),\n ...ddbSchemaBrand,\n };\n}\nfunction bindConfigToSchema(config) {\n return (types) => {\n return (config.database.engine === 'dynamodb'\n ? _ddbSchema(types, config)\n : _rdsSchema(types, config));\n };\n}\n/**\n * The API and data model definition for Amplify Data. Pass in `{ <NAME>: a.model(...) }` to create a database table\n * and exposes CRUDL operations via an API.\n * @param types The API and data model definition\n * @returns An API and data model definition to be deployed with Amplify (Gen 2) experience (`processSchema(...)`)\n * or with the Amplify Data CDK construct (`@aws-amplify/data-construct`)\n */\nexport const schema = bindConfigToSchema({ database: { engine: 'dynamodb' } });\n/**\n * Configure wraps schema definition with non-default config to allow usecases other than\n * the default DynamoDB use-case.\n *\n * @param config The SchemaConfig augments the schema with content like the database type\n * @returns\n */\nexport function configure(config) {\n return {\n schema: bindConfigToSchema(config),\n };\n}\nexport function isCustomPathData(obj) {\n return ('stack' in obj &&\n (typeof obj.stack === 'undefined' || typeof obj.stack === 'string') &&\n 'entry' in obj &&\n typeof obj.entry === 'string');\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ModelSchema.mjs","sources":["../../src/ModelSchema.ts"],"sourcesContent":["import { isSchemaModelType, } from './ModelType';\nimport { processSchema } from './SchemaProcessor';\nimport { allow } from './Authorization';\nimport { brand, getBrand } from './util';\nexport const rdsSchemaBrandName = 'RDSSchema';\nexport const rdsSchemaBrand = brand(rdsSchemaBrandName);\nexport const ddbSchemaBrandName = 'DDBSchema';\nconst ddbSchemaBrand = brand(ddbSchemaBrandName);\n/**\n * Filter the schema types down to only include the ModelTypes as SchemaModelType\n *\n * @param schemaContents The object containing all SchemaContent for this schema\n * @returns Only the schemaContents that are ModelTypes, coerced to the SchemaModelType surface\n */\nconst filterSchemaModelTypes = (schemaContents) => {\n const modelTypes = {};\n if (schemaContents) {\n Object.entries(schemaContents).forEach(([key, content]) => {\n if (isSchemaModelType(content)) {\n modelTypes[key] = content;\n }\n });\n }\n return modelTypes;\n};\n/**\n * Model Schema type guard\n * @param schema - api-next ModelSchema or string\n * @returns true if the given value is a ModelSchema\n */\nexport const isModelSchema = (schema) => {\n return typeof schema === 'object' && schema.data !== undefined;\n};\n/**\n * Ensures that only supported entities are being added to the SQL schema through `addToSchema`\n * Models are not supported for brownfield SQL\n *\n * @param types - purposely widened to ModelSchemaContents, because we need to validate at runtime that a model is not being passed in here\n */\nfunction validateAddToSchema(types) {\n for (const [name, type] of Object.entries(types)) {\n if (getBrand(type) === 'modelType') {\n throw new Error(`Invalid value specified for ${name} in addToSchema(). Models cannot be manually added to a SQL schema.`);\n }\n }\n}\nfunction _rdsSchema(types, config) {\n const data = {\n types,\n authorization: [],\n configuration: config,\n };\n const models = filterSchemaModelTypes(data.types);\n return {\n data,\n models,\n transform() {\n const internalSchema = {\n data,\n context: this.context,\n };\n return processSchema({ schema: internalSchema });\n },\n authorization(callback) {\n const rules = callback(allow);\n this.data.authorization = Array.isArray(rules) ? rules : [rules];\n const { authorization: _, ...rest } = this;\n return rest;\n },\n addToSchema(types) {\n validateAddToSchema(types);\n this.data.types = { ...this.data.types, ...types };\n const { addToSchema: _, ...rest } = this;\n return rest;\n },\n addQueries(types) {\n this.data.types = { ...this.data.types, ...types };\n const { addQueries: _, ...rest } = this;\n return rest;\n },\n addMutations(types) {\n this.data.types = { ...this.data.types, ...types };\n const { addMutations: _, ...rest } = this;\n return rest;\n },\n addSubscriptions(types) {\n this.data.types = { ...this.data.types, ...types };\n const { addSubscriptions: _, ...rest } = this;\n return rest;\n },\n setAuthorization(callback) {\n callback(models, this);\n const { setAuthorization: _, ...rest } = this;\n return rest;\n },\n setRelationships(callback) {\n const { setRelationships: _, ...rest } = this;\n // The relationships are added via `models.<Model>.relationships`\n // modifiers that's being called within the callback. They are modifying\n // by references on each model, so there is not anything else to be done\n // here.\n callback(models);\n return rest;\n },\n renameModels(callback) {\n const { renameModels: _, ...rest } = this;\n // returns an array of tuples [curName, newName]\n const changeLog = callback();\n changeLog.forEach(([curName, newName]) => {\n const currentType = data.types[curName];\n if (currentType === undefined) {\n throw new Error(`Invalid renameModels call. ${curName} is not defined in the schema`);\n }\n if (typeof newName !== 'string' || newName.length < 1) {\n throw new Error(`Invalid renameModels call. New name must be a non-empty string. Received: \"${newName}\"`);\n }\n models[newName] = currentType;\n data.types[newName] = currentType;\n models[newName].data.originalName = curName;\n delete models[curName];\n delete data.types[curName];\n });\n return rest;\n },\n ...rdsSchemaBrand,\n };\n}\nfunction _ddbSchema(types, config) {\n const data = {\n types,\n authorization: [],\n configuration: config,\n };\n return {\n data,\n transform() {\n const internalSchema = {\n data,\n context: this.context,\n };\n return processSchema({ schema: internalSchema });\n },\n authorization(callback) {\n const rules = callback(allow);\n this.data.authorization = Array.isArray(rules) ? rules : [rules];\n const { authorization: _, ...rest } = this;\n return rest;\n },\n models: filterSchemaModelTypes(data.types),\n ...ddbSchemaBrand,\n };\n}\nfunction bindConfigToSchema(config) {\n return (types) => {\n return (config.database.engine === 'dynamodb'\n ? _ddbSchema(types, config)\n : _rdsSchema(types, config));\n };\n}\n/**\n * The API and data model definition for Amplify Data. Pass in `{ <NAME>: a.model(...) }` to create a database table\n * and exposes CRUDL operations via an API.\n * @param types The API and data model definition\n * @returns An API and data model definition to be deployed with Amplify (Gen 2) experience (`processSchema(...)`)\n * or with the Amplify Data CDK construct (`@aws-amplify/data-construct`)\n */\nexport const schema = bindConfigToSchema({ database: { engine: 'dynamodb' } });\n/**\n * Configure wraps schema definition with non-default config to allow usecases other than\n * the default DynamoDB use-case.\n *\n * @param config The SchemaConfig augments the schema with content like the database type\n * @returns\n */\nexport function configure(config) {\n return {\n schema: bindConfigToSchema(config),\n };\n}\nexport function isCustomPathData(obj) {\n return ('stack' in obj &&\n (typeof obj.stack === 'undefined' || typeof obj.stack === 'string') &&\n 'entry' in obj &&\n typeof obj.entry === 'string');\n}\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ModelType.mjs","sources":["../../src/ModelType.ts"],"sourcesContent":["import { brand, } from './util';\nimport { allow, } from './Authorization';\nimport { modelIndex, } from './ModelIndex';\nconst brandName = 'modelType';\nfunction _model(fields) {\n const data = {\n fields,\n identifier: ['id'],\n secondaryIndexes: [],\n authorization: [],\n disabledOperations: [],\n };\n const builder = {\n identifier(identifier) {\n data.identifier = identifier;\n return this;\n },\n secondaryIndexes(callback) {\n data.secondaryIndexes = callback(modelIndex);\n return this;\n },\n disableOperations(ops) {\n data.disabledOperations = ops;\n return this;\n },\n authorization(callback) {\n const { resource: _, ...rest } = allow;\n const rules = callback(rest);\n data.authorization = Array.isArray(rules) ? rules : [rules];\n return this;\n },\n ...brand(brandName),\n };\n return {\n ...builder,\n data,\n relationships(relationships) {\n data.fields = { ...data.fields, ...relationships };\n },\n fields: data.fields,\n };\n}\n/**\n * Model Type type guard\n * @param modelType - api-next ModelType\n * @returns true if the given value is a ModelSchema\n */\nexport const isSchemaModelType = (modelType) => {\n const internalType = modelType;\n return (typeof internalType === 'object' &&\n internalType.data !== undefined &&\n internalType.data.fields !== undefined &&\n internalType.data.authorization !== undefined &&\n internalType.data.identifier !== undefined &&\n internalType.data.secondaryIndexes !== undefined &&\n typeof internalType.relationships === 'function');\n};\n/**\n * A data model that creates a matching Amazon DynamoDB table and provides create, read (list and get), update,\n * delete, and subscription APIs.\n *\n * @param fields database table fields. Supports scalar types and relationship types.\n * @returns a data model definition\n */\nexport function model(fields) {\n return _model(fields);\n}\n"],"names":[],"mappings":";;;;AAGA,MAAM,SAAS,GAAG,WAAW;AAC7B,SAAS,MAAM,CAAC,MAAM,EAAE;AACxB,IAAI,MAAM,IAAI,GAAG;AACjB,QAAQ,MAAM;AACd,QAAQ,UAAU,EAAE,CAAC,IAAI,CAAC;AAC1B,QAAQ,gBAAgB,EAAE,EAAE;AAC5B,QAAQ,aAAa,EAAE,EAAE;AACzB,QAAQ,kBAAkB,EAAE,EAAE;AAC9B,KAAK;AACL,IAAI,MAAM,OAAO,GAAG;AACpB,QAAQ,UAAU,CAAC,UAAU,EAAE;AAC/B,YAAY,IAAI,CAAC,UAAU,GAAG,UAAU;AACxC,YAAY,OAAO,IAAI;AACvB,SAAS;AACT,QAAQ,gBAAgB,CAAC,QAAQ,EAAE;AACnC,YAAY,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,UAAU,CAAC;AACxD,YAAY,OAAO,IAAI;AACvB,SAAS;AACT,QAAQ,iBAAiB,CAAC,GAAG,EAAE;AAC/B,YAAY,IAAI,CAAC,kBAAkB,GAAG,GAAG;AACzC,YAAY,OAAO,IAAI;AACvB,SAAS;AACT,QAAQ,aAAa,CAAC,QAAQ,EAAE;AAChC,YAAY,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK;AAClD,YAAY,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC;AACxC,YAAY,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,CAAC;AACvE,YAAY,OAAO,IAAI;AACvB,SAAS;AACT,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC;AAC3B,KAAK;AACL,IAAI,OAAO;AACX,QAAQ,GAAG,OAAO;AAClB,QAAQ,IAAI;AACZ,QAAQ,aAAa,CAAC,aAAa,EAAE;AACrC,YAAY,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,aAAa,EAAE;AAC9D,SAAS;AACT,QAAQ,MAAM,EAAE,IAAI,CAAC,MAAM;AAC3B,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,iBAAiB,GAAG,CAAC,SAAS,KAAK;AAChD,IAAI,MAAM,YAAY,GAAG,SAAS;AAClC,IAAI,QAAQ,OAAO,YAAY,KAAK,QAAQ;AAC5C,QAAQ,YAAY,CAAC,IAAI,KAAK,SAAS;AACvC,QAAQ,YAAY,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS;AAC9C,QAAQ,YAAY,CAAC,IAAI,CAAC,aAAa,KAAK,SAAS;AACrD,QAAQ,YAAY,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS;AAClD,QAAQ,YAAY,CAAC,IAAI,CAAC,gBAAgB,KAAK,SAAS;AACxD,QAAQ,OAAO,YAAY,CAAC,aAAa,KAAK,UAAU;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,KAAK,CAAC,MAAM,EAAE;AAC9B,IAAI,OAAO,MAAM,CAAC,MAAM,CAAC;AACzB;;;;"}
1
+ {"version":3,"file":"ModelType.mjs","sources":["../../src/ModelType.ts"],"sourcesContent":["import { brand, } from './util';\nimport { allow, } from './Authorization';\nimport { modelIndex, } from './ModelIndex';\nconst brandName = 'modelType';\nfunction _model(fields) {\n const data = {\n fields,\n identifier: ['id'],\n secondaryIndexes: [],\n authorization: [],\n disabledOperations: [],\n };\n const builder = {\n identifier(identifier) {\n data.identifier = identifier;\n return this;\n },\n secondaryIndexes(callback) {\n data.secondaryIndexes = callback(modelIndex);\n return this;\n },\n disableOperations(ops) {\n data.disabledOperations = ops;\n return this;\n },\n authorization(callback) {\n const { resource: _, ...rest } = allow;\n const rules = callback(rest);\n data.authorization = Array.isArray(rules) ? rules : [rules];\n return this;\n },\n ...brand(brandName),\n };\n return {\n ...builder,\n data,\n relationships(relationships) {\n data.fields = { ...data.fields, ...relationships };\n },\n fields: data.fields,\n };\n}\n/**\n * Model Type type guard\n * @param modelType - api-next ModelType\n * @returns true if the given value is a ModelSchema\n */\nexport const isSchemaModelType = (modelType) => {\n const internalType = modelType;\n return (typeof internalType === 'object' &&\n internalType.data !== undefined &&\n internalType.data.fields !== undefined &&\n internalType.data.authorization !== undefined &&\n internalType.data.identifier !== undefined &&\n internalType.data.secondaryIndexes !== undefined &&\n typeof internalType.relationships === 'function');\n};\n/**\n * A data model that creates a matching Amazon DynamoDB table and provides create, read (list and get), update,\n * delete, and subscription APIs.\n *\n * @param fields database table fields. Supports scalar types and relationship types.\n * @returns a data model definition\n */\nexport function model(fields) {\n return _model(fields);\n}\n"],"names":[],"mappings":";;;;AAGA,MAAM,SAAS,GAAG,WAAW;AAC7B,SAAS,MAAM,CAAC,MAAM,EAAE;AACxB,IAAI,MAAM,IAAI,GAAG;AACjB,QAAQ,MAAM;AACd,QAAQ,UAAU,EAAE,CAAC,IAAI,CAAC;AAC1B,QAAQ,gBAAgB,EAAE,EAAE;AAC5B,QAAQ,aAAa,EAAE,EAAE;AACzB,QAAQ,kBAAkB,EAAE,EAAE;AAC9B,KAAK;AACL,IAAI,MAAM,OAAO,GAAG;AACpB,QAAQ,UAAU,CAAC,UAAU,EAAE;AAC/B,YAAY,IAAI,CAAC,UAAU,GAAG,UAAU;AACxC,YAAY,OAAO,IAAI;AACvB,QAAQ,CAAC;AACT,QAAQ,gBAAgB,CAAC,QAAQ,EAAE;AACnC,YAAY,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,UAAU,CAAC;AACxD,YAAY,OAAO,IAAI;AACvB,QAAQ,CAAC;AACT,QAAQ,iBAAiB,CAAC,GAAG,EAAE;AAC/B,YAAY,IAAI,CAAC,kBAAkB,GAAG,GAAG;AACzC,YAAY,OAAO,IAAI;AACvB,QAAQ,CAAC;AACT,QAAQ,aAAa,CAAC,QAAQ,EAAE;AAChC,YAAY,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK;AAClD,YAAY,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC;AACxC,YAAY,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,CAAC;AACvE,YAAY,OAAO,IAAI;AACvB,QAAQ,CAAC;AACT,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC;AAC3B,KAAK;AACL,IAAI,OAAO;AACX,QAAQ,GAAG,OAAO;AAClB,QAAQ,IAAI;AACZ,QAAQ,aAAa,CAAC,aAAa,EAAE;AACrC,YAAY,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,aAAa,EAAE;AAC9D,QAAQ,CAAC;AACT,QAAQ,MAAM,EAAE,IAAI,CAAC,MAAM;AAC3B,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,iBAAiB,GAAG,CAAC,SAAS,KAAK;AAChD,IAAI,MAAM,YAAY,GAAG,SAAS;AAClC,IAAI,QAAQ,OAAO,YAAY,KAAK,QAAQ;AAC5C,QAAQ,YAAY,CAAC,IAAI,KAAK,SAAS;AACvC,QAAQ,YAAY,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS;AAC9C,QAAQ,YAAY,CAAC,IAAI,CAAC,aAAa,KAAK,SAAS;AACrD,QAAQ,YAAY,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS;AAClD,QAAQ,YAAY,CAAC,IAAI,CAAC,gBAAgB,KAAK,SAAS;AACxD,QAAQ,OAAO,YAAY,CAAC,aAAa,KAAK,UAAU;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,KAAK,CAAC,MAAM,EAAE;AAC9B,IAAI,OAAO,MAAM,CAAC,MAAM,CAAC;AACzB;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"RefType.mjs","sources":["../../src/RefType.ts"],"sourcesContent":["import { allow } from './Authorization';\nimport { __auth } from './ModelField';\nconst brandName = 'ref';\nfunction brandedBuilder(builder) {\n return builder;\n}\nfunction _ref(link) {\n const data = {\n type: 'ref',\n link,\n valueRequired: false,\n array: false,\n arrayRequired: false,\n mutationOperations: [],\n authorization: [],\n };\n const builder = brandedBuilder({\n required() {\n if (data.array) {\n data.arrayRequired = true;\n }\n else {\n data.valueRequired = true;\n }\n return this;\n },\n array() {\n data.array = true;\n return this;\n },\n authorization(callback) {\n const rules = callback(allow);\n data.authorization = Array.isArray(rules) ? rules : [rules];\n return this;\n },\n mutations(operations) {\n data.mutationOperations = operations;\n return this;\n },\n });\n return { ...builder, data };\n}\nexport function ref(link) {\n return _ref(link);\n}\n"],"names":[],"mappings":";;;AAGA,SAAS,cAAc,CAAC,OAAO,EAAE;AACjC,IAAI,OAAO,OAAO;AAClB;AACA,SAAS,IAAI,CAAC,IAAI,EAAE;AACpB,IAAI,MAAM,IAAI,GAAG;AACjB,QAAQ,IAAI,EAAE,KAAK;AACnB,QAAQ,IAAI;AACZ,QAAQ,aAAa,EAAE,KAAK;AAC5B,QAAQ,KAAK,EAAE,KAAK;AACpB,QAAQ,aAAa,EAAE,KAAK;AAC5B,QAAQ,kBAAkB,EAAE,EAAE;AAC9B,QAAQ,aAAa,EAAE,EAAE;AACzB,KAAK;AACL,IAAI,MAAM,OAAO,GAAG,cAAc,CAAC;AACnC,QAAQ,QAAQ,GAAG;AACnB,YAAY,IAAI,IAAI,CAAC,KAAK,EAAE;AAC5B,gBAAgB,IAAI,CAAC,aAAa,GAAG,IAAI;AACzC;AACA,iBAAiB;AACjB,gBAAgB,IAAI,CAAC,aAAa,GAAG,IAAI;AACzC;AACA,YAAY,OAAO,IAAI;AACvB,SAAS;AACT,QAAQ,KAAK,GAAG;AAChB,YAAY,IAAI,CAAC,KAAK,GAAG,IAAI;AAC7B,YAAY,OAAO,IAAI;AACvB,SAAS;AACT,QAAQ,aAAa,CAAC,QAAQ,EAAE;AAChC,YAAY,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;AACzC,YAAY,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,CAAC;AACvE,YAAY,OAAO,IAAI;AACvB,SAAS;AACT,QAAQ,SAAS,CAAC,UAAU,EAAE;AAC9B,YAAY,IAAI,CAAC,kBAAkB,GAAG,UAAU;AAChD,YAAY,OAAO,IAAI;AACvB,SAAS;AACT,KAAK,CAAC;AACN,IAAI,OAAO,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE;AAC/B;AACO,SAAS,GAAG,CAAC,IAAI,EAAE;AAC1B,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC;AACrB;;;;"}
1
+ {"version":3,"file":"RefType.mjs","sources":["../../src/RefType.ts"],"sourcesContent":["import { allow } from './Authorization';\nimport { __auth } from './ModelField';\nconst brandName = 'ref';\nfunction brandedBuilder(builder) {\n return builder;\n}\nfunction _ref(link) {\n const data = {\n type: 'ref',\n link,\n valueRequired: false,\n array: false,\n arrayRequired: false,\n mutationOperations: [],\n authorization: [],\n };\n const builder = brandedBuilder({\n required() {\n if (data.array) {\n data.arrayRequired = true;\n }\n else {\n data.valueRequired = true;\n }\n return this;\n },\n array() {\n data.array = true;\n return this;\n },\n authorization(callback) {\n const rules = callback(allow);\n data.authorization = Array.isArray(rules) ? rules : [rules];\n return this;\n },\n mutations(operations) {\n data.mutationOperations = operations;\n return this;\n },\n });\n return { ...builder, data };\n}\nexport function ref(link) {\n return _ref(link);\n}\n"],"names":[],"mappings":";;;AAGA,SAAS,cAAc,CAAC,OAAO,EAAE;AACjC,IAAI,OAAO,OAAO;AAClB;AACA,SAAS,IAAI,CAAC,IAAI,EAAE;AACpB,IAAI,MAAM,IAAI,GAAG;AACjB,QAAQ,IAAI,EAAE,KAAK;AACnB,QAAQ,IAAI;AACZ,QAAQ,aAAa,EAAE,KAAK;AAC5B,QAAQ,KAAK,EAAE,KAAK;AACpB,QAAQ,aAAa,EAAE,KAAK;AAC5B,QAAQ,kBAAkB,EAAE,EAAE;AAC9B,QAAQ,aAAa,EAAE,EAAE;AACzB,KAAK;AACL,IAAI,MAAM,OAAO,GAAG,cAAc,CAAC;AACnC,QAAQ,QAAQ,GAAG;AACnB,YAAY,IAAI,IAAI,CAAC,KAAK,EAAE;AAC5B,gBAAgB,IAAI,CAAC,aAAa,GAAG,IAAI;AACzC,YAAY;AACZ,iBAAiB;AACjB,gBAAgB,IAAI,CAAC,aAAa,GAAG,IAAI;AACzC,YAAY;AACZ,YAAY,OAAO,IAAI;AACvB,QAAQ,CAAC;AACT,QAAQ,KAAK,GAAG;AAChB,YAAY,IAAI,CAAC,KAAK,GAAG,IAAI;AAC7B,YAAY,OAAO,IAAI;AACvB,QAAQ,CAAC;AACT,QAAQ,aAAa,CAAC,QAAQ,EAAE;AAChC,YAAY,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;AACzC,YAAY,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,CAAC;AACvE,YAAY,OAAO,IAAI;AACvB,QAAQ,CAAC;AACT,QAAQ,SAAS,CAAC,UAAU,EAAE;AAC9B,YAAY,IAAI,CAAC,kBAAkB,GAAG,UAAU;AAChD,YAAY,OAAO,IAAI;AACvB,QAAQ,CAAC;AACT,KAAK,CAAC;AACN,IAAI,OAAO,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE;AAC/B;AACO,SAAS,GAAG,CAAC,IAAI,EAAE;AAC1B,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC;AACrB;;;;"}