@aws-amplify/api-graphql 4.0.16 → 4.0.17-unstable.3d2803e.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/dist/cjs/internals/APIClient.js +0 -1
  2. package/dist/cjs/internals/APIClient.js.map +1 -1
  3. package/dist/cjs/internals/InternalGraphQLAPI.js +7 -2
  4. package/dist/cjs/internals/InternalGraphQLAPI.js.map +1 -1
  5. package/dist/cjs/internals/generateClient.js +20 -18
  6. package/dist/cjs/internals/generateClient.js.map +1 -1
  7. package/dist/cjs/internals/utils/generateEnumsProperty.js +21 -0
  8. package/dist/cjs/internals/utils/generateEnumsProperty.js.map +1 -0
  9. package/dist/cjs/internals/{generateModelsProperty.js → utils/generateModelsProperty.js} +9 -9
  10. package/dist/cjs/internals/utils/generateModelsProperty.js.map +1 -0
  11. package/dist/cjs/internals/utils/isApiGraphQLProviderConfig.js +11 -0
  12. package/dist/cjs/internals/utils/isApiGraphQLProviderConfig.js.map +1 -0
  13. package/dist/cjs/internals/utils/isConfigureEventWithResourceConfig.js +11 -0
  14. package/dist/cjs/internals/utils/isConfigureEventWithResourceConfig.js.map +1 -0
  15. package/dist/esm/internals/APIClient.mjs +0 -1
  16. package/dist/esm/internals/APIClient.mjs.map +1 -1
  17. package/dist/esm/internals/InternalGraphQLAPI.mjs +7 -2
  18. package/dist/esm/internals/InternalGraphQLAPI.mjs.map +1 -1
  19. package/dist/esm/internals/generateClient.mjs +20 -18
  20. package/dist/esm/internals/generateClient.mjs.map +1 -1
  21. package/dist/esm/internals/utils/generateEnumsProperty.d.ts +3 -0
  22. package/dist/esm/internals/utils/generateEnumsProperty.mjs +18 -0
  23. package/dist/esm/internals/utils/generateEnumsProperty.mjs.map +1 -0
  24. package/dist/esm/internals/utils/generateModelsProperty.d.ts +4 -0
  25. package/dist/esm/internals/{generateModelsProperty.mjs → utils/generateModelsProperty.mjs} +9 -9
  26. package/dist/esm/internals/utils/generateModelsProperty.mjs.map +1 -0
  27. package/dist/esm/internals/utils/isApiGraphQLProviderConfig.d.ts +2 -0
  28. package/dist/esm/internals/utils/isApiGraphQLProviderConfig.mjs +8 -0
  29. package/dist/esm/internals/utils/isApiGraphQLProviderConfig.mjs.map +1 -0
  30. package/dist/esm/internals/utils/isConfigureEventWithResourceConfig.d.ts +8 -0
  31. package/dist/esm/internals/utils/isConfigureEventWithResourceConfig.mjs +8 -0
  32. package/dist/esm/internals/utils/isConfigureEventWithResourceConfig.mjs.map +1 -0
  33. package/dist/esm/types/index.d.ts +2 -1
  34. package/dist/esm/utils/resolveLibraryOptions.d.ts +4 -1
  35. package/package.json +5 -5
  36. package/src/internals/APIClient.ts +0 -2
  37. package/src/internals/InternalGraphQLAPI.ts +24 -19
  38. package/src/internals/generateClient.ts +23 -35
  39. package/src/internals/utils/generateEnumsProperty.ts +33 -0
  40. package/src/internals/{generateModelsProperty.ts → utils/generateModelsProperty.ts} +14 -12
  41. package/src/internals/utils/isApiGraphQLProviderConfig.ts +10 -0
  42. package/src/internals/utils/isConfigureEventWithResourceConfig.ts +13 -0
  43. package/src/types/index.ts +2 -1
  44. package/dist/cjs/internals/generateModelsProperty.js.map +0 -1
  45. package/dist/esm/internals/generateModelsProperty.d.ts +0 -4
  46. package/dist/esm/internals/generateModelsProperty.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"APIClient.mjs","sources":["../../../src/internals/APIClient.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { resolveOwnerFields } from '../utils/resolveOwnerFields';\nimport { __authMode, __authToken, __headers, } from '../types';\nconst connectionType = {\n HAS_ONE: 'HAS_ONE',\n HAS_MANY: 'HAS_MANY',\n BELONGS_TO: 'BELONGS_TO',\n};\n/**\n *\n * @param GraphQL response object\n * @returns response object with `items` properties flattened\n */\nexport const flattenItems = (obj) => {\n const res = {};\n Object.entries(obj).forEach(([prop, value]) => {\n if (typeof value === 'object' && !Array.isArray(value) && value !== null) {\n if (value.items !== undefined) {\n res[prop] = value.items.map((item) => flattenItems(item));\n return;\n }\n res[prop] = flattenItems(value);\n return;\n }\n res[prop] = value;\n });\n return res;\n};\n// TODO: this should accept single result to support CRUD methods; create helper for array/list\nexport function initializeModel(client, modelName, result, modelIntrospection, authMode, authToken, context = false) {\n const introModel = modelIntrospection.models[modelName];\n const introModelFields = introModel.fields;\n const modelFields = Object.entries(introModelFields)\n .filter(([_, field]) => field?.type?.model !== undefined)\n .map(([fieldName]) => fieldName);\n return result.map(record => {\n const initializedRelationalFields = {};\n for (const fieldName of modelFields) {\n const modelField = introModelFields[fieldName];\n const modelFieldType = modelField?.type;\n const relatedModelName = modelFieldType.model;\n const relatedModel = modelIntrospection.models[relatedModelName];\n const relatedModelPKFieldName = relatedModel.primaryKeyInfo.primaryKeyFieldName;\n const relatedModelSKFieldNames = relatedModel.primaryKeyInfo.sortKeyFieldNames;\n const relationType = modelField.association?.connectionType;\n let connectionFields = [];\n if (modelField.association &&\n 'associatedWith' in modelField.association) {\n connectionFields = modelField.association.associatedWith;\n }\n let targetNames = [];\n if (modelField.association && 'targetNames' in modelField.association) {\n targetNames = modelField.association.targetNames;\n }\n switch (relationType) {\n case connectionType.HAS_ONE:\n case connectionType.BELONGS_TO:\n const sortKeyValues = relatedModelSKFieldNames.reduce((acc, curVal) => {\n if (record[curVal]) {\n return (acc[curVal] = record[curVal]);\n }\n }, {});\n if (context) {\n initializedRelationalFields[fieldName] = (contextSpec, options) => {\n if (record[targetNames[0]]) {\n return client.models[relatedModelName].get(contextSpec, {\n [relatedModelPKFieldName]: record[targetNames[0]],\n ...sortKeyValues,\n }, {\n authMode: options?.authMode || authMode,\n authToken: options?.authToken || authToken,\n });\n }\n return undefined;\n };\n }\n else {\n initializedRelationalFields[fieldName] = (options) => {\n if (record[targetNames[0]]) {\n return client.models[relatedModelName].get({\n [relatedModelPKFieldName]: record[targetNames[0]],\n ...sortKeyValues,\n }, {\n authMode: options?.authMode || authMode,\n authToken: options?.authToken || authToken,\n });\n }\n return undefined;\n };\n }\n break;\n case connectionType.HAS_MANY:\n const parentPk = introModel.primaryKeyInfo.primaryKeyFieldName;\n const parentSK = introModel.primaryKeyInfo.sortKeyFieldNames;\n // M:N check - TODO: refactor\n const relatedModelField = relatedModel.fields[connectionFields[0]];\n const relatedModelFieldType = relatedModelField.type;\n if (relatedModelFieldType.model) {\n let relatedTargetNames = [];\n if (relatedModelField.association &&\n 'targetNames' in relatedModelField.association) {\n relatedTargetNames = relatedModelField.association?.targetNames;\n }\n const hasManyFilter = relatedTargetNames.map((field, idx) => {\n if (idx === 0) {\n return { [field]: { eq: record[parentPk] } };\n }\n return { [field]: { eq: record[parentSK[idx - 1]] } };\n });\n if (context) {\n initializedRelationalFields[fieldName] = (contextSpec, options) => {\n if (record[parentPk]) {\n return client.models[relatedModelName].list(contextSpec, {\n filter: { and: hasManyFilter },\n limit: options?.limit,\n nextToken: options?.nextToken,\n authMode: options?.authMode || authMode,\n authToken: options?.authToken || authToken,\n });\n }\n return [];\n };\n }\n else {\n initializedRelationalFields[fieldName] = (options) => {\n if (record[parentPk]) {\n return client.models[relatedModelName].list({\n filter: { and: hasManyFilter },\n limit: options?.limit,\n nextToken: options?.nextToken,\n authMode: options?.authMode || authMode,\n authToken: options?.authToken || authToken,\n });\n }\n return [];\n };\n }\n break;\n }\n const hasManyFilter = connectionFields.map((field, idx) => {\n if (idx === 0) {\n return { [field]: { eq: record[parentPk] } };\n }\n return { [field]: { eq: record[parentSK[idx - 1]] } };\n });\n if (context) {\n initializedRelationalFields[fieldName] = (contextSpec, options) => {\n if (record[parentPk]) {\n return client.models[relatedModelName].list(contextSpec, {\n filter: { and: hasManyFilter },\n limit: options?.limit,\n nextToken: options?.nextToken,\n authMode: options?.authMode || authMode,\n authToken: options?.authToken || authToken,\n });\n }\n return [];\n };\n }\n else {\n initializedRelationalFields[fieldName] = (options) => {\n if (record[parentPk]) {\n return client.models[relatedModelName].list({\n filter: { and: hasManyFilter },\n limit: options?.limit,\n nextToken: options?.nextToken,\n authMode: options?.authMode || authMode,\n authToken: options?.authToken || authToken,\n });\n }\n return [];\n };\n }\n break;\n default:\n break;\n }\n }\n return { ...record, ...initializedRelationalFields };\n });\n}\nexport const graphQLOperationsInfo = {\n CREATE: { operationPrefix: 'create', usePlural: false },\n READ: { operationPrefix: 'get', usePlural: false },\n UPDATE: { operationPrefix: 'update', usePlural: false },\n DELETE: { operationPrefix: 'delete', usePlural: false },\n LIST: { operationPrefix: 'list', usePlural: true },\n INDEX_QUERY: { operationPrefix: '', usePlural: false },\n ONCREATE: { operationPrefix: 'onCreate', usePlural: false },\n ONUPDATE: { operationPrefix: 'onUpdate', usePlural: false },\n ONDELETE: { operationPrefix: 'onDelete', usePlural: false },\n OBSERVE_QUERY: { operationPrefix: 'observeQuery', usePlural: false },\n};\nconst SELECTION_SET_WILDCARD = '*';\nfunction defaultSelectionSetForModel(modelDefinition) {\n // fields that are explicitly part of the graphql schema; not\n // inferred from owner auth rules.\n const { fields } = modelDefinition;\n const explicitFields = Object.values(fields)\n // Default selection set omits model fields\n .map(({ type, name }) => (typeof type === 'string' ||\n (typeof type === 'object' && typeof type?.enum === 'string')) &&\n name)\n .filter(Boolean);\n // fields used for owner auth rules that may or may not also\n // be explicit on the model.\n const ownerFields = resolveOwnerFields(modelDefinition);\n return Array.from(new Set(explicitFields.concat(ownerFields)));\n}\nconst FIELD_IR = '';\n/**\n * Generates nested Custom Selection Set IR from path\n *\n * @param modelDefinitions\n * @param modelName\n * @param selectionSet - array of object paths\n * @example\n * ### Given\n * `selectionSet = ['id', 'comments.post.id']`\n * ### Returns\n * ```ts\n * {\n * id: '',\n * comments: {\n * items: { post: { id: '' } }\n * }\n * }\n * ```\n */\nexport function customSelectionSetToIR(modelDefinitions, modelName, selectionSet) {\n const dotNotationToObject = (path, modelName) => {\n const [fieldName, ...rest] = path.split('.');\n let result = {};\n if (rest.length === 0) {\n result = { [fieldName]: FIELD_IR };\n }\n else {\n const nested = rest[0];\n const modelDefinition = modelDefinitions[modelName];\n const modelFields = modelDefinition.fields;\n const relatedModel = modelFields[fieldName]?.type\n ?.model;\n if (!relatedModel) {\n // TODO: may need to change this to support custom types\n throw Error(`${fieldName} is not a model field`);\n }\n if (nested === SELECTION_SET_WILDCARD) {\n const relatedModelDefinition = modelDefinitions[relatedModel];\n result = {\n [fieldName]: defaultSelectionSetIR(relatedModelDefinition),\n };\n }\n else {\n const exists = Boolean(modelFields[fieldName]);\n if (!exists) {\n throw Error(`${fieldName} is not a field of model ${modelName}`);\n }\n result = {\n [fieldName]: dotNotationToObject(rest.join('.'), relatedModel),\n };\n }\n if (modelFields[fieldName]?.isArray) {\n result = {\n [fieldName]: {\n items: result[fieldName],\n },\n };\n }\n }\n return result;\n };\n return selectionSet.reduce((resultObj, path) => deepMergeSelectionSetObjects(dotNotationToObject(path, modelName), resultObj), {});\n}\nconst defaultSelectionSetIR = (relatedModelDefinition) => {\n const defaultSelectionSet = defaultSelectionSetForModel(relatedModelDefinition);\n const reduced = defaultSelectionSet.reduce((acc, curVal) => {\n acc[curVal] = FIELD_IR;\n return acc;\n }, {});\n return reduced;\n};\n/**\n * Stringifies selection set IR\n * * @example\n * ### Given\n * ```ts\n * {\n * id: '',\n * comments: {\n * items: { post: { id: '' } }\n * }\n * }\n * ```\n * ### Returns\n * `'id comments { items { post { id } } }'`\n */\nexport function selectionSetIRToString(obj) {\n const res = [];\n Object.entries(obj).forEach(([fieldName, value]) => {\n if (value === FIELD_IR) {\n res.push(fieldName);\n }\n else if (typeof value === 'object' && value !== null) {\n if (value?.items) {\n res.push(fieldName, '{', 'items', '{', selectionSetIRToString(value.items), '}', '}');\n }\n else {\n res.push(fieldName, '{', selectionSetIRToString(value), '}');\n }\n }\n });\n return res.join(' ');\n}\n/**\n * Recursively merges selection set objects from `source` onto `target`.\n *\n * `target` will be updated. `source` will be left alone.\n *\n * @param source The object to merge into target.\n * @param target The object to be mutated.\n */\nfunction deepMergeSelectionSetObjects(source, target) {\n const isObject = (obj) => obj && typeof obj === 'object';\n for (const key in source) {\n // This verification avoids 'Prototype Pollution' issue\n if (!source.hasOwnProperty(key))\n continue;\n if (target.hasOwnProperty(key) && isObject(target[key])) {\n deepMergeSelectionSetObjects(source[key], target[key]);\n }\n else {\n target[key] = source[key];\n }\n }\n return target;\n}\nexport function generateSelectionSet(modelDefinitions, modelName, selectionSet) {\n const modelDefinition = modelDefinitions[modelName];\n if (!selectionSet) {\n return defaultSelectionSetForModel(modelDefinition).join(' ');\n }\n const selSetIr = customSelectionSetToIR(modelDefinitions, modelName, selectionSet);\n const selSetString = selectionSetIRToString(selSetIr);\n return selSetString;\n}\nexport function generateGraphQLDocument(modelDefinitions, modelName, modelOperation, listArgs, indexMeta) {\n const modelDefinition = modelDefinitions[modelName];\n const { name, pluralName, fields, primaryKeyInfo: { isCustomPrimaryKey, primaryKeyFieldName, sortKeyFieldNames, }, } = modelDefinition;\n const { operationPrefix, usePlural } = graphQLOperationsInfo[modelOperation];\n const { selectionSet } = listArgs || {};\n let graphQLFieldName;\n let indexQueryArgs;\n if (operationPrefix) {\n graphQLFieldName = `${operationPrefix}${usePlural ? pluralName : name}`;\n }\n else if (indexMeta) {\n const { queryField, pk, sk = [] } = indexMeta;\n graphQLFieldName = queryField;\n const skQueryArgs = sk.reduce((acc, fieldName) => {\n const fieldType = fields[fieldName].type;\n acc[fieldName] = `Model${fieldType}KeyConditionInput`;\n return acc;\n }, {});\n indexQueryArgs = {\n [pk]: `${fields[pk].type}!`,\n ...skQueryArgs,\n };\n }\n else {\n throw new Error('Error generating GraphQL Document - invalid operation name');\n }\n console.log('indexQueryArgs', indexQueryArgs);\n let graphQLOperationType;\n let graphQLSelectionSet;\n let graphQLArguments;\n const selectionSetFields = generateSelectionSet(modelDefinitions, modelName, selectionSet);\n switch (modelOperation) {\n case 'CREATE':\n case 'UPDATE':\n case 'DELETE':\n graphQLArguments ??\n (graphQLArguments = {\n input: `${operationPrefix.charAt(0).toLocaleUpperCase() +\n operationPrefix.slice(1)}${name}Input!`,\n });\n graphQLOperationType ?? (graphQLOperationType = 'mutation');\n case 'READ':\n graphQLArguments ??\n (graphQLArguments = isCustomPrimaryKey\n ? [primaryKeyFieldName, ...sortKeyFieldNames].reduce((acc, fieldName) => {\n acc[fieldName] = `${fields[fieldName].type}!`;\n return acc;\n }, {})\n : {\n [primaryKeyFieldName]: `${fields[primaryKeyFieldName].type}!`,\n });\n graphQLSelectionSet ?? (graphQLSelectionSet = selectionSetFields);\n case 'LIST':\n graphQLArguments ??\n (graphQLArguments = {\n filter: `Model${name}FilterInput`,\n limit: 'Int',\n nextToken: 'String',\n });\n graphQLOperationType ?? (graphQLOperationType = 'query');\n graphQLSelectionSet ??\n (graphQLSelectionSet = `items { ${selectionSetFields} } nextToken __typename`);\n case 'INDEX_QUERY':\n graphQLArguments ??\n (graphQLArguments = {\n ...indexQueryArgs,\n filter: `Model${name}FilterInput`,\n limit: 'Int',\n nextToken: 'String',\n });\n graphQLOperationType ?? (graphQLOperationType = 'query');\n graphQLSelectionSet ??\n (graphQLSelectionSet = `items { ${selectionSetFields} } nextToken __typename`);\n case 'ONCREATE':\n case 'ONUPDATE':\n case 'ONDELETE':\n graphQLArguments ??\n (graphQLArguments = {\n filter: `ModelSubscription${name}FilterInput`,\n });\n graphQLOperationType ?? (graphQLOperationType = 'subscription');\n graphQLSelectionSet ?? (graphQLSelectionSet = selectionSetFields);\n break;\n case 'OBSERVE_QUERY':\n default:\n throw new Error('Internal error: Attempted to generate graphql document for observeQuery. Please report this error.');\n }\n const graphQLDocument = `${graphQLOperationType}${graphQLArguments\n ? `(${Object.entries(graphQLArguments).map(([fieldName, type]) => `\\$${fieldName}: ${type}`)})`\n : ''} { ${graphQLFieldName}${graphQLArguments\n ? `(${Object.keys(graphQLArguments).map(fieldName => `${fieldName}: \\$${fieldName}`)})`\n : ''} { ${graphQLSelectionSet} } }`;\n return graphQLDocument;\n}\nexport function buildGraphQLVariables(modelDefinition, operation, arg, modelIntrospection, indexMeta) {\n const { fields, primaryKeyInfo: { isCustomPrimaryKey, primaryKeyFieldName, sortKeyFieldNames, }, } = modelDefinition;\n let variables = {};\n // TODO: process input\n switch (operation) {\n case 'CREATE':\n variables = {\n input: arg\n ? normalizeMutationInput(arg, modelDefinition, modelIntrospection)\n : {},\n };\n break;\n case 'UPDATE':\n // readonly fields are not updated\n variables = {\n input: arg\n ? Object.fromEntries(Object.entries(normalizeMutationInput(arg, modelDefinition, modelIntrospection)).filter(([fieldName]) => {\n const { isReadOnly } = fields[fieldName];\n return !isReadOnly;\n }))\n : {},\n };\n break;\n case 'READ':\n case 'DELETE':\n // only identifiers are sent\n if (arg) {\n variables = isCustomPrimaryKey\n ? [primaryKeyFieldName, ...sortKeyFieldNames].reduce((acc, fieldName) => {\n acc[fieldName] = arg[fieldName];\n return acc;\n }, {})\n : { [primaryKeyFieldName]: arg[primaryKeyFieldName] };\n }\n if (operation === 'DELETE') {\n variables = { input: variables };\n }\n break;\n case 'LIST':\n if (arg?.filter) {\n variables.filter = arg.filter;\n }\n if (arg?.nextToken) {\n variables.nextToken = arg.nextToken;\n }\n if (arg?.limit) {\n variables.limit = arg.limit;\n }\n break;\n case 'INDEX_QUERY':\n const { pk, sk = [] } = indexMeta;\n variables[pk] = arg[pk];\n for (const skField of sk) {\n variables[skField] = arg[skField];\n }\n if (arg?.filter) {\n variables.filter = arg.filter;\n }\n if (arg?.nextToken) {\n variables.nextToken = arg.nextToken;\n }\n if (arg?.limit) {\n variables.limit = arg.limit;\n }\n break;\n case 'ONCREATE':\n case 'ONUPDATE':\n case 'ONDELETE':\n if (arg?.filter) {\n variables = { filter: arg.filter };\n }\n break;\n case 'OBSERVE_QUERY':\n throw new Error('Internal error: Attempted to build variables for observeQuery. Please report this error.');\n break;\n default:\n const exhaustiveCheck = operation;\n throw new Error(`Unhandled operation case: ${exhaustiveCheck}`);\n }\n return variables;\n}\n/**\n * Iterates over mutation input values and resolves any model inputs to their corresponding join fields/values\n *\n * @example\n * ### Usage\n * ```ts\n * const result = normalizeMutationInput({ post: post }, model, modelDefinition);\n * ```\n * ### Result\n * ```ts\n * { postId: \"abc123\" }\n * ```\n *\n */\nexport function normalizeMutationInput(mutationInput, model, modelIntrospection) {\n const { fields } = model;\n const normalized = {};\n Object.entries(mutationInput).forEach(([inputFieldName, inputValue]) => {\n const fieldType = fields[inputFieldName]?.type;\n const relatedModelName = fieldType?.model;\n if (relatedModelName) {\n const association = fields[inputFieldName]?.association;\n const relatedModelDef = modelIntrospection.models[relatedModelName];\n const relatedModelPkInfo = relatedModelDef.primaryKeyInfo;\n if (association?.connectionType === connectionType.HAS_ONE) {\n const associationHasOne = association;\n associationHasOne.targetNames.forEach((targetName, idx) => {\n const associatedFieldName = associationHasOne.associatedWith[idx];\n normalized[targetName] = inputValue[associatedFieldName];\n });\n }\n if (association?.connectionType === connectionType.BELONGS_TO) {\n const associationBelongsTo = association;\n associationBelongsTo.targetNames.forEach((targetName, idx) => {\n if (idx === 0) {\n const associatedFieldName = relatedModelPkInfo.primaryKeyFieldName;\n normalized[targetName] = inputValue[associatedFieldName];\n }\n else {\n const associatedFieldName = relatedModelPkInfo.sortKeyFieldNames[idx - 1];\n normalized[targetName] = inputValue[associatedFieldName];\n }\n });\n }\n }\n else {\n normalized[inputFieldName] = inputValue;\n }\n });\n return normalized;\n}\n/**\n * Produces a parameter object that can contains auth mode/token overrides\n * only if present in either `options` (first) or configured on the `client`\n * as a fallback.\n *\n * @param client Configured client from `generateClient`\n * @param options Args/Options obect from call site.\n * @returns\n */\nexport function authModeParams(client, options = {}) {\n return {\n authMode: options.authMode || client[__authMode],\n authToken: options.authToken || client[__authToken],\n };\n}\n/**\n * Retrieves custom headers from either the client or request options.\n * @param {client} V6Client | V6ClientSSRRequest | V6ClientSSRCookies - for extracting client headers\n * @param {requestHeaders} [CustomHeaders] - request headers\n * @returns {CustomHeaders} - custom headers\n */\nexport function getCustomHeaders(client, requestHeaders) {\n let headers = client[__headers] || {};\n // Individual request headers will take precedence over client headers.\n // We intentionally do *not* merge client and request headers.\n if (requestHeaders) {\n headers = requestHeaders;\n }\n return headers;\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"APIClient.mjs","sources":["../../../src/internals/APIClient.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { resolveOwnerFields } from '../utils/resolveOwnerFields';\nimport { __authMode, __authToken, __headers, } from '../types';\nconst connectionType = {\n HAS_ONE: 'HAS_ONE',\n HAS_MANY: 'HAS_MANY',\n BELONGS_TO: 'BELONGS_TO',\n};\n/**\n *\n * @param GraphQL response object\n * @returns response object with `items` properties flattened\n */\nexport const flattenItems = (obj) => {\n const res = {};\n Object.entries(obj).forEach(([prop, value]) => {\n if (typeof value === 'object' && !Array.isArray(value) && value !== null) {\n if (value.items !== undefined) {\n res[prop] = value.items.map((item) => flattenItems(item));\n return;\n }\n res[prop] = flattenItems(value);\n return;\n }\n res[prop] = value;\n });\n return res;\n};\n// TODO: this should accept single result to support CRUD methods; create helper for array/list\nexport function initializeModel(client, modelName, result, modelIntrospection, authMode, authToken, context = false) {\n const introModel = modelIntrospection.models[modelName];\n const introModelFields = introModel.fields;\n const modelFields = Object.entries(introModelFields)\n .filter(([_, field]) => field?.type?.model !== undefined)\n .map(([fieldName]) => fieldName);\n return result.map(record => {\n const initializedRelationalFields = {};\n for (const fieldName of modelFields) {\n const modelField = introModelFields[fieldName];\n const modelFieldType = modelField?.type;\n const relatedModelName = modelFieldType.model;\n const relatedModel = modelIntrospection.models[relatedModelName];\n const relatedModelPKFieldName = relatedModel.primaryKeyInfo.primaryKeyFieldName;\n const relatedModelSKFieldNames = relatedModel.primaryKeyInfo.sortKeyFieldNames;\n const relationType = modelField.association?.connectionType;\n let connectionFields = [];\n if (modelField.association &&\n 'associatedWith' in modelField.association) {\n connectionFields = modelField.association.associatedWith;\n }\n let targetNames = [];\n if (modelField.association && 'targetNames' in modelField.association) {\n targetNames = modelField.association.targetNames;\n }\n switch (relationType) {\n case connectionType.HAS_ONE:\n case connectionType.BELONGS_TO:\n const sortKeyValues = relatedModelSKFieldNames.reduce((acc, curVal) => {\n if (record[curVal]) {\n return (acc[curVal] = record[curVal]);\n }\n }, {});\n if (context) {\n initializedRelationalFields[fieldName] = (contextSpec, options) => {\n if (record[targetNames[0]]) {\n return client.models[relatedModelName].get(contextSpec, {\n [relatedModelPKFieldName]: record[targetNames[0]],\n ...sortKeyValues,\n }, {\n authMode: options?.authMode || authMode,\n authToken: options?.authToken || authToken,\n });\n }\n return undefined;\n };\n }\n else {\n initializedRelationalFields[fieldName] = (options) => {\n if (record[targetNames[0]]) {\n return client.models[relatedModelName].get({\n [relatedModelPKFieldName]: record[targetNames[0]],\n ...sortKeyValues,\n }, {\n authMode: options?.authMode || authMode,\n authToken: options?.authToken || authToken,\n });\n }\n return undefined;\n };\n }\n break;\n case connectionType.HAS_MANY:\n const parentPk = introModel.primaryKeyInfo.primaryKeyFieldName;\n const parentSK = introModel.primaryKeyInfo.sortKeyFieldNames;\n // M:N check - TODO: refactor\n const relatedModelField = relatedModel.fields[connectionFields[0]];\n const relatedModelFieldType = relatedModelField.type;\n if (relatedModelFieldType.model) {\n let relatedTargetNames = [];\n if (relatedModelField.association &&\n 'targetNames' in relatedModelField.association) {\n relatedTargetNames = relatedModelField.association?.targetNames;\n }\n const hasManyFilter = relatedTargetNames.map((field, idx) => {\n if (idx === 0) {\n return { [field]: { eq: record[parentPk] } };\n }\n return { [field]: { eq: record[parentSK[idx - 1]] } };\n });\n if (context) {\n initializedRelationalFields[fieldName] = (contextSpec, options) => {\n if (record[parentPk]) {\n return client.models[relatedModelName].list(contextSpec, {\n filter: { and: hasManyFilter },\n limit: options?.limit,\n nextToken: options?.nextToken,\n authMode: options?.authMode || authMode,\n authToken: options?.authToken || authToken,\n });\n }\n return [];\n };\n }\n else {\n initializedRelationalFields[fieldName] = (options) => {\n if (record[parentPk]) {\n return client.models[relatedModelName].list({\n filter: { and: hasManyFilter },\n limit: options?.limit,\n nextToken: options?.nextToken,\n authMode: options?.authMode || authMode,\n authToken: options?.authToken || authToken,\n });\n }\n return [];\n };\n }\n break;\n }\n const hasManyFilter = connectionFields.map((field, idx) => {\n if (idx === 0) {\n return { [field]: { eq: record[parentPk] } };\n }\n return { [field]: { eq: record[parentSK[idx - 1]] } };\n });\n if (context) {\n initializedRelationalFields[fieldName] = (contextSpec, options) => {\n if (record[parentPk]) {\n return client.models[relatedModelName].list(contextSpec, {\n filter: { and: hasManyFilter },\n limit: options?.limit,\n nextToken: options?.nextToken,\n authMode: options?.authMode || authMode,\n authToken: options?.authToken || authToken,\n });\n }\n return [];\n };\n }\n else {\n initializedRelationalFields[fieldName] = (options) => {\n if (record[parentPk]) {\n return client.models[relatedModelName].list({\n filter: { and: hasManyFilter },\n limit: options?.limit,\n nextToken: options?.nextToken,\n authMode: options?.authMode || authMode,\n authToken: options?.authToken || authToken,\n });\n }\n return [];\n };\n }\n break;\n default:\n break;\n }\n }\n return { ...record, ...initializedRelationalFields };\n });\n}\nexport const graphQLOperationsInfo = {\n CREATE: { operationPrefix: 'create', usePlural: false },\n READ: { operationPrefix: 'get', usePlural: false },\n UPDATE: { operationPrefix: 'update', usePlural: false },\n DELETE: { operationPrefix: 'delete', usePlural: false },\n LIST: { operationPrefix: 'list', usePlural: true },\n INDEX_QUERY: { operationPrefix: '', usePlural: false },\n ONCREATE: { operationPrefix: 'onCreate', usePlural: false },\n ONUPDATE: { operationPrefix: 'onUpdate', usePlural: false },\n ONDELETE: { operationPrefix: 'onDelete', usePlural: false },\n OBSERVE_QUERY: { operationPrefix: 'observeQuery', usePlural: false },\n};\nconst SELECTION_SET_WILDCARD = '*';\nfunction defaultSelectionSetForModel(modelDefinition) {\n // fields that are explicitly part of the graphql schema; not\n // inferred from owner auth rules.\n const { fields } = modelDefinition;\n const explicitFields = Object.values(fields)\n // Default selection set omits model fields\n .map(({ type, name }) => (typeof type === 'string' ||\n (typeof type === 'object' && typeof type?.enum === 'string')) &&\n name)\n .filter(Boolean);\n // fields used for owner auth rules that may or may not also\n // be explicit on the model.\n const ownerFields = resolveOwnerFields(modelDefinition);\n return Array.from(new Set(explicitFields.concat(ownerFields)));\n}\nconst FIELD_IR = '';\n/**\n * Generates nested Custom Selection Set IR from path\n *\n * @param modelDefinitions\n * @param modelName\n * @param selectionSet - array of object paths\n * @example\n * ### Given\n * `selectionSet = ['id', 'comments.post.id']`\n * ### Returns\n * ```ts\n * {\n * id: '',\n * comments: {\n * items: { post: { id: '' } }\n * }\n * }\n * ```\n */\nexport function customSelectionSetToIR(modelDefinitions, modelName, selectionSet) {\n const dotNotationToObject = (path, modelName) => {\n const [fieldName, ...rest] = path.split('.');\n let result = {};\n if (rest.length === 0) {\n result = { [fieldName]: FIELD_IR };\n }\n else {\n const nested = rest[0];\n const modelDefinition = modelDefinitions[modelName];\n const modelFields = modelDefinition.fields;\n const relatedModel = modelFields[fieldName]?.type\n ?.model;\n if (!relatedModel) {\n // TODO: may need to change this to support custom types\n throw Error(`${fieldName} is not a model field`);\n }\n if (nested === SELECTION_SET_WILDCARD) {\n const relatedModelDefinition = modelDefinitions[relatedModel];\n result = {\n [fieldName]: defaultSelectionSetIR(relatedModelDefinition),\n };\n }\n else {\n const exists = Boolean(modelFields[fieldName]);\n if (!exists) {\n throw Error(`${fieldName} is not a field of model ${modelName}`);\n }\n result = {\n [fieldName]: dotNotationToObject(rest.join('.'), relatedModel),\n };\n }\n if (modelFields[fieldName]?.isArray) {\n result = {\n [fieldName]: {\n items: result[fieldName],\n },\n };\n }\n }\n return result;\n };\n return selectionSet.reduce((resultObj, path) => deepMergeSelectionSetObjects(dotNotationToObject(path, modelName), resultObj), {});\n}\nconst defaultSelectionSetIR = (relatedModelDefinition) => {\n const defaultSelectionSet = defaultSelectionSetForModel(relatedModelDefinition);\n const reduced = defaultSelectionSet.reduce((acc, curVal) => {\n acc[curVal] = FIELD_IR;\n return acc;\n }, {});\n return reduced;\n};\n/**\n * Stringifies selection set IR\n * * @example\n * ### Given\n * ```ts\n * {\n * id: '',\n * comments: {\n * items: { post: { id: '' } }\n * }\n * }\n * ```\n * ### Returns\n * `'id comments { items { post { id } } }'`\n */\nexport function selectionSetIRToString(obj) {\n const res = [];\n Object.entries(obj).forEach(([fieldName, value]) => {\n if (value === FIELD_IR) {\n res.push(fieldName);\n }\n else if (typeof value === 'object' && value !== null) {\n if (value?.items) {\n res.push(fieldName, '{', 'items', '{', selectionSetIRToString(value.items), '}', '}');\n }\n else {\n res.push(fieldName, '{', selectionSetIRToString(value), '}');\n }\n }\n });\n return res.join(' ');\n}\n/**\n * Recursively merges selection set objects from `source` onto `target`.\n *\n * `target` will be updated. `source` will be left alone.\n *\n * @param source The object to merge into target.\n * @param target The object to be mutated.\n */\nfunction deepMergeSelectionSetObjects(source, target) {\n const isObject = (obj) => obj && typeof obj === 'object';\n for (const key in source) {\n // This verification avoids 'Prototype Pollution' issue\n if (!source.hasOwnProperty(key))\n continue;\n if (target.hasOwnProperty(key) && isObject(target[key])) {\n deepMergeSelectionSetObjects(source[key], target[key]);\n }\n else {\n target[key] = source[key];\n }\n }\n return target;\n}\nexport function generateSelectionSet(modelDefinitions, modelName, selectionSet) {\n const modelDefinition = modelDefinitions[modelName];\n if (!selectionSet) {\n return defaultSelectionSetForModel(modelDefinition).join(' ');\n }\n const selSetIr = customSelectionSetToIR(modelDefinitions, modelName, selectionSet);\n const selSetString = selectionSetIRToString(selSetIr);\n return selSetString;\n}\nexport function generateGraphQLDocument(modelDefinitions, modelName, modelOperation, listArgs, indexMeta) {\n const modelDefinition = modelDefinitions[modelName];\n const { name, pluralName, fields, primaryKeyInfo: { isCustomPrimaryKey, primaryKeyFieldName, sortKeyFieldNames, }, } = modelDefinition;\n const { operationPrefix, usePlural } = graphQLOperationsInfo[modelOperation];\n const { selectionSet } = listArgs || {};\n let graphQLFieldName;\n let indexQueryArgs;\n if (operationPrefix) {\n graphQLFieldName = `${operationPrefix}${usePlural ? pluralName : name}`;\n }\n else if (indexMeta) {\n const { queryField, pk, sk = [] } = indexMeta;\n graphQLFieldName = queryField;\n const skQueryArgs = sk.reduce((acc, fieldName) => {\n const fieldType = fields[fieldName].type;\n acc[fieldName] = `Model${fieldType}KeyConditionInput`;\n return acc;\n }, {});\n indexQueryArgs = {\n [pk]: `${fields[pk].type}!`,\n ...skQueryArgs,\n };\n }\n else {\n throw new Error('Error generating GraphQL Document - invalid operation name');\n }\n let graphQLOperationType;\n let graphQLSelectionSet;\n let graphQLArguments;\n const selectionSetFields = generateSelectionSet(modelDefinitions, modelName, selectionSet);\n switch (modelOperation) {\n case 'CREATE':\n case 'UPDATE':\n case 'DELETE':\n graphQLArguments ??\n (graphQLArguments = {\n input: `${operationPrefix.charAt(0).toLocaleUpperCase() +\n operationPrefix.slice(1)}${name}Input!`,\n });\n graphQLOperationType ?? (graphQLOperationType = 'mutation');\n case 'READ':\n graphQLArguments ??\n (graphQLArguments = isCustomPrimaryKey\n ? [primaryKeyFieldName, ...sortKeyFieldNames].reduce((acc, fieldName) => {\n acc[fieldName] = `${fields[fieldName].type}!`;\n return acc;\n }, {})\n : {\n [primaryKeyFieldName]: `${fields[primaryKeyFieldName].type}!`,\n });\n graphQLSelectionSet ?? (graphQLSelectionSet = selectionSetFields);\n case 'LIST':\n graphQLArguments ??\n (graphQLArguments = {\n filter: `Model${name}FilterInput`,\n limit: 'Int',\n nextToken: 'String',\n });\n graphQLOperationType ?? (graphQLOperationType = 'query');\n graphQLSelectionSet ??\n (graphQLSelectionSet = `items { ${selectionSetFields} } nextToken __typename`);\n case 'INDEX_QUERY':\n graphQLArguments ??\n (graphQLArguments = {\n ...indexQueryArgs,\n filter: `Model${name}FilterInput`,\n limit: 'Int',\n nextToken: 'String',\n });\n graphQLOperationType ?? (graphQLOperationType = 'query');\n graphQLSelectionSet ??\n (graphQLSelectionSet = `items { ${selectionSetFields} } nextToken __typename`);\n case 'ONCREATE':\n case 'ONUPDATE':\n case 'ONDELETE':\n graphQLArguments ??\n (graphQLArguments = {\n filter: `ModelSubscription${name}FilterInput`,\n });\n graphQLOperationType ?? (graphQLOperationType = 'subscription');\n graphQLSelectionSet ?? (graphQLSelectionSet = selectionSetFields);\n break;\n case 'OBSERVE_QUERY':\n default:\n throw new Error('Internal error: Attempted to generate graphql document for observeQuery. Please report this error.');\n }\n const graphQLDocument = `${graphQLOperationType}${graphQLArguments\n ? `(${Object.entries(graphQLArguments).map(([fieldName, type]) => `\\$${fieldName}: ${type}`)})`\n : ''} { ${graphQLFieldName}${graphQLArguments\n ? `(${Object.keys(graphQLArguments).map(fieldName => `${fieldName}: \\$${fieldName}`)})`\n : ''} { ${graphQLSelectionSet} } }`;\n return graphQLDocument;\n}\nexport function buildGraphQLVariables(modelDefinition, operation, arg, modelIntrospection, indexMeta) {\n const { fields, primaryKeyInfo: { isCustomPrimaryKey, primaryKeyFieldName, sortKeyFieldNames, }, } = modelDefinition;\n let variables = {};\n // TODO: process input\n switch (operation) {\n case 'CREATE':\n variables = {\n input: arg\n ? normalizeMutationInput(arg, modelDefinition, modelIntrospection)\n : {},\n };\n break;\n case 'UPDATE':\n // readonly fields are not updated\n variables = {\n input: arg\n ? Object.fromEntries(Object.entries(normalizeMutationInput(arg, modelDefinition, modelIntrospection)).filter(([fieldName]) => {\n const { isReadOnly } = fields[fieldName];\n return !isReadOnly;\n }))\n : {},\n };\n break;\n case 'READ':\n case 'DELETE':\n // only identifiers are sent\n if (arg) {\n variables = isCustomPrimaryKey\n ? [primaryKeyFieldName, ...sortKeyFieldNames].reduce((acc, fieldName) => {\n acc[fieldName] = arg[fieldName];\n return acc;\n }, {})\n : { [primaryKeyFieldName]: arg[primaryKeyFieldName] };\n }\n if (operation === 'DELETE') {\n variables = { input: variables };\n }\n break;\n case 'LIST':\n if (arg?.filter) {\n variables.filter = arg.filter;\n }\n if (arg?.nextToken) {\n variables.nextToken = arg.nextToken;\n }\n if (arg?.limit) {\n variables.limit = arg.limit;\n }\n break;\n case 'INDEX_QUERY':\n const { pk, sk = [] } = indexMeta;\n variables[pk] = arg[pk];\n for (const skField of sk) {\n variables[skField] = arg[skField];\n }\n if (arg?.filter) {\n variables.filter = arg.filter;\n }\n if (arg?.nextToken) {\n variables.nextToken = arg.nextToken;\n }\n if (arg?.limit) {\n variables.limit = arg.limit;\n }\n break;\n case 'ONCREATE':\n case 'ONUPDATE':\n case 'ONDELETE':\n if (arg?.filter) {\n variables = { filter: arg.filter };\n }\n break;\n case 'OBSERVE_QUERY':\n throw new Error('Internal error: Attempted to build variables for observeQuery. Please report this error.');\n break;\n default:\n const exhaustiveCheck = operation;\n throw new Error(`Unhandled operation case: ${exhaustiveCheck}`);\n }\n return variables;\n}\n/**\n * Iterates over mutation input values and resolves any model inputs to their corresponding join fields/values\n *\n * @example\n * ### Usage\n * ```ts\n * const result = normalizeMutationInput({ post: post }, model, modelDefinition);\n * ```\n * ### Result\n * ```ts\n * { postId: \"abc123\" }\n * ```\n *\n */\nexport function normalizeMutationInput(mutationInput, model, modelIntrospection) {\n const { fields } = model;\n const normalized = {};\n Object.entries(mutationInput).forEach(([inputFieldName, inputValue]) => {\n const fieldType = fields[inputFieldName]?.type;\n const relatedModelName = fieldType?.model;\n if (relatedModelName) {\n const association = fields[inputFieldName]?.association;\n const relatedModelDef = modelIntrospection.models[relatedModelName];\n const relatedModelPkInfo = relatedModelDef.primaryKeyInfo;\n if (association?.connectionType === connectionType.HAS_ONE) {\n const associationHasOne = association;\n associationHasOne.targetNames.forEach((targetName, idx) => {\n const associatedFieldName = associationHasOne.associatedWith[idx];\n normalized[targetName] = inputValue[associatedFieldName];\n });\n }\n if (association?.connectionType === connectionType.BELONGS_TO) {\n const associationBelongsTo = association;\n associationBelongsTo.targetNames.forEach((targetName, idx) => {\n if (idx === 0) {\n const associatedFieldName = relatedModelPkInfo.primaryKeyFieldName;\n normalized[targetName] = inputValue[associatedFieldName];\n }\n else {\n const associatedFieldName = relatedModelPkInfo.sortKeyFieldNames[idx - 1];\n normalized[targetName] = inputValue[associatedFieldName];\n }\n });\n }\n }\n else {\n normalized[inputFieldName] = inputValue;\n }\n });\n return normalized;\n}\n/**\n * Produces a parameter object that can contains auth mode/token overrides\n * only if present in either `options` (first) or configured on the `client`\n * as a fallback.\n *\n * @param client Configured client from `generateClient`\n * @param options Args/Options obect from call site.\n * @returns\n */\nexport function authModeParams(client, options = {}) {\n return {\n authMode: options.authMode || client[__authMode],\n authToken: options.authToken || client[__authToken],\n };\n}\n/**\n * Retrieves custom headers from either the client or request options.\n * @param {client} V6Client | V6ClientSSRRequest | V6ClientSSRCookies - for extracting client headers\n * @param {requestHeaders} [CustomHeaders] - request headers\n * @returns {CustomHeaders} - custom headers\n */\nexport function getCustomHeaders(client, requestHeaders) {\n let headers = client[__headers] || {};\n // Individual request headers will take precedence over client headers.\n // We intentionally do *not* merge client and request headers.\n if (requestHeaders) {\n headers = requestHeaders;\n }\n return headers;\n}\n"],"names":[],"mappings":"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"}
@@ -115,7 +115,12 @@ class InternalGraphQLAPIClass {
115
115
  responsePromise = this._graphql(amplify, { query, variables, authMode }, headers, abortController, customUserAgentDetails, authToken);
116
116
  }
117
117
  else {
118
- const wrapper = (amplifyInstance) => this._graphql(amplifyInstance, { query, variables, authMode }, headers, abortController, customUserAgentDetails, authToken);
118
+ // NOTE: this wrapper function must be await-able so the Amplify server context manager can
119
+ // destroy the context only after it completes
120
+ const wrapper = async (amplifyInstance) => {
121
+ const result = await this._graphql(amplifyInstance, { query, variables, authMode }, headers, abortController, customUserAgentDetails, authToken);
122
+ return result;
123
+ };
119
124
  responsePromise = amplify(wrapper);
120
125
  }
121
126
  this._api.updateRequestToBeCancellable(responsePromise, abortController);
@@ -224,7 +229,7 @@ class InternalGraphQLAPIClass {
224
229
  }
225
230
  let response;
226
231
  try {
227
- const { body: responseBody } = await this._api.post({
232
+ const { body: responseBody } = await this._api.post(amplify, {
228
233
  url: new AmplifyUrl(endpoint),
229
234
  options: {
230
235
  headers,
@@ -1 +1 @@
1
- {"version":3,"file":"InternalGraphQLAPI.mjs","sources":["../../../src/internals/InternalGraphQLAPI.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { print, parse, GraphQLError, } from 'graphql';\nimport { catchError } from 'rxjs';\nimport { ConsoleLogger } from '@aws-amplify/core';\nimport { getAmplifyUserAgent, AmplifyUrl, } from '@aws-amplify/core/internals/utils';\nimport { GraphQLAuthError, } from '../types';\nimport { isCancelError as isCancelErrorREST } from '@aws-amplify/api-rest';\nimport { post, cancel as cancelREST, updateRequestToBeCancellable, } from '@aws-amplify/api-rest/internals';\nimport { AWSAppSyncRealTimeProvider } from '../Providers/AWSAppSyncRealTimeProvider';\nimport { resolveConfig, resolveLibraryOptions } from '../utils';\nimport { repackageUnauthError } from '../utils/errors/repackageAuthError';\nconst USER_AGENT_HEADER = 'x-amz-user-agent';\nconst logger = new ConsoleLogger('GraphQLAPI');\nconst isAmplifyInstance = (amplify) => {\n return typeof amplify !== 'function';\n};\n/**\n * Export Cloud Logic APIs\n */\nexport class InternalGraphQLAPIClass {\n constructor() {\n /**\n * @private\n */\n this.appSyncRealTime = new AWSAppSyncRealTimeProvider();\n this._api = {\n post,\n cancelREST,\n isCancelErrorREST,\n updateRequestToBeCancellable,\n };\n }\n getModuleName() {\n return 'InternalGraphQLAPI';\n }\n async _headerBasedAuth(amplify, authMode, additionalHeaders = {}) {\n const { region: region, endpoint: appSyncGraphqlEndpoint, apiKey, } = resolveConfig(amplify);\n let headers = {};\n switch (authMode) {\n case 'apiKey':\n if (!apiKey) {\n throw new Error(GraphQLAuthError.NO_API_KEY);\n }\n headers = {\n 'X-Api-Key': apiKey,\n };\n break;\n case 'iam':\n const session = await amplify.Auth.fetchAuthSession();\n if (session.credentials === undefined) {\n throw new Error(GraphQLAuthError.NO_CREDENTIALS);\n }\n break;\n case 'oidc':\n case 'userPool':\n try {\n let token;\n token = (await amplify.Auth.fetchAuthSession()).tokens?.accessToken.toString();\n if (!token) {\n throw new Error(GraphQLAuthError.NO_FEDERATED_JWT);\n }\n headers = {\n Authorization: token,\n };\n }\n catch (e) {\n throw new Error(GraphQLAuthError.NO_CURRENT_USER);\n }\n break;\n case 'lambda':\n if (typeof additionalHeaders === 'object' &&\n !additionalHeaders.Authorization) {\n throw new Error(GraphQLAuthError.NO_AUTH_TOKEN);\n }\n headers = {\n Authorization: additionalHeaders.Authorization,\n };\n break;\n case 'none':\n break;\n default:\n break;\n }\n return headers;\n }\n /**\n * to get the operation type\n * @param operation\n */\n getGraphqlOperationType(operation) {\n const doc = parse(operation);\n const definitions = doc.definitions;\n const [{ operation: operationType }] = definitions;\n return operationType;\n }\n /**\n * Executes a GraphQL operation\n *\n * @param options - GraphQL Options\n * @param [additionalHeaders] - headers to merge in after any `libraryConfigHeaders` set in the config\n * @returns An Observable if the query is a subscription query, else a promise of the graphql result.\n */\n graphql(amplify, { query: paramQuery, variables = {}, authMode, authToken }, additionalHeaders, customUserAgentDetails) {\n const query = typeof paramQuery === 'string'\n ? parse(paramQuery)\n : parse(print(paramQuery));\n const [operationDef = {}] = query.definitions.filter(def => def.kind === 'OperationDefinition');\n const { operation: operationType } = operationDef;\n const headers = additionalHeaders || {};\n switch (operationType) {\n case 'query':\n case 'mutation':\n const abortController = new AbortController();\n let responsePromise;\n if (isAmplifyInstance(amplify)) {\n responsePromise = this._graphql(amplify, { query, variables, authMode }, headers, abortController, customUserAgentDetails, authToken);\n }\n else {\n const wrapper = (amplifyInstance) => this._graphql(amplifyInstance, { query, variables, authMode }, headers, abortController, customUserAgentDetails, authToken);\n responsePromise = amplify(wrapper);\n }\n this._api.updateRequestToBeCancellable(responsePromise, abortController);\n return responsePromise;\n case 'subscription':\n return this._graphqlSubscribe(amplify, { query, variables, authMode }, headers, customUserAgentDetails, authToken);\n default:\n throw new Error(`invalid operation type: ${operationType}`);\n }\n }\n async _graphql(amplify, { query, variables, authMode: explicitAuthMode }, additionalHeaders = {}, abortController, customUserAgentDetails, authToken) {\n const { region: region, endpoint: appSyncGraphqlEndpoint, customEndpoint, customEndpointRegion, defaultAuthMode, } = resolveConfig(amplify);\n const authMode = explicitAuthMode || defaultAuthMode || 'iam';\n /**\n * Retrieve library options from Amplify configuration.\n * `customHeaders` here are from the Amplify configuration options,\n * and are for non-AppSync endpoints only. These are *not* the same as\n * `additionalHeaders`, which are custom headers that are either 1)\n * included when configuring the API client or 2) passed along with\n * individual requests.\n */\n const { headers: customHeaders, withCredentials } = resolveLibraryOptions(amplify);\n /**\n * Client or request-specific custom headers that may or may not be\n * returned by a function:\n */\n let additionalCustomHeaders;\n if (typeof additionalHeaders === 'function') {\n const requestOptions = {\n method: 'POST',\n url: new AmplifyUrl(customEndpoint || appSyncGraphqlEndpoint || '').toString(),\n queryString: print(query),\n };\n additionalCustomHeaders = await additionalHeaders(requestOptions);\n }\n else {\n additionalCustomHeaders = additionalHeaders;\n }\n // if an authorization header is set, have the explicit authToken take precedence\n if (authToken) {\n additionalCustomHeaders = {\n ...additionalCustomHeaders,\n Authorization: authToken,\n };\n }\n // TODO: Figure what we need to do to remove `!`'s.\n const headers = {\n ...(!customEndpoint &&\n (await this._headerBasedAuth(amplify, authMode, additionalCustomHeaders))),\n /**\n * Custom endpoint headers.\n * If there is both a custom endpoint and custom region present, we get the headers.\n * If there is a custom endpoint but no region, we return an empty object.\n * If neither are present, we return an empty object.\n */\n ...((customEndpoint &&\n (customEndpointRegion\n ? await this._headerBasedAuth(amplify, authMode, additionalCustomHeaders)\n : {})) ||\n {}),\n // Custom headers included in Amplify configuration options:\n ...(customHeaders &&\n (await customHeaders({\n query: print(query),\n variables,\n }))),\n // Custom headers from individual requests or API client configuration:\n ...additionalCustomHeaders,\n // User agent headers:\n ...(!customEndpoint && {\n [USER_AGENT_HEADER]: getAmplifyUserAgent(customUserAgentDetails),\n }),\n };\n const body = {\n query: print(query),\n variables: variables || null,\n };\n let signingServiceInfo;\n /**\n * We do not send the signing service info to the REST API under the\n * following conditions (i.e. it will not sign the request):\n * - there is a custom endpoint but no region\n * - the auth mode is `none`, or `apiKey`\n * - the auth mode is a type other than the types listed below\n */\n if ((customEndpoint && !customEndpointRegion) ||\n (authMode !== 'oidc' &&\n authMode !== 'userPool' &&\n authMode !== 'iam' &&\n authMode !== 'lambda')) {\n signingServiceInfo = undefined;\n }\n else {\n signingServiceInfo = {\n service: !customEndpointRegion ? 'appsync' : 'execute-api',\n region: !customEndpointRegion ? region : customEndpointRegion,\n };\n }\n const endpoint = customEndpoint || appSyncGraphqlEndpoint;\n if (!endpoint) {\n const error = new GraphQLError('No graphql endpoint provided.');\n throw {\n data: {},\n errors: [error],\n };\n }\n let response;\n try {\n const { body: responseBody } = await this._api.post({\n url: new AmplifyUrl(endpoint),\n options: {\n headers,\n body,\n signingServiceInfo,\n withCredentials,\n },\n abortController,\n });\n const result = await responseBody.json();\n response = result;\n }\n catch (err) {\n // If the exception is because user intentionally\n // cancelled the request, do not modify the exception\n // so that clients can identify the exception correctly.\n if (this.isCancelError(err)) {\n throw err;\n }\n response = {\n data: {},\n errors: [\n new GraphQLError(err.message, null, null, null, null, err),\n ],\n };\n }\n const { errors } = response;\n if (errors && errors.length) {\n throw repackageUnauthError(response);\n }\n return response;\n }\n /**\n * Checks to see if an error thrown is from an api request cancellation\n * @param {any} error - Any error\n * @return {boolean} - A boolean indicating if the error was from an api request cancellation\n */\n isCancelError(error) {\n return this._api.isCancelErrorREST(error);\n }\n /**\n * Cancels an inflight request. Only applicable for graphql queries and mutations\n * @param {any} request - request to cancel\n * @returns - A boolean indicating if the request was cancelled\n */\n cancel(request, message) {\n return this._api.cancelREST(request, message);\n }\n _graphqlSubscribe(amplify, { query, variables, authMode }, additionalHeaders = {}, customUserAgentDetails, authToken) {\n const config = resolveConfig(amplify);\n /**\n * Retrieve library options from Amplify configuration.\n * `libraryConfigHeaders` are from the Amplify configuration options,\n * and will not be overwritten by other custom headers. These are *not*\n * the same as `additionalHeaders`, which are custom headers that are\n * either 1)included when configuring the API client or 2) passed along\n * with individual requests.\n */\n const { headers: libraryConfigHeaders } = resolveLibraryOptions(amplify);\n return this.appSyncRealTime\n .subscribe({\n query: print(query),\n variables,\n appSyncGraphqlEndpoint: config?.endpoint,\n region: config?.region,\n authenticationType: authMode || config?.defaultAuthMode,\n apiKey: config?.apiKey,\n additionalHeaders,\n authToken,\n libraryConfigHeaders,\n }, customUserAgentDetails)\n .pipe(catchError(e => {\n if (e.errors) {\n throw repackageUnauthError(e);\n }\n throw e;\n }));\n }\n}\nexport const InternalGraphQLAPI = new InternalGraphQLAPIClass();\n"],"names":["cancelREST","isCancelErrorREST"],"mappings":"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"}
1
+ {"version":3,"file":"InternalGraphQLAPI.mjs","sources":["../../../src/internals/InternalGraphQLAPI.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { print, parse, GraphQLError, } from 'graphql';\nimport { catchError } from 'rxjs';\nimport { ConsoleLogger } from '@aws-amplify/core';\nimport { getAmplifyUserAgent, AmplifyUrl, } from '@aws-amplify/core/internals/utils';\nimport { GraphQLAuthError, } from '../types';\nimport { isCancelError as isCancelErrorREST } from '@aws-amplify/api-rest';\nimport { post, cancel as cancelREST, updateRequestToBeCancellable, } from '@aws-amplify/api-rest/internals';\nimport { AWSAppSyncRealTimeProvider } from '../Providers/AWSAppSyncRealTimeProvider';\nimport { resolveConfig, resolveLibraryOptions } from '../utils';\nimport { repackageUnauthError } from '../utils/errors/repackageAuthError';\nconst USER_AGENT_HEADER = 'x-amz-user-agent';\nconst logger = new ConsoleLogger('GraphQLAPI');\nconst isAmplifyInstance = (amplify) => {\n return typeof amplify !== 'function';\n};\n/**\n * Export Cloud Logic APIs\n */\nexport class InternalGraphQLAPIClass {\n constructor() {\n /**\n * @private\n */\n this.appSyncRealTime = new AWSAppSyncRealTimeProvider();\n this._api = {\n post,\n cancelREST,\n isCancelErrorREST,\n updateRequestToBeCancellable,\n };\n }\n getModuleName() {\n return 'InternalGraphQLAPI';\n }\n async _headerBasedAuth(amplify, authMode, additionalHeaders = {}) {\n const { region: region, endpoint: appSyncGraphqlEndpoint, apiKey, } = resolveConfig(amplify);\n let headers = {};\n switch (authMode) {\n case 'apiKey':\n if (!apiKey) {\n throw new Error(GraphQLAuthError.NO_API_KEY);\n }\n headers = {\n 'X-Api-Key': apiKey,\n };\n break;\n case 'iam':\n const session = await amplify.Auth.fetchAuthSession();\n if (session.credentials === undefined) {\n throw new Error(GraphQLAuthError.NO_CREDENTIALS);\n }\n break;\n case 'oidc':\n case 'userPool':\n try {\n let token;\n token = (await amplify.Auth.fetchAuthSession()).tokens?.accessToken.toString();\n if (!token) {\n throw new Error(GraphQLAuthError.NO_FEDERATED_JWT);\n }\n headers = {\n Authorization: token,\n };\n }\n catch (e) {\n throw new Error(GraphQLAuthError.NO_CURRENT_USER);\n }\n break;\n case 'lambda':\n if (typeof additionalHeaders === 'object' &&\n !additionalHeaders.Authorization) {\n throw new Error(GraphQLAuthError.NO_AUTH_TOKEN);\n }\n headers = {\n Authorization: additionalHeaders.Authorization,\n };\n break;\n case 'none':\n break;\n default:\n break;\n }\n return headers;\n }\n /**\n * to get the operation type\n * @param operation\n */\n getGraphqlOperationType(operation) {\n const doc = parse(operation);\n const definitions = doc.definitions;\n const [{ operation: operationType }] = definitions;\n return operationType;\n }\n /**\n * Executes a GraphQL operation\n *\n * @param options - GraphQL Options\n * @param [additionalHeaders] - headers to merge in after any `libraryConfigHeaders` set in the config\n * @returns An Observable if the query is a subscription query, else a promise of the graphql result.\n */\n graphql(amplify, { query: paramQuery, variables = {}, authMode, authToken }, additionalHeaders, customUserAgentDetails) {\n const query = typeof paramQuery === 'string'\n ? parse(paramQuery)\n : parse(print(paramQuery));\n const [operationDef = {}] = query.definitions.filter(def => def.kind === 'OperationDefinition');\n const { operation: operationType } = operationDef;\n const headers = additionalHeaders || {};\n switch (operationType) {\n case 'query':\n case 'mutation':\n const abortController = new AbortController();\n let responsePromise;\n if (isAmplifyInstance(amplify)) {\n responsePromise = this._graphql(amplify, { query, variables, authMode }, headers, abortController, customUserAgentDetails, authToken);\n }\n else {\n // NOTE: this wrapper function must be await-able so the Amplify server context manager can\n // destroy the context only after it completes\n const wrapper = async (amplifyInstance) => {\n const result = await this._graphql(amplifyInstance, { query, variables, authMode }, headers, abortController, customUserAgentDetails, authToken);\n return result;\n };\n responsePromise = amplify(wrapper);\n }\n this._api.updateRequestToBeCancellable(responsePromise, abortController);\n return responsePromise;\n case 'subscription':\n return this._graphqlSubscribe(amplify, { query, variables, authMode }, headers, customUserAgentDetails, authToken);\n default:\n throw new Error(`invalid operation type: ${operationType}`);\n }\n }\n async _graphql(amplify, { query, variables, authMode: explicitAuthMode }, additionalHeaders = {}, abortController, customUserAgentDetails, authToken) {\n const { region: region, endpoint: appSyncGraphqlEndpoint, customEndpoint, customEndpointRegion, defaultAuthMode, } = resolveConfig(amplify);\n const authMode = explicitAuthMode || defaultAuthMode || 'iam';\n /**\n * Retrieve library options from Amplify configuration.\n * `customHeaders` here are from the Amplify configuration options,\n * and are for non-AppSync endpoints only. These are *not* the same as\n * `additionalHeaders`, which are custom headers that are either 1)\n * included when configuring the API client or 2) passed along with\n * individual requests.\n */\n const { headers: customHeaders, withCredentials } = resolveLibraryOptions(amplify);\n /**\n * Client or request-specific custom headers that may or may not be\n * returned by a function:\n */\n let additionalCustomHeaders;\n if (typeof additionalHeaders === 'function') {\n const requestOptions = {\n method: 'POST',\n url: new AmplifyUrl(customEndpoint || appSyncGraphqlEndpoint || '').toString(),\n queryString: print(query),\n };\n additionalCustomHeaders = await additionalHeaders(requestOptions);\n }\n else {\n additionalCustomHeaders = additionalHeaders;\n }\n // if an authorization header is set, have the explicit authToken take precedence\n if (authToken) {\n additionalCustomHeaders = {\n ...additionalCustomHeaders,\n Authorization: authToken,\n };\n }\n // TODO: Figure what we need to do to remove `!`'s.\n const headers = {\n ...(!customEndpoint &&\n (await this._headerBasedAuth(amplify, authMode, additionalCustomHeaders))),\n /**\n * Custom endpoint headers.\n * If there is both a custom endpoint and custom region present, we get the headers.\n * If there is a custom endpoint but no region, we return an empty object.\n * If neither are present, we return an empty object.\n */\n ...((customEndpoint &&\n (customEndpointRegion\n ? await this._headerBasedAuth(amplify, authMode, additionalCustomHeaders)\n : {})) ||\n {}),\n // Custom headers included in Amplify configuration options:\n ...(customHeaders &&\n (await customHeaders({\n query: print(query),\n variables,\n }))),\n // Custom headers from individual requests or API client configuration:\n ...additionalCustomHeaders,\n // User agent headers:\n ...(!customEndpoint && {\n [USER_AGENT_HEADER]: getAmplifyUserAgent(customUserAgentDetails),\n }),\n };\n const body = {\n query: print(query),\n variables: variables || null,\n };\n let signingServiceInfo;\n /**\n * We do not send the signing service info to the REST API under the\n * following conditions (i.e. it will not sign the request):\n * - there is a custom endpoint but no region\n * - the auth mode is `none`, or `apiKey`\n * - the auth mode is a type other than the types listed below\n */\n if ((customEndpoint && !customEndpointRegion) ||\n (authMode !== 'oidc' &&\n authMode !== 'userPool' &&\n authMode !== 'iam' &&\n authMode !== 'lambda')) {\n signingServiceInfo = undefined;\n }\n else {\n signingServiceInfo = {\n service: !customEndpointRegion ? 'appsync' : 'execute-api',\n region: !customEndpointRegion ? region : customEndpointRegion,\n };\n }\n const endpoint = customEndpoint || appSyncGraphqlEndpoint;\n if (!endpoint) {\n const error = new GraphQLError('No graphql endpoint provided.');\n throw {\n data: {},\n errors: [error],\n };\n }\n let response;\n try {\n const { body: responseBody } = await this._api.post(amplify, {\n url: new AmplifyUrl(endpoint),\n options: {\n headers,\n body,\n signingServiceInfo,\n withCredentials,\n },\n abortController,\n });\n const result = await responseBody.json();\n response = result;\n }\n catch (err) {\n // If the exception is because user intentionally\n // cancelled the request, do not modify the exception\n // so that clients can identify the exception correctly.\n if (this.isCancelError(err)) {\n throw err;\n }\n response = {\n data: {},\n errors: [\n new GraphQLError(err.message, null, null, null, null, err),\n ],\n };\n }\n const { errors } = response;\n if (errors && errors.length) {\n throw repackageUnauthError(response);\n }\n return response;\n }\n /**\n * Checks to see if an error thrown is from an api request cancellation\n * @param {any} error - Any error\n * @return {boolean} - A boolean indicating if the error was from an api request cancellation\n */\n isCancelError(error) {\n return this._api.isCancelErrorREST(error);\n }\n /**\n * Cancels an inflight request. Only applicable for graphql queries and mutations\n * @param {any} request - request to cancel\n * @returns - A boolean indicating if the request was cancelled\n */\n cancel(request, message) {\n return this._api.cancelREST(request, message);\n }\n _graphqlSubscribe(amplify, { query, variables, authMode }, additionalHeaders = {}, customUserAgentDetails, authToken) {\n const config = resolveConfig(amplify);\n /**\n * Retrieve library options from Amplify configuration.\n * `libraryConfigHeaders` are from the Amplify configuration options,\n * and will not be overwritten by other custom headers. These are *not*\n * the same as `additionalHeaders`, which are custom headers that are\n * either 1)included when configuring the API client or 2) passed along\n * with individual requests.\n */\n const { headers: libraryConfigHeaders } = resolveLibraryOptions(amplify);\n return this.appSyncRealTime\n .subscribe({\n query: print(query),\n variables,\n appSyncGraphqlEndpoint: config?.endpoint,\n region: config?.region,\n authenticationType: authMode || config?.defaultAuthMode,\n apiKey: config?.apiKey,\n additionalHeaders,\n authToken,\n libraryConfigHeaders,\n }, customUserAgentDetails)\n .pipe(catchError(e => {\n if (e.errors) {\n throw repackageUnauthError(e);\n }\n throw e;\n }));\n }\n}\nexport const InternalGraphQLAPI = new InternalGraphQLAPIClass();\n"],"names":["cancelREST","isCancelErrorREST"],"mappings":"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"}
@@ -1,7 +1,10 @@
1
+ import { Hub } from '@aws-amplify/core';
1
2
  import { graphql, cancel, isCancelError } from './v6.mjs';
2
- import { generateModelsProperty } from './generateModelsProperty.mjs';
3
+ import { generateEnumsProperty } from './utils/generateEnumsProperty.mjs';
4
+ import { generateModelsProperty } from './utils/generateModelsProperty.mjs';
5
+ import { isApiGraphQLConfig } from './utils/isApiGraphQLProviderConfig.mjs';
3
6
  import { __amplify, __authMode, __authToken, __headers } from '../types/index.mjs';
4
- import { Hub } from '@aws-amplify/core';
7
+ import { isConfigureEventWithResourceConfig } from './utils/isConfigureEventWithResourceConfig.mjs';
5
8
 
6
9
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
7
10
  // SPDX-License-Identifier: Apache-2.0
@@ -23,10 +26,15 @@ function generateClient(params) {
23
26
  graphql,
24
27
  cancel,
25
28
  isCancelError,
26
- models: {},
29
+ models: emptyProperty,
30
+ enums: emptyProperty,
27
31
  };
28
- const config = params.amplify.getConfig();
29
- if (!config.API?.GraphQL) {
32
+ const apiGraphqlConfig = params.amplify.getConfig().API?.GraphQL;
33
+ if (isApiGraphQLConfig(apiGraphqlConfig)) {
34
+ client.models = generateModelsProperty(client, apiGraphqlConfig);
35
+ client.enums = generateEnumsProperty(apiGraphqlConfig);
36
+ }
37
+ else {
30
38
  // This happens when the `Amplify.configure()` call gets evaluated after the `generateClient()` call.
31
39
  //
32
40
  // Cause: when the `generateClient()` and the `Amplify.configure()` calls are located in
@@ -39,31 +47,25 @@ function generateClient(params) {
39
47
  //
40
48
  // TODO: revisit, and reverify this approach when enabling multiple clients for multi-endpoints
41
49
  // configuration.
42
- client.models = emptyModels;
43
50
  generateModelsPropertyOnAmplifyConfigure(client);
44
51
  }
45
- else {
46
- client.models = generateModelsProperty(client, config.API?.GraphQL);
47
- }
48
52
  return client;
49
53
  }
50
54
  const generateModelsPropertyOnAmplifyConfigure = (clientRef) => {
51
55
  Hub.listen('core', coreEvent => {
52
- if (!isConfigureEvent(coreEvent.payload)) {
56
+ if (!isConfigureEventWithResourceConfig(coreEvent.payload)) {
53
57
  return;
54
58
  }
55
- const { data: resourceConfig } = coreEvent.payload;
56
- if (resourceConfig.API?.GraphQL) {
57
- clientRef.models = generateModelsProperty(clientRef, resourceConfig.API?.GraphQL);
59
+ const apiGraphQLConfig = coreEvent.payload.data.API?.GraphQL;
60
+ if (isApiGraphQLConfig(apiGraphQLConfig)) {
61
+ clientRef.models = generateModelsProperty(clientRef, apiGraphQLConfig);
62
+ clientRef.enums = generateEnumsProperty(apiGraphQLConfig);
58
63
  }
59
64
  });
60
65
  };
61
- function isConfigureEvent(payload) {
62
- return payload.event === 'configure';
63
- }
64
- const emptyModels = new Proxy({}, {
66
+ const emptyProperty = new Proxy({}, {
65
67
  get() {
66
- throw new Error('Could not generate client. This is likely due to Amplify.configure() not being called prior to generateClient().');
68
+ throw new Error('Client could not be generated. This is likely due to `Amplify.configure()` not being called prior to `generateClient()` or because the configuration passed to `Amplify.configure()` is missing GraphQL provider configuration.');
67
69
  },
68
70
  });
69
71
 
@@ -1 +1 @@
1
- {"version":3,"file":"generateClient.mjs","sources":["../../../src/internals/generateClient.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { graphql, cancel, isCancelError } from './v6';\nimport { generateModelsProperty } from './generateModelsProperty';\nimport { __amplify, __authMode, __authToken, __headers, } from '../types';\nimport { Hub } from '@aws-amplify/core';\n/**\n * @private\n *\n * Creates a client that can be used to make GraphQL requests, using a provided `AmplifyClassV6`\n * compatible context object for config and auth fetching.\n *\n * @param params\n * @returns\n */\nexport function generateClient(params) {\n const client = {\n [__amplify]: params.amplify,\n [__authMode]: params.authMode,\n [__authToken]: params.authToken,\n [__headers]: params.headers,\n graphql,\n cancel,\n isCancelError,\n models: {},\n };\n const config = params.amplify.getConfig();\n if (!config.API?.GraphQL) {\n // This happens when the `Amplify.configure()` call gets evaluated after the `generateClient()` call.\n //\n // Cause: when the `generateClient()` and the `Amplify.configure()` calls are located in\n // different source files, script bundlers may randomly arrange their orders in the production\n // bundle.\n //\n // With the current implementation, the `client.models` instance created by `generateClient()`\n // will be rebuilt on every `Amplify.configure()` call that's provided with a valid GraphQL\n // provider configuration.\n //\n // TODO: revisit, and reverify this approach when enabling multiple clients for multi-endpoints\n // configuration.\n client.models = emptyModels;\n generateModelsPropertyOnAmplifyConfigure(client);\n }\n else {\n client.models = generateModelsProperty(client, config.API?.GraphQL);\n }\n return client;\n}\nconst generateModelsPropertyOnAmplifyConfigure = (clientRef) => {\n Hub.listen('core', coreEvent => {\n if (!isConfigureEvent(coreEvent.payload)) {\n return;\n }\n const { data: resourceConfig } = coreEvent.payload;\n if (resourceConfig.API?.GraphQL) {\n clientRef.models = generateModelsProperty(clientRef, resourceConfig.API?.GraphQL);\n }\n });\n};\nfunction isConfigureEvent(payload) {\n return payload.event === 'configure';\n}\nconst emptyModels = new Proxy({}, {\n get() {\n throw new Error('Could not generate client. This is likely due to Amplify.configure() not being called prior to generateClient().');\n },\n});\n"],"names":[],"mappings":";;;;;AAAA;AACA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,cAAc,CAAC,MAAM,EAAE;AACvC,IAAI,MAAM,MAAM,GAAG;AACnB,QAAQ,CAAC,SAAS,GAAG,MAAM,CAAC,OAAO;AACnC,QAAQ,CAAC,UAAU,GAAG,MAAM,CAAC,QAAQ;AACrC,QAAQ,CAAC,WAAW,GAAG,MAAM,CAAC,SAAS;AACvC,QAAQ,CAAC,SAAS,GAAG,MAAM,CAAC,OAAO;AACnC,QAAQ,OAAO;AACf,QAAQ,MAAM;AACd,QAAQ,aAAa;AACrB,QAAQ,MAAM,EAAE,EAAE;AAClB,KAAK,CAAC;AACN,IAAI,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;AAC9C,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,MAAM,CAAC,MAAM,GAAG,WAAW,CAAC;AACpC,QAAQ,wCAAwC,CAAC,MAAM,CAAC,CAAC;AACzD,KAAK;AACL,SAAS;AACT,QAAQ,MAAM,CAAC,MAAM,GAAG,sBAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AAC5E,KAAK;AACL,IAAI,OAAO,MAAM,CAAC;AAClB,CAAC;AACD,MAAM,wCAAwC,GAAG,CAAC,SAAS,KAAK;AAChE,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,IAAI;AACpC,QAAQ,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE;AAClD,YAAY,OAAO;AACnB,SAAS;AACT,QAAQ,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,SAAS,CAAC,OAAO,CAAC;AAC3D,QAAQ,IAAI,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE;AACzC,YAAY,SAAS,CAAC,MAAM,GAAG,sBAAsB,CAAC,SAAS,EAAE,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AAC9F,SAAS;AACT,KAAK,CAAC,CAAC;AACP,CAAC,CAAC;AACF,SAAS,gBAAgB,CAAC,OAAO,EAAE;AACnC,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,WAAW,CAAC;AACzC,CAAC;AACD,MAAM,WAAW,GAAG,IAAI,KAAK,CAAC,EAAE,EAAE;AAClC,IAAI,GAAG,GAAG;AACV,QAAQ,MAAM,IAAI,KAAK,CAAC,kHAAkH,CAAC,CAAC;AAC5I,KAAK;AACL,CAAC,CAAC;;;;"}
1
+ {"version":3,"file":"generateClient.mjs","sources":["../../../src/internals/generateClient.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { Hub } from '@aws-amplify/core';\nimport { graphql, cancel, isCancelError } from './v6';\nimport { generateEnumsProperty } from './utils/generateEnumsProperty';\nimport { generateModelsProperty } from './utils/generateModelsProperty';\nimport { isApiGraphQLConfig } from './utils/isApiGraphQLProviderConfig';\nimport { __amplify, __authMode, __authToken, __headers, } from '../types';\nimport { isConfigureEventWithResourceConfig } from './utils/isConfigureEventWithResourceConfig';\n/**\n * @private\n *\n * Creates a client that can be used to make GraphQL requests, using a provided `AmplifyClassV6`\n * compatible context object for config and auth fetching.\n *\n * @param params\n * @returns\n */\nexport function generateClient(params) {\n const client = {\n [__amplify]: params.amplify,\n [__authMode]: params.authMode,\n [__authToken]: params.authToken,\n [__headers]: params.headers,\n graphql,\n cancel,\n isCancelError,\n models: emptyProperty,\n enums: emptyProperty,\n };\n const apiGraphqlConfig = params.amplify.getConfig().API?.GraphQL;\n if (isApiGraphQLConfig(apiGraphqlConfig)) {\n client.models = generateModelsProperty(client, apiGraphqlConfig);\n client.enums = generateEnumsProperty(apiGraphqlConfig);\n }\n else {\n // This happens when the `Amplify.configure()` call gets evaluated after the `generateClient()` call.\n //\n // Cause: when the `generateClient()` and the `Amplify.configure()` calls are located in\n // different source files, script bundlers may randomly arrange their orders in the production\n // bundle.\n //\n // With the current implementation, the `client.models` instance created by `generateClient()`\n // will be rebuilt on every `Amplify.configure()` call that's provided with a valid GraphQL\n // provider configuration.\n //\n // TODO: revisit, and reverify this approach when enabling multiple clients for multi-endpoints\n // configuration.\n generateModelsPropertyOnAmplifyConfigure(client);\n }\n return client;\n}\nconst generateModelsPropertyOnAmplifyConfigure = (clientRef) => {\n Hub.listen('core', coreEvent => {\n if (!isConfigureEventWithResourceConfig(coreEvent.payload)) {\n return;\n }\n const apiGraphQLConfig = coreEvent.payload.data.API?.GraphQL;\n if (isApiGraphQLConfig(apiGraphQLConfig)) {\n clientRef.models = generateModelsProperty(clientRef, apiGraphQLConfig);\n clientRef.enums = generateEnumsProperty(apiGraphQLConfig);\n }\n });\n};\nconst emptyProperty = new Proxy({}, {\n get() {\n throw new Error('Client could not be generated. This is likely due to `Amplify.configure()` not being called prior to `generateClient()` or because the configuration passed to `Amplify.configure()` is missing GraphQL provider configuration.');\n },\n});\n"],"names":[],"mappings":";;;;;;;;AAAA;AACA;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,cAAc,CAAC,MAAM,EAAE;AACvC,IAAI,MAAM,MAAM,GAAG;AACnB,QAAQ,CAAC,SAAS,GAAG,MAAM,CAAC,OAAO;AACnC,QAAQ,CAAC,UAAU,GAAG,MAAM,CAAC,QAAQ;AACrC,QAAQ,CAAC,WAAW,GAAG,MAAM,CAAC,SAAS;AACvC,QAAQ,CAAC,SAAS,GAAG,MAAM,CAAC,OAAO;AACnC,QAAQ,OAAO;AACf,QAAQ,MAAM;AACd,QAAQ,aAAa;AACrB,QAAQ,MAAM,EAAE,aAAa;AAC7B,QAAQ,KAAK,EAAE,aAAa;AAC5B,KAAK,CAAC;AACN,IAAI,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC;AACrE,IAAI,IAAI,kBAAkB,CAAC,gBAAgB,CAAC,EAAE;AAC9C,QAAQ,MAAM,CAAC,MAAM,GAAG,sBAAsB,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;AACzE,QAAQ,MAAM,CAAC,KAAK,GAAG,qBAAqB,CAAC,gBAAgB,CAAC,CAAC;AAC/D,KAAK;AACL,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,wCAAwC,CAAC,MAAM,CAAC,CAAC;AACzD,KAAK;AACL,IAAI,OAAO,MAAM,CAAC;AAClB,CAAC;AACD,MAAM,wCAAwC,GAAG,CAAC,SAAS,KAAK;AAChE,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,IAAI;AACpC,QAAQ,IAAI,CAAC,kCAAkC,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE;AACpE,YAAY,OAAO;AACnB,SAAS;AACT,QAAQ,MAAM,gBAAgB,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC;AACrE,QAAQ,IAAI,kBAAkB,CAAC,gBAAgB,CAAC,EAAE;AAClD,YAAY,SAAS,CAAC,MAAM,GAAG,sBAAsB,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;AACnF,YAAY,SAAS,CAAC,KAAK,GAAG,qBAAqB,CAAC,gBAAgB,CAAC,CAAC;AACtE,SAAS;AACT,KAAK,CAAC,CAAC;AACP,CAAC,CAAC;AACF,MAAM,aAAa,GAAG,IAAI,KAAK,CAAC,EAAE,EAAE;AACpC,IAAI,GAAG,GAAG;AACV,QAAQ,MAAM,IAAI,KAAK,CAAC,iOAAiO,CAAC,CAAC;AAC3P,KAAK;AACL,CAAC,CAAC;;;;"}
@@ -0,0 +1,3 @@
1
+ import { GraphQLProviderConfig } from '@aws-amplify/core/internals/utils';
2
+ import { EnumTypes } from '@aws-amplify/data-schema-types';
3
+ export declare const generateEnumsProperty: <T extends Record<any, any> = never>(graphqlConfig: GraphQLProviderConfig['GraphQL']) => EnumTypes<T>;
@@ -0,0 +1,18 @@
1
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ const generateEnumsProperty = (graphqlConfig) => {
4
+ const modelIntrospection = graphqlConfig.modelIntrospection;
5
+ if (!modelIntrospection) {
6
+ return {};
7
+ }
8
+ const enums = {};
9
+ for (const [_, enumData] of Object.entries(modelIntrospection.enums)) {
10
+ enums[enumData.name] = {
11
+ values: () => enumData.values,
12
+ };
13
+ }
14
+ return enums;
15
+ };
16
+
17
+ export { generateEnumsProperty };
18
+ //# sourceMappingURL=generateEnumsProperty.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generateEnumsProperty.mjs","sources":["../../../../src/internals/utils/generateEnumsProperty.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nexport const generateEnumsProperty = (graphqlConfig) => {\n const modelIntrospection = graphqlConfig.modelIntrospection;\n if (!modelIntrospection) {\n return {};\n }\n const enums = {};\n for (const [_, enumData] of Object.entries(modelIntrospection.enums)) {\n enums[enumData.name] = {\n values: () => enumData.values,\n };\n }\n return enums;\n};\n"],"names":[],"mappings":"AAAA;AACA;AACY,MAAC,qBAAqB,GAAG,CAAC,aAAa,KAAK;AACxD,IAAI,MAAM,kBAAkB,GAAG,aAAa,CAAC,kBAAkB,CAAC;AAChE,IAAI,IAAI,CAAC,kBAAkB,EAAE;AAC7B,QAAQ,OAAO,EAAE,CAAC;AAClB,KAAK;AACL,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;AACrB,IAAI,KAAK,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE;AAC1E,QAAQ,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG;AAC/B,YAAY,MAAM,EAAE,MAAM,QAAQ,CAAC,MAAM;AACzC,SAAS,CAAC;AACV,KAAK;AACL,IAAI,OAAO,KAAK,CAAC;AACjB;;;;"}
@@ -0,0 +1,4 @@
1
+ import { ModelTypes } from '@aws-amplify/data-schema-types';
2
+ import { V6Client } from '../../types';
3
+ import { GraphQLProviderConfig } from '@aws-amplify/core/internals/utils';
4
+ export declare function generateModelsProperty<T extends Record<any, any> = never>(client: V6Client<Record<string, any>>, apiGraphQLConfig: GraphQLProviderConfig['GraphQL']): ModelTypes<T>;
@@ -1,14 +1,14 @@
1
- import { graphQLOperationsInfo } from './APIClient.mjs';
2
- import { listFactory } from './operations/list.mjs';
3
- import { indexQueryFactory } from './operations/indexQuery.mjs';
4
- import { getFactory } from './operations/get.mjs';
5
- import { subscriptionFactory } from './operations/subscription.mjs';
6
- import { observeQueryFactory } from './operations/observeQuery.mjs';
7
- import { getSecondaryIndexesFromSchemaModel } from './clientUtils.mjs';
1
+ import { graphQLOperationsInfo } from '../APIClient.mjs';
2
+ import { listFactory } from '../operations/list.mjs';
3
+ import { indexQueryFactory } from '../operations/indexQuery.mjs';
4
+ import { getFactory } from '../operations/get.mjs';
5
+ import { subscriptionFactory } from '../operations/subscription.mjs';
6
+ import { observeQueryFactory } from '../operations/observeQuery.mjs';
7
+ import { getSecondaryIndexesFromSchemaModel } from '../clientUtils.mjs';
8
8
 
9
- function generateModelsProperty(client, graphqlConfig) {
9
+ function generateModelsProperty(client, apiGraphQLConfig) {
10
10
  const models = {};
11
- const modelIntrospection = graphqlConfig.modelIntrospection;
11
+ const modelIntrospection = apiGraphQLConfig.modelIntrospection;
12
12
  if (!modelIntrospection) {
13
13
  return {};
14
14
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generateModelsProperty.mjs","sources":["../../../../src/internals/utils/generateModelsProperty.ts"],"sourcesContent":["import { graphQLOperationsInfo } from '../APIClient';\nimport { listFactory } from '../operations/list';\nimport { indexQueryFactory } from '../operations/indexQuery';\nimport { getFactory } from '../operations/get';\nimport { subscriptionFactory } from '../operations/subscription';\nimport { observeQueryFactory } from '../operations/observeQuery';\nimport { getSecondaryIndexesFromSchemaModel } from '../clientUtils';\nexport function generateModelsProperty(client, apiGraphQLConfig) {\n const models = {};\n const modelIntrospection = apiGraphQLConfig.modelIntrospection;\n if (!modelIntrospection) {\n return {};\n }\n const SUBSCRIPTION_OPS = ['ONCREATE', 'ONUPDATE', 'ONDELETE'];\n for (const model of Object.values(modelIntrospection.models)) {\n const { name } = model;\n models[name] = {};\n Object.entries(graphQLOperationsInfo).forEach(([key, { operationPrefix }]) => {\n const operation = key;\n if (operation === 'LIST') {\n models[name][operationPrefix] = listFactory(client, modelIntrospection, model);\n }\n else if (SUBSCRIPTION_OPS.includes(operation)) {\n models[name][operationPrefix] = subscriptionFactory(client, modelIntrospection, model, operation);\n }\n else if (operation === 'OBSERVE_QUERY') {\n models[name][operationPrefix] = observeQueryFactory(models, model);\n }\n else {\n models[name][operationPrefix] = getFactory(client, modelIntrospection, model, operation);\n }\n });\n const secondaryIdxs = getSecondaryIndexesFromSchemaModel(model);\n for (const idx of secondaryIdxs) {\n models[name][idx.queryField] = indexQueryFactory(client, modelIntrospection, model, idx);\n }\n }\n return models;\n}\n"],"names":[],"mappings":";;;;;;;;AAOO,SAAS,sBAAsB,CAAC,MAAM,EAAE,gBAAgB,EAAE;AACjE,IAAI,MAAM,MAAM,GAAG,EAAE,CAAC;AACtB,IAAI,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,kBAAkB,CAAC;AACnE,IAAI,IAAI,CAAC,kBAAkB,EAAE;AAC7B,QAAQ,OAAO,EAAE,CAAC;AAClB,KAAK;AACL,IAAI,MAAM,gBAAgB,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;AAClE,IAAI,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE;AAClE,QAAQ,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;AAC/B,QAAQ,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;AAC1B,QAAQ,MAAM,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,eAAe,EAAE,CAAC,KAAK;AACtF,YAAY,MAAM,SAAS,GAAG,GAAG,CAAC;AAClC,YAAY,IAAI,SAAS,KAAK,MAAM,EAAE;AACtC,gBAAgB,MAAM,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,kBAAkB,EAAE,KAAK,CAAC,CAAC;AAC/F,aAAa;AACb,iBAAiB,IAAI,gBAAgB,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;AAC3D,gBAAgB,MAAM,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,GAAG,mBAAmB,CAAC,MAAM,EAAE,kBAAkB,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;AAClH,aAAa;AACb,iBAAiB,IAAI,SAAS,KAAK,eAAe,EAAE;AACpD,gBAAgB,MAAM,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,GAAG,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AACnF,aAAa;AACb,iBAAiB;AACjB,gBAAgB,MAAM,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,kBAAkB,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;AACzG,aAAa;AACb,SAAS,CAAC,CAAC;AACX,QAAQ,MAAM,aAAa,GAAG,kCAAkC,CAAC,KAAK,CAAC,CAAC;AACxE,QAAQ,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE;AACzC,YAAY,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,iBAAiB,CAAC,MAAM,EAAE,kBAAkB,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;AACrG,SAAS;AACT,KAAK;AACL,IAAI,OAAO,MAAM,CAAC;AAClB;;;;"}
@@ -0,0 +1,2 @@
1
+ import { GraphQLProviderConfig } from '@aws-amplify/core/internals/utils';
2
+ export declare function isApiGraphQLConfig(apiGraphQLConfig: GraphQLProviderConfig['GraphQL'] | undefined): apiGraphQLConfig is GraphQLProviderConfig['GraphQL'];
@@ -0,0 +1,8 @@
1
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ function isApiGraphQLConfig(apiGraphQLConfig) {
4
+ return apiGraphQLConfig !== undefined;
5
+ }
6
+
7
+ export { isApiGraphQLConfig };
8
+ //# sourceMappingURL=isApiGraphQLProviderConfig.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isApiGraphQLProviderConfig.mjs","sources":["../../../../src/internals/utils/isApiGraphQLProviderConfig.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nexport function isApiGraphQLConfig(apiGraphQLConfig) {\n return apiGraphQLConfig !== undefined;\n}\n"],"names":[],"mappings":"AAAA;AACA;AACO,SAAS,kBAAkB,CAAC,gBAAgB,EAAE;AACrD,IAAI,OAAO,gBAAgB,KAAK,SAAS,CAAC;AAC1C;;;;"}
@@ -0,0 +1,8 @@
1
+ import { HubCapsule, ResourcesConfig } from '@aws-amplify/core';
2
+ export declare function isConfigureEventWithResourceConfig(payload: HubCapsule<'core', {
3
+ event: string;
4
+ data?: unknown;
5
+ }>['payload']): payload is {
6
+ event: 'configure';
7
+ data: ResourcesConfig;
8
+ };
@@ -0,0 +1,8 @@
1
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ function isConfigureEventWithResourceConfig(payload) {
4
+ return payload.event === 'configure';
5
+ }
6
+
7
+ export { isConfigureEventWithResourceConfig };
8
+ //# sourceMappingURL=isConfigureEventWithResourceConfig.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isConfigureEventWithResourceConfig.mjs","sources":["../../../../src/internals/utils/isConfigureEventWithResourceConfig.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nexport function isConfigureEventWithResourceConfig(payload) {\n return payload.event === 'configure';\n}\n"],"names":[],"mappings":"AAAA;AACA;AACO,SAAS,kCAAkC,CAAC,OAAO,EAAE;AAC5D,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,WAAW,CAAC;AACzC;;;;"}
@@ -1,5 +1,5 @@
1
1
  import { AmplifyClassV6, ResourcesConfig } from '@aws-amplify/core';
2
- import { ModelTypes, CustomHeaders } from '@aws-amplify/data-schema-types';
2
+ import { ModelTypes, CustomHeaders, EnumTypes } from '@aws-amplify/data-schema-types';
3
3
  import { Source, DocumentNode, GraphQLError } from 'graphql';
4
4
  export { OperationTypeNode } from 'graphql';
5
5
  import { Observable } from 'rxjs';
@@ -294,6 +294,7 @@ export type V6Client<T extends Record<any, any> = never> = ExcludeNeverFields<{
294
294
  cancel: (promise: Promise<any>, message?: string) => boolean;
295
295
  isCancelError: (error: any) => boolean;
296
296
  models: ModelTypes<T>;
297
+ enums: EnumTypes<T>;
297
298
  }>;
298
299
  export type V6ClientSSRRequest<T extends Record<any, any> = never> = ExcludeNeverFields<{
299
300
  [__amplify]: AmplifyClassV6;
@@ -4,8 +4,11 @@ import { AmplifyClassV6 } from '@aws-amplify/core';
4
4
  */
5
5
  export declare const resolveLibraryOptions: (amplify: AmplifyClassV6) => {
6
6
  headers: ((options?: {
7
+ /**
8
+ * @internal
9
+ */
7
10
  query?: string | undefined;
8
11
  variables?: Record<string, import("@aws-amplify/core/internals/utils").DocumentType> | undefined;
9
- } | undefined) => Promise<{} | import("@aws-amplify/core/internals/aws-client-utils").Headers>) | undefined;
12
+ } | undefined) => Promise<Record<string, unknown> | import("@aws-amplify/core/internals/aws-client-utils").Headers>) | undefined;
10
13
  withCredentials: boolean | undefined;
11
14
  };