@aws-amplify/data-schema 0.15.0 → 0.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (375) hide show
  1. package/{lib-esm/src → dist/cjs}/Authorization.js +149 -31
  2. package/dist/cjs/Authorization.js.map +1 -0
  3. package/{lib-esm/src → dist/cjs}/ClientSchema.js +3 -1
  4. package/dist/cjs/ClientSchema.js.map +1 -0
  5. package/{lib-esm/src → dist/cjs}/CombineSchema.js +3 -2
  6. package/dist/cjs/CombineSchema.js.map +1 -0
  7. package/{lib-esm/src → dist/cjs}/CustomOperation.js +7 -3
  8. package/dist/cjs/CustomOperation.js.map +1 -0
  9. package/{lib-esm/src → dist/cjs}/CustomType.js +3 -1
  10. package/dist/cjs/CustomType.js.map +1 -0
  11. package/{lib-esm/src → dist/cjs}/EnumType.js +3 -1
  12. package/dist/cjs/EnumType.js.map +1 -0
  13. package/{lib-esm/src → dist/cjs}/Handler.js +3 -1
  14. package/dist/cjs/Handler.js.map +1 -0
  15. package/{lib-esm/src → dist/cjs}/MappedTypes/CustomOperations.js +3 -1
  16. package/dist/cjs/MappedTypes/CustomOperations.js.map +1 -0
  17. package/dist/cjs/MappedTypes/ExtractNonModelTypes.js +4 -0
  18. package/dist/cjs/MappedTypes/ExtractNonModelTypes.js.map +1 -0
  19. package/dist/cjs/MappedTypes/ImplicitFieldInjector.js +4 -0
  20. package/dist/cjs/MappedTypes/ImplicitFieldInjector.js.map +1 -0
  21. package/{lib-esm/src → dist/cjs}/MappedTypes/MapSecondaryIndexes.js +3 -1
  22. package/dist/cjs/MappedTypes/MapSecondaryIndexes.js.map +1 -0
  23. package/{lib-esm/src → dist/cjs}/MappedTypes/ModelMetadata.js +3 -1
  24. package/dist/cjs/MappedTypes/ModelMetadata.js.map +1 -0
  25. package/dist/cjs/MappedTypes/ResolveFieldProperties.js +4 -0
  26. package/dist/cjs/MappedTypes/ResolveFieldProperties.js.map +1 -0
  27. package/{lib-esm/src → dist/cjs}/MappedTypes/ResolveSchema.js +3 -1
  28. package/dist/cjs/MappedTypes/ResolveSchema.js.map +1 -0
  29. package/{lib-esm/src → dist/cjs}/ModelField.js +8 -3
  30. package/dist/cjs/ModelField.js.map +1 -0
  31. package/{lib-esm/src → dist/cjs}/ModelIndex.js +3 -1
  32. package/dist/cjs/ModelIndex.js.map +1 -0
  33. package/{lib-esm/src → dist/cjs}/ModelRelationalField.js +7 -10
  34. package/dist/cjs/ModelRelationalField.js.map +1 -0
  35. package/{lib-esm/src → dist/cjs}/ModelSchema.js +10 -5
  36. package/dist/cjs/ModelSchema.js.map +1 -0
  37. package/{lib-esm/src → dist/cjs}/ModelType.js +8 -3
  38. package/dist/cjs/ModelType.js.map +1 -0
  39. package/{lib-esm/src → dist/cjs}/RefType.js +8 -5
  40. package/dist/cjs/RefType.js.map +1 -0
  41. package/{lib-esm/src → dist/cjs}/SchemaProcessor.js +15 -61
  42. package/dist/cjs/SchemaProcessor.js.map +1 -0
  43. package/{lib-esm/src/index.js → dist/cjs/a.js} +4 -4
  44. package/dist/cjs/a.js.map +1 -0
  45. package/dist/cjs/index.js +8 -0
  46. package/dist/cjs/index.js.map +1 -0
  47. package/{lib-esm/src → dist/cjs}/internals/index.js +3 -1
  48. package/dist/cjs/internals/index.js.map +1 -0
  49. package/dist/cjs/runtime/addSchemaToClient.js +17 -0
  50. package/dist/cjs/runtime/addSchemaToClient.js.map +1 -0
  51. package/dist/cjs/runtime/addSchemaToClientWithInstance.js +22 -0
  52. package/dist/cjs/runtime/addSchemaToClientWithInstance.js.map +1 -0
  53. package/dist/cjs/runtime/bridge-types.js +15 -0
  54. package/dist/cjs/runtime/bridge-types.js.map +1 -0
  55. package/dist/cjs/runtime/client/index.js +17 -0
  56. package/dist/cjs/runtime/client/index.js.map +1 -0
  57. package/dist/cjs/runtime/client/index.v3.js +7 -0
  58. package/dist/cjs/runtime/client/index.v3.js.map +1 -0
  59. package/dist/cjs/runtime/index.js +13 -0
  60. package/dist/cjs/runtime/index.js.map +1 -0
  61. package/dist/cjs/runtime/index.v3.js +13 -0
  62. package/dist/cjs/runtime/index.v3.js.map +1 -0
  63. package/dist/cjs/runtime/internals/APIClient.js +740 -0
  64. package/dist/cjs/runtime/internals/APIClient.js.map +1 -0
  65. package/dist/cjs/runtime/internals/clientUtils.js +29 -0
  66. package/dist/cjs/runtime/internals/clientUtils.js.map +1 -0
  67. package/dist/cjs/runtime/internals/generateCustomOperationsProperty.js +49 -0
  68. package/dist/cjs/runtime/internals/generateCustomOperationsProperty.js.map +1 -0
  69. package/dist/cjs/runtime/internals/index.js +21 -0
  70. package/dist/cjs/runtime/internals/index.js.map +1 -0
  71. package/dist/cjs/runtime/internals/operations/custom.js +356 -0
  72. package/dist/cjs/runtime/internals/operations/custom.js.map +1 -0
  73. package/dist/cjs/runtime/internals/operations/get.js +62 -0
  74. package/dist/cjs/runtime/internals/operations/get.js.map +1 -0
  75. package/dist/cjs/runtime/internals/operations/indexQuery.js +75 -0
  76. package/dist/cjs/runtime/internals/operations/indexQuery.js.map +1 -0
  77. package/dist/cjs/runtime/internals/operations/list.js +74 -0
  78. package/dist/cjs/runtime/internals/operations/list.js.map +1 -0
  79. package/dist/cjs/runtime/internals/operations/observeQuery.js +121 -0
  80. package/dist/cjs/runtime/internals/operations/observeQuery.js.map +1 -0
  81. package/dist/cjs/runtime/internals/operations/subscription.js +31 -0
  82. package/dist/cjs/runtime/internals/operations/subscription.js.map +1 -0
  83. package/dist/cjs/runtime/internals/server/generateModelsProperty.js +53 -0
  84. package/dist/cjs/runtime/internals/server/generateModelsProperty.js.map +1 -0
  85. package/dist/cjs/runtime/internals/server/index.js +8 -0
  86. package/dist/cjs/runtime/internals/server/index.js.map +1 -0
  87. package/dist/cjs/runtime/internals/utils/clientProperties/generateEnumsProperty.js +21 -0
  88. package/dist/cjs/runtime/internals/utils/clientProperties/generateEnumsProperty.js.map +1 -0
  89. package/dist/cjs/runtime/internals/utils/clientProperties/generateModelsProperty.js +45 -0
  90. package/dist/cjs/runtime/internals/utils/clientProperties/generateModelsProperty.js.map +1 -0
  91. package/dist/cjs/runtime/internals/utils/runtimeTypeGuards/isApiGraphQLProviderConfig.js +11 -0
  92. package/dist/cjs/runtime/internals/utils/runtimeTypeGuards/isApiGraphQLProviderConfig.js.map +1 -0
  93. package/dist/cjs/runtime/internals/utils/runtimeTypeGuards/isConfigureEventWithResourceConfig.js +11 -0
  94. package/dist/cjs/runtime/internals/utils/runtimeTypeGuards/isConfigureEventWithResourceConfig.js.map +1 -0
  95. package/dist/cjs/runtime/internals/utils/runtimeTypeGuards/isGraphQLResponseWithErrors.js +15 -0
  96. package/dist/cjs/runtime/internals/utils/runtimeTypeGuards/isGraphQLResponseWithErrors.js.map +1 -0
  97. package/dist/cjs/runtime/utils/findIndexByFields.js +25 -0
  98. package/dist/cjs/runtime/utils/findIndexByFields.js.map +1 -0
  99. package/dist/cjs/runtime/utils/index.js +11 -0
  100. package/dist/cjs/runtime/utils/index.js.map +1 -0
  101. package/dist/cjs/runtime/utils/resolveOwnerFields.js +48 -0
  102. package/dist/cjs/runtime/utils/resolveOwnerFields.js.map +1 -0
  103. package/dist/cjs/runtime/utils/resolvePKFields.js +17 -0
  104. package/dist/cjs/runtime/utils/resolvePKFields.js.map +1 -0
  105. package/{lib-esm/src → dist/cjs}/util/Brand.js +3 -1
  106. package/dist/cjs/util/Brand.js.map +1 -0
  107. package/{lib-esm/src → dist/cjs}/util/IndexLimit.js +3 -1
  108. package/dist/cjs/util/IndexLimit.js.map +1 -0
  109. package/{lib-esm/src → dist/cjs}/util/SpreadTuple.js +3 -1
  110. package/dist/cjs/util/SpreadTuple.js.map +1 -0
  111. package/{lib-esm/src → dist/cjs}/util/index.js +3 -1
  112. package/dist/cjs/util/index.js.map +1 -0
  113. package/{lib-esm/src → dist/esm}/Authorization.d.ts +105 -31
  114. package/dist/esm/Authorization.mjs +446 -0
  115. package/dist/esm/Authorization.mjs.map +1 -0
  116. package/{lib-esm/src → dist/esm}/ClientSchema.d.ts +1 -2
  117. package/dist/esm/ClientSchema.mjs +2 -0
  118. package/dist/esm/ClientSchema.mjs.map +1 -0
  119. package/{lib-esm/src → dist/esm}/CombineSchema.d.ts +0 -1
  120. package/dist/esm/CombineSchema.mjs +39 -0
  121. package/dist/esm/CombineSchema.mjs.map +1 -0
  122. package/{lib-esm/src → dist/esm}/CustomOperation.d.ts +2 -3
  123. package/dist/esm/CustomOperation.mjs +67 -0
  124. package/dist/esm/CustomOperation.mjs.map +1 -0
  125. package/{lib-esm/src → dist/esm}/CustomType.d.ts +0 -1
  126. package/dist/esm/CustomType.mjs +13 -0
  127. package/dist/esm/CustomType.mjs.map +1 -0
  128. package/{lib-esm/src → dist/esm}/EnumType.d.ts +0 -1
  129. package/dist/esm/EnumType.mjs +16 -0
  130. package/dist/esm/EnumType.mjs.map +1 -0
  131. package/{lib-esm/src → dist/esm}/Handler.d.ts +0 -1
  132. package/dist/esm/Handler.mjs +48 -0
  133. package/dist/esm/Handler.mjs.map +1 -0
  134. package/{lib-esm/src → dist/esm}/MappedTypes/CustomOperations.d.ts +0 -1
  135. package/dist/esm/MappedTypes/CustomOperations.mjs +2 -0
  136. package/dist/esm/MappedTypes/CustomOperations.mjs.map +1 -0
  137. package/{lib-esm/src → dist/esm}/MappedTypes/ExtractNonModelTypes.d.ts +0 -1
  138. package/dist/esm/MappedTypes/ExtractNonModelTypes.mjs +2 -0
  139. package/dist/esm/MappedTypes/ExtractNonModelTypes.mjs.map +1 -0
  140. package/{lib-esm/src → dist/esm}/MappedTypes/ImplicitFieldInjector.d.ts +0 -1
  141. package/dist/esm/MappedTypes/ImplicitFieldInjector.mjs +2 -0
  142. package/dist/esm/MappedTypes/ImplicitFieldInjector.mjs.map +1 -0
  143. package/{lib-esm/src → dist/esm}/MappedTypes/MapSecondaryIndexes.d.ts +0 -1
  144. package/dist/esm/MappedTypes/MapSecondaryIndexes.mjs +2 -0
  145. package/dist/esm/MappedTypes/MapSecondaryIndexes.mjs.map +1 -0
  146. package/{lib-esm/src → dist/esm}/MappedTypes/ModelMetadata.d.ts +0 -1
  147. package/dist/esm/MappedTypes/ModelMetadata.mjs +2 -0
  148. package/dist/esm/MappedTypes/ModelMetadata.mjs.map +1 -0
  149. package/{lib-esm/src → dist/esm}/MappedTypes/ResolveFieldProperties.d.ts +0 -1
  150. package/dist/esm/MappedTypes/ResolveFieldProperties.mjs +2 -0
  151. package/dist/esm/MappedTypes/ResolveFieldProperties.mjs.map +1 -0
  152. package/{lib-esm/src → dist/esm}/MappedTypes/ResolveSchema.d.ts +0 -1
  153. package/dist/esm/MappedTypes/ResolveSchema.mjs +2 -0
  154. package/dist/esm/MappedTypes/ResolveSchema.mjs.map +1 -0
  155. package/{lib-esm/src → dist/esm}/ModelField.d.ts +2 -3
  156. package/dist/esm/ModelField.mjs +199 -0
  157. package/dist/esm/ModelField.mjs.map +1 -0
  158. package/{lib-esm/src → dist/esm}/ModelIndex.d.ts +0 -1
  159. package/dist/esm/ModelIndex.mjs +33 -0
  160. package/dist/esm/ModelIndex.mjs.map +1 -0
  161. package/{lib-esm/src → dist/esm}/ModelRelationalField.d.ts +3 -4
  162. package/dist/esm/ModelRelationalField.mjs +88 -0
  163. package/dist/esm/ModelRelationalField.mjs.map +1 -0
  164. package/{lib-esm/src → dist/esm}/ModelSchema.d.ts +3 -4
  165. package/dist/esm/ModelSchema.mjs +163 -0
  166. package/dist/esm/ModelSchema.mjs.map +1 -0
  167. package/{lib-esm/src → dist/esm}/ModelType.d.ts +2 -3
  168. package/dist/esm/ModelType.mjs +66 -0
  169. package/dist/esm/ModelType.mjs.map +1 -0
  170. package/{lib-esm/src → dist/esm}/RefType.d.ts +2 -3
  171. package/dist/esm/RefType.mjs +48 -0
  172. package/dist/esm/RefType.mjs.map +1 -0
  173. package/{lib-esm/src → dist/esm}/SchemaProcessor.d.ts +0 -1
  174. package/dist/esm/SchemaProcessor.mjs +926 -0
  175. package/dist/esm/SchemaProcessor.mjs.map +1 -0
  176. package/{lib-esm/src/index.d.ts → dist/esm/a.d.ts} +1 -3
  177. package/dist/esm/a.mjs +11 -0
  178. package/dist/esm/a.mjs.map +1 -0
  179. package/dist/esm/index.d.ts +4 -0
  180. package/dist/esm/index.mjs +3 -0
  181. package/dist/esm/index.mjs.map +1 -0
  182. package/dist/esm/internals/index.d.ts +2 -0
  183. package/dist/esm/internals/index.mjs +2 -0
  184. package/dist/esm/internals/index.mjs.map +1 -0
  185. package/dist/esm/runtime/addSchemaToClient.d.ts +3 -0
  186. package/dist/esm/runtime/addSchemaToClient.mjs +17 -0
  187. package/dist/esm/runtime/addSchemaToClient.mjs.map +1 -0
  188. package/dist/esm/runtime/addSchemaToClientWithInstance.d.ts +3 -0
  189. package/dist/esm/runtime/addSchemaToClientWithInstance.mjs +22 -0
  190. package/dist/esm/runtime/addSchemaToClientWithInstance.mjs.map +1 -0
  191. package/dist/esm/runtime/bridge-types.d.ts +281 -0
  192. package/dist/esm/runtime/bridge-types.mjs +13 -0
  193. package/dist/esm/runtime/bridge-types.mjs.map +1 -0
  194. package/dist/esm/runtime/client/index.d.ts +571 -0
  195. package/dist/esm/runtime/client/index.mjs +2 -0
  196. package/dist/esm/runtime/client/index.mjs.map +1 -0
  197. package/dist/esm/runtime/client/index.v3.d.ts +15 -0
  198. package/dist/esm/runtime/client/index.v3.mjs +2 -0
  199. package/dist/esm/runtime/client/index.v3.mjs.map +1 -0
  200. package/dist/esm/runtime/index.d.ts +4 -0
  201. package/dist/esm/runtime/index.mjs +4 -0
  202. package/dist/esm/runtime/index.mjs.map +1 -0
  203. package/dist/esm/runtime/index.v3.d.ts +4 -0
  204. package/dist/esm/runtime/index.v3.mjs +4 -0
  205. package/dist/esm/runtime/index.v3.mjs.map +1 -0
  206. package/dist/esm/runtime/internals/APIClient.d.ts +125 -0
  207. package/dist/esm/runtime/internals/APIClient.mjs +728 -0
  208. package/dist/esm/runtime/internals/APIClient.mjs.map +1 -0
  209. package/dist/esm/runtime/internals/clientUtils.d.ts +6 -0
  210. package/dist/esm/runtime/internals/clientUtils.mjs +26 -0
  211. package/dist/esm/runtime/internals/clientUtils.mjs.map +1 -0
  212. package/dist/esm/runtime/internals/generateCustomOperationsProperty.d.ts +8 -0
  213. package/dist/esm/runtime/internals/generateCustomOperationsProperty.mjs +44 -0
  214. package/dist/esm/runtime/internals/generateCustomOperationsProperty.mjs.map +1 -0
  215. package/dist/esm/runtime/internals/index.d.ts +6 -0
  216. package/dist/esm/runtime/internals/index.mjs +7 -0
  217. package/dist/esm/runtime/internals/index.mjs.map +1 -0
  218. package/dist/esm/runtime/internals/operations/custom.d.ts +61 -0
  219. package/dist/esm/runtime/internals/operations/custom.mjs +354 -0
  220. package/dist/esm/runtime/internals/operations/custom.mjs.map +1 -0
  221. package/dist/esm/runtime/internals/operations/get.d.ts +3 -0
  222. package/dist/esm/runtime/internals/operations/get.mjs +60 -0
  223. package/dist/esm/runtime/internals/operations/get.mjs.map +1 -0
  224. package/dist/esm/runtime/internals/operations/indexQuery.d.ts +7 -0
  225. package/dist/esm/runtime/internals/operations/indexQuery.mjs +73 -0
  226. package/dist/esm/runtime/internals/operations/indexQuery.mjs.map +1 -0
  227. package/dist/esm/runtime/internals/operations/list.d.ts +2 -0
  228. package/dist/esm/runtime/internals/operations/list.mjs +72 -0
  229. package/dist/esm/runtime/internals/operations/list.mjs.map +1 -0
  230. package/dist/esm/runtime/internals/operations/observeQuery.d.ts +3 -0
  231. package/dist/esm/runtime/internals/operations/observeQuery.mjs +120 -0
  232. package/dist/esm/runtime/internals/operations/observeQuery.mjs.map +1 -0
  233. package/dist/esm/runtime/internals/operations/subscription.d.ts +3 -0
  234. package/dist/esm/runtime/internals/operations/subscription.mjs +29 -0
  235. package/dist/esm/runtime/internals/operations/subscription.mjs.map +1 -0
  236. package/dist/esm/runtime/internals/server/generateModelsProperty.d.ts +3 -0
  237. package/dist/esm/runtime/internals/server/generateModelsProperty.mjs +51 -0
  238. package/dist/esm/runtime/internals/server/generateModelsProperty.mjs.map +1 -0
  239. package/dist/esm/runtime/internals/server/index.d.ts +1 -0
  240. package/dist/esm/runtime/internals/server/index.mjs +2 -0
  241. package/dist/esm/runtime/internals/server/index.mjs.map +1 -0
  242. package/dist/esm/runtime/internals/utils/clientProperties/generateEnumsProperty.d.ts +3 -0
  243. package/dist/esm/runtime/internals/utils/clientProperties/generateEnumsProperty.mjs +18 -0
  244. package/dist/esm/runtime/internals/utils/clientProperties/generateEnumsProperty.mjs.map +1 -0
  245. package/dist/esm/runtime/internals/utils/clientProperties/generateModelsProperty.d.ts +3 -0
  246. package/dist/esm/runtime/internals/utils/clientProperties/generateModelsProperty.mjs +43 -0
  247. package/dist/esm/runtime/internals/utils/clientProperties/generateModelsProperty.mjs.map +1 -0
  248. package/dist/esm/runtime/internals/utils/runtimeTypeGuards/isApiGraphQLProviderConfig.d.ts +2 -0
  249. package/dist/esm/runtime/internals/utils/runtimeTypeGuards/isApiGraphQLProviderConfig.mjs +8 -0
  250. package/dist/esm/runtime/internals/utils/runtimeTypeGuards/isApiGraphQLProviderConfig.mjs.map +1 -0
  251. package/dist/esm/runtime/internals/utils/runtimeTypeGuards/isConfigureEventWithResourceConfig.d.ts +8 -0
  252. package/dist/esm/runtime/internals/utils/runtimeTypeGuards/isConfigureEventWithResourceConfig.mjs +8 -0
  253. package/dist/esm/runtime/internals/utils/runtimeTypeGuards/isConfigureEventWithResourceConfig.mjs.map +1 -0
  254. package/dist/esm/runtime/internals/utils/runtimeTypeGuards/isGraphQLResponseWithErrors.d.ts +2 -0
  255. package/dist/esm/runtime/internals/utils/runtimeTypeGuards/isGraphQLResponseWithErrors.mjs +12 -0
  256. package/dist/esm/runtime/internals/utils/runtimeTypeGuards/isGraphQLResponseWithErrors.mjs.map +1 -0
  257. package/dist/esm/runtime/utils/findIndexByFields.d.ts +9 -0
  258. package/dist/esm/runtime/utils/findIndexByFields.mjs +22 -0
  259. package/dist/esm/runtime/utils/findIndexByFields.mjs.map +1 -0
  260. package/dist/esm/runtime/utils/index.d.ts +2 -0
  261. package/dist/esm/runtime/utils/index.mjs +3 -0
  262. package/dist/esm/runtime/utils/index.mjs.map +1 -0
  263. package/dist/esm/runtime/utils/resolveOwnerFields.d.ts +12 -0
  264. package/dist/esm/runtime/utils/resolveOwnerFields.mjs +45 -0
  265. package/dist/esm/runtime/utils/resolveOwnerFields.mjs.map +1 -0
  266. package/dist/esm/runtime/utils/resolvePKFields.d.ts +13 -0
  267. package/dist/esm/runtime/utils/resolvePKFields.mjs +14 -0
  268. package/dist/esm/runtime/utils/resolvePKFields.mjs.map +1 -0
  269. package/{lib-esm/src → dist/esm}/util/Brand.d.ts +0 -1
  270. package/dist/esm/util/Brand.mjs +30 -0
  271. package/dist/esm/util/Brand.mjs.map +1 -0
  272. package/{lib-esm/src → dist/esm}/util/IndexLimit.d.ts +0 -1
  273. package/dist/esm/util/IndexLimit.mjs +2 -0
  274. package/dist/esm/util/IndexLimit.mjs.map +1 -0
  275. package/{lib-esm/src → dist/esm}/util/SpreadTuple.d.ts +0 -1
  276. package/dist/esm/util/SpreadTuple.mjs +2 -0
  277. package/dist/esm/util/SpreadTuple.mjs.map +1 -0
  278. package/{lib-esm/src → dist/esm}/util/index.d.ts +0 -1
  279. package/dist/esm/util/index.mjs +2 -0
  280. package/dist/esm/util/index.mjs.map +1 -0
  281. package/dist/meta/cjs.tsbuildinfo +1 -0
  282. package/internals/package.json +7 -5
  283. package/package.json +31 -14
  284. package/runtime/package.json +8 -0
  285. package/src/Authorization.ts +684 -0
  286. package/src/ClientSchema.ts +118 -0
  287. package/src/CombineSchema.ts +58 -0
  288. package/src/CustomOperation.ts +286 -0
  289. package/src/CustomType.ts +67 -0
  290. package/src/EnumType.ts +36 -0
  291. package/src/Handler.ts +127 -0
  292. package/src/MappedTypes/CustomOperations.ts +256 -0
  293. package/src/MappedTypes/ExtractNonModelTypes.ts +154 -0
  294. package/src/MappedTypes/ImplicitFieldInjector.ts +69 -0
  295. package/src/MappedTypes/MapSecondaryIndexes.ts +100 -0
  296. package/src/MappedTypes/ModelMetadata.ts +87 -0
  297. package/src/MappedTypes/ResolveFieldProperties.ts +254 -0
  298. package/src/MappedTypes/ResolveSchema.ts +148 -0
  299. package/src/ModelField.ts +304 -0
  300. package/src/ModelIndex.ts +91 -0
  301. package/src/ModelRelationalField.ts +263 -0
  302. package/src/ModelSchema.ts +437 -0
  303. package/src/ModelType.ts +345 -0
  304. package/src/RefType.ts +139 -0
  305. package/src/SchemaProcessor.ts +1516 -0
  306. package/src/a.ts +58 -0
  307. package/src/index.ts +6 -0
  308. package/src/internals/index.ts +2 -0
  309. package/src/runtime/addSchemaToClient.ts +45 -0
  310. package/src/runtime/addSchemaToClientWithInstance.ts +46 -0
  311. package/src/runtime/bridge-types.ts +382 -0
  312. package/src/runtime/client/index.ts +923 -0
  313. package/src/runtime/client/index.v3.ts +52 -0
  314. package/src/runtime/index.ts +7 -0
  315. package/src/runtime/index.v3.ts +7 -0
  316. package/src/runtime/internals/APIClient.ts +1082 -0
  317. package/src/runtime/internals/clientUtils.ts +37 -0
  318. package/src/runtime/internals/generateCustomOperationsProperty.ts +116 -0
  319. package/src/runtime/internals/index.ts +12 -0
  320. package/src/runtime/internals/operations/custom.ts +497 -0
  321. package/src/runtime/internals/operations/get.ts +150 -0
  322. package/src/runtime/internals/operations/indexQuery.ts +178 -0
  323. package/src/runtime/internals/operations/list.ts +143 -0
  324. package/src/runtime/internals/operations/observeQuery.ts +146 -0
  325. package/src/runtime/internals/operations/subscription.ts +78 -0
  326. package/src/runtime/internals/server/generateModelsProperty.ts +94 -0
  327. package/src/runtime/internals/server/index.ts +4 -0
  328. package/src/runtime/internals/utils/clientProperties/generateEnumsProperty.ts +34 -0
  329. package/src/runtime/internals/utils/clientProperties/generateModelsProperty.ts +88 -0
  330. package/src/runtime/internals/utils/runtimeTypeGuards/isApiGraphQLProviderConfig.ts +10 -0
  331. package/src/runtime/internals/utils/runtimeTypeGuards/isConfigureEventWithResourceConfig.ts +13 -0
  332. package/src/runtime/internals/utils/runtimeTypeGuards/isGraphQLResponseWithErrors.ts +15 -0
  333. package/src/runtime/utils/findIndexByFields.ts +31 -0
  334. package/src/runtime/utils/index.ts +5 -0
  335. package/src/runtime/utils/resolveOwnerFields.ts +77 -0
  336. package/src/runtime/utils/resolvePKFields.ts +23 -0
  337. package/src/util/Brand.ts +45 -0
  338. package/src/util/IndexLimit.ts +12 -0
  339. package/src/util/SpreadTuple.ts +10 -0
  340. package/src/util/index.ts +3 -0
  341. package/lib-esm/index.d.ts +0 -5
  342. package/lib-esm/index.d.ts.map +0 -1
  343. package/lib-esm/index.js +0 -28
  344. package/lib-esm/src/Authorization.d.ts.map +0 -1
  345. package/lib-esm/src/ClientSchema.d.ts.map +0 -1
  346. package/lib-esm/src/CombineSchema.d.ts.map +0 -1
  347. package/lib-esm/src/CustomOperation.d.ts.map +0 -1
  348. package/lib-esm/src/CustomType.d.ts.map +0 -1
  349. package/lib-esm/src/EnumType.d.ts.map +0 -1
  350. package/lib-esm/src/Handler.d.ts.map +0 -1
  351. package/lib-esm/src/MappedTypes/CustomOperations.d.ts.map +0 -1
  352. package/lib-esm/src/MappedTypes/ExtractNonModelTypes.d.ts.map +0 -1
  353. package/lib-esm/src/MappedTypes/ExtractNonModelTypes.js +0 -2
  354. package/lib-esm/src/MappedTypes/ImplicitFieldInjector.d.ts.map +0 -1
  355. package/lib-esm/src/MappedTypes/ImplicitFieldInjector.js +0 -2
  356. package/lib-esm/src/MappedTypes/MapSecondaryIndexes.d.ts.map +0 -1
  357. package/lib-esm/src/MappedTypes/ModelMetadata.d.ts.map +0 -1
  358. package/lib-esm/src/MappedTypes/ResolveFieldProperties.d.ts.map +0 -1
  359. package/lib-esm/src/MappedTypes/ResolveFieldProperties.js +0 -2
  360. package/lib-esm/src/MappedTypes/ResolveSchema.d.ts.map +0 -1
  361. package/lib-esm/src/ModelField.d.ts.map +0 -1
  362. package/lib-esm/src/ModelIndex.d.ts.map +0 -1
  363. package/lib-esm/src/ModelRelationalField.d.ts.map +0 -1
  364. package/lib-esm/src/ModelSchema.d.ts.map +0 -1
  365. package/lib-esm/src/ModelType.d.ts.map +0 -1
  366. package/lib-esm/src/RefType.d.ts.map +0 -1
  367. package/lib-esm/src/SchemaProcessor.d.ts.map +0 -1
  368. package/lib-esm/src/index.d.ts.map +0 -1
  369. package/lib-esm/src/internals/index.d.ts +0 -2
  370. package/lib-esm/src/internals/index.d.ts.map +0 -1
  371. package/lib-esm/src/util/Brand.d.ts.map +0 -1
  372. package/lib-esm/src/util/IndexLimit.d.ts.map +0 -1
  373. package/lib-esm/src/util/SpreadTuple.d.ts.map +0 -1
  374. package/lib-esm/src/util/index.d.ts.map +0 -1
  375. package/lib-esm/tsconfig.tsbuildinfo +0 -1
package/src/a.ts ADDED
@@ -0,0 +1,58 @@
1
+ import { schema } from './ModelSchema';
2
+ import { combine } from './CombineSchema';
3
+ import { model } from './ModelType';
4
+ import {
5
+ id,
6
+ string,
7
+ integer,
8
+ float,
9
+ boolean,
10
+ date,
11
+ time,
12
+ datetime,
13
+ timestamp,
14
+ email,
15
+ json,
16
+ phone,
17
+ url,
18
+ ipAddress,
19
+ } from './ModelField';
20
+ import { ref } from './RefType';
21
+ import { hasOne, hasMany, belongsTo } from './ModelRelationalField';
22
+ import { customType } from './CustomType';
23
+ import { enumType } from './EnumType';
24
+ import { query, mutation, subscription } from './CustomOperation';
25
+ import { handler } from './Handler';
26
+
27
+ // We are re-exporting with this pattern to make the JSDoc happy.
28
+ // Otherwise the JSDoc wouldn't consistently show up as a customer types
29
+ // "a."
30
+ export {
31
+ schema,
32
+ combine,
33
+ model,
34
+ ref,
35
+ customType,
36
+ enumType as enum,
37
+ query,
38
+ mutation,
39
+ subscription,
40
+ hasOne,
41
+ hasMany,
42
+ belongsTo,
43
+ id,
44
+ string,
45
+ integer,
46
+ float,
47
+ boolean,
48
+ date,
49
+ time,
50
+ datetime,
51
+ timestamp,
52
+ email,
53
+ json,
54
+ phone,
55
+ url,
56
+ ipAddress,
57
+ handler,
58
+ };
package/src/index.ts ADDED
@@ -0,0 +1,6 @@
1
+ import * as a from './a';
2
+ import { ClientSchema } from './ClientSchema';
3
+
4
+ export { a };
5
+
6
+ export type { ClientSchema };
@@ -0,0 +1,2 @@
1
+ export { configure } from '../ModelSchema';
2
+ export type { AllowModifier } from '../Authorization';
@@ -0,0 +1,45 @@
1
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ import { ClientExtensions } from './client';
5
+ import {
6
+ generateCustomQueriesProperty,
7
+ generateCustomMutationsProperty,
8
+ generateCustomSubscriptionsProperty,
9
+ generateEnumsProperty,
10
+ generateModelsProperty,
11
+ } from './internals';
12
+ import {
13
+ BaseClient,
14
+ ClientInternalsGetter,
15
+ GraphQLProviderConfig,
16
+ } from './bridge-types';
17
+
18
+ export function addSchemaToClient<T extends Record<any, any> = never>(
19
+ client: BaseClient,
20
+ apiGraphqlConfig: GraphQLProviderConfig['GraphQL'],
21
+ getInternals: ClientInternalsGetter,
22
+ ): BaseClient & ClientExtensions<T> {
23
+ (client as any).models = generateModelsProperty<T>(
24
+ client as any,
25
+ apiGraphqlConfig,
26
+ getInternals,
27
+ );
28
+ (client as any).enums = generateEnumsProperty<T>(apiGraphqlConfig);
29
+ (client as any).queries = generateCustomQueriesProperty<T>(
30
+ client as any,
31
+ apiGraphqlConfig,
32
+ getInternals,
33
+ );
34
+ (client as any).mutations = generateCustomMutationsProperty<T>(
35
+ client as any,
36
+ apiGraphqlConfig,
37
+ getInternals,
38
+ );
39
+ (client as any).subscriptions = generateCustomSubscriptionsProperty(
40
+ client as any,
41
+ apiGraphqlConfig,
42
+ getInternals,
43
+ );
44
+ return client as any;
45
+ }
@@ -0,0 +1,46 @@
1
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ import { isApiGraphQLConfig } from './internals/utils/runtimeTypeGuards/isApiGraphQLProviderConfig';
5
+ import {
6
+ ClientExtensionsSSRCookies,
7
+ ClientExtensionsSSRRequest,
8
+ } from './client';
9
+ import {
10
+ generateCustomQueriesProperty,
11
+ generateCustomMutationsProperty,
12
+ generateEnumsProperty,
13
+ } from './internals';
14
+ import { generateModelsProperty as generateModelsPropertyServer } from './internals/server';
15
+ import { BaseClient, ClientInternalsGetter } from './bridge-types';
16
+
17
+ // TODO: separate import path
18
+ export function addSchemaToClientWithInstance<T extends Record<any, any>>(
19
+ client: BaseClient,
20
+ params: any,
21
+ getInternals: ClientInternalsGetter,
22
+ ): BaseClient &
23
+ (ClientExtensionsSSRCookies<T> | ClientExtensionsSSRRequest<T>) {
24
+ const apiGraphqlConfig = params.config?.API?.GraphQL;
25
+
26
+ if (isApiGraphQLConfig(apiGraphqlConfig)) {
27
+ (client as any).models = generateModelsPropertyServer<T>(
28
+ client as any,
29
+ params,
30
+ getInternals,
31
+ );
32
+ (client as any).enums = generateEnumsProperty<T>(apiGraphqlConfig);
33
+ (client as any).queries = generateCustomQueriesProperty<T>(
34
+ client as any,
35
+ apiGraphqlConfig,
36
+ getInternals,
37
+ );
38
+ (client as any).mutations = generateCustomMutationsProperty<T>(
39
+ client as any,
40
+ apiGraphqlConfig,
41
+ getInternals,
42
+ );
43
+ }
44
+
45
+ return client as any;
46
+ }
@@ -0,0 +1,382 @@
1
+ /* eslint-disable @typescript-eslint/no-namespace */
2
+
3
+ /**
4
+ * Sort-of-Minimalistic types used to allow `@aws-amplify/api-graphql` to call into
5
+ * `@aws-amplify/data-schema` without forcing `@aws-amplify/data-schema` to become the
6
+ * bucket for ALL of those types.
7
+ *
8
+ * In other words, types that relate to GraphQL category operations apart from the
9
+ * gen2/modeled operations should continue to live in `@aws-amplify/api-graphql`. And,
10
+ * `@aws-amplify/data-schema` should ideally only define those types/interfaces that are
11
+ * necessary to safely extend a graphql client.
12
+ */
13
+
14
+ import { Observable } from 'rxjs';
15
+
16
+ import { CustomHeaders, ModelSortDirection } from './client';
17
+
18
+ export declare namespace AmplifyServer {
19
+ export interface ContextToken {
20
+ readonly value: symbol;
21
+ }
22
+ export interface ContextSpec {
23
+ readonly token: ContextToken;
24
+ }
25
+ }
26
+
27
+ export interface AmplifyClass {
28
+ getConfig(): Readonly<ResourcesConfig>;
29
+ // truncated
30
+ }
31
+
32
+ export interface ResourcesConfig {
33
+ API?: APIConfig;
34
+ // truncated.
35
+ }
36
+
37
+ interface APIRestConfig {
38
+ /**
39
+ * Required REST endpoint, must be a valid URL string.
40
+ */
41
+ endpoint: string;
42
+ /**
43
+ * Optional region string used to sign the request with IAM credentials. If Omitted, region will be extracted from
44
+ * the endpoint.
45
+ *
46
+ * @default 'us-east-1'
47
+ */
48
+ region?: string;
49
+ /**
50
+ * Optional service name string to sign the request with IAM credentials.
51
+ *s
52
+ * @default 'execute-api'
53
+ */
54
+ service?: string;
55
+ }
56
+
57
+ export interface RESTProviderConfig {
58
+ REST: Record<string, APIRestConfig>;
59
+ }
60
+ export type AtLeastOne<T, U = { [K in keyof T]: Pick<T, K> }> = Partial<T> &
61
+ U[keyof U];
62
+
63
+ export type APIConfig = AtLeastOne<RESTProviderConfig & GraphQLProviderConfig>;
64
+
65
+ export interface GraphQLProviderConfig {
66
+ readonly GraphQL: {
67
+ modelIntrospection?: ModelIntrospectionSchema;
68
+ };
69
+ }
70
+
71
+ /**
72
+ *
73
+ * TODO: Have @aws-amplify/core import these types from here?
74
+ *
75
+ */
76
+
77
+ /**
78
+ * Root model instrospection schema shape.
79
+ *
80
+ * Borrowed from: https://github.com/aws-amplify/samsara-cli/pull/377/commits/c08ea2c1a43f36aafe63b6d14d03f884e9c0c671#diff-21ae6faa2f22c15bb25ff9b272eaab7846c0650e2d267ab720546c19559583d0R4-R108
81
+ */
82
+ export interface ModelIntrospectionSchema {
83
+ version: 1;
84
+ models: SchemaModels;
85
+ nonModels: SchemaNonModels;
86
+ enums: SchemaEnums;
87
+ queries?: CustomOperations;
88
+ mutations?: CustomOperations;
89
+ subscriptions?: CustomOperations;
90
+ }
91
+
92
+ /**
93
+ * Top-level Entities on a Schema
94
+ */
95
+ export type SchemaModels = Record<string, SchemaModel>;
96
+ export type SchemaNonModels = Record<string, SchemaNonModel>;
97
+ export type SchemaEnums = Record<string, SchemaEnum>;
98
+ export type CustomOperations = Record<string, CustomOperation>;
99
+
100
+ export interface SchemaModel {
101
+ name: string;
102
+ attributes?: ModelAttribute[];
103
+ fields: Fields;
104
+ pluralName: string;
105
+ syncable?: boolean;
106
+ primaryKeyInfo: PrimaryKeyInfo;
107
+ }
108
+ export interface SchemaNonModel {
109
+ name: string;
110
+ fields: Fields;
111
+ }
112
+ export interface SchemaEnum {
113
+ name: string;
114
+ values: string[];
115
+ }
116
+
117
+ export interface ModelAttribute {
118
+ type: string;
119
+ properties?: Record<string, any>;
120
+ }
121
+
122
+ export interface SecondaryIndexAttribute {
123
+ type: 'key';
124
+ properties: {
125
+ name: string;
126
+ queryField: string;
127
+ fields: string[];
128
+ };
129
+ }
130
+
131
+ export interface CustomOperation {
132
+ name: string;
133
+ type: FieldType;
134
+ isArray: boolean;
135
+ isRequired: boolean;
136
+ arguments?: CustomOperationArguments;
137
+ }
138
+
139
+ export type CustomOperationArguments = Record<string, CustomOperationArgument>;
140
+
141
+ export interface CustomOperationArgument {
142
+ name: string;
143
+ type: FieldType;
144
+ isArray: boolean;
145
+ isRequired: boolean;
146
+ isArrayNullable?: boolean;
147
+ }
148
+
149
+ /**
150
+ * Field Definition
151
+ */
152
+ export type Fields = Record<string, Field>;
153
+ export interface Field {
154
+ name: string;
155
+ type: FieldType;
156
+ isArray: boolean;
157
+ isRequired: boolean;
158
+ isReadOnly?: boolean;
159
+ isArrayNullable?: boolean;
160
+ attributes?: FieldAttribute[];
161
+ association?: AssociationType;
162
+ }
163
+
164
+ export type DocumentType =
165
+ | null
166
+ | boolean
167
+ | number
168
+ | string
169
+ | DocumentType[]
170
+ | { [prop: string]: DocumentType };
171
+
172
+ export type GraphQLAuthMode =
173
+ | 'apiKey'
174
+ | 'oidc'
175
+ | 'userPool'
176
+ | 'iam'
177
+ | 'lambda'
178
+ | 'none';
179
+
180
+ export interface ModelFieldType {
181
+ model: string;
182
+ }
183
+ export interface NonModelFieldType {
184
+ nonModel: string;
185
+ }
186
+
187
+ export type FieldType =
188
+ | 'ID'
189
+ | 'String'
190
+ | 'Int'
191
+ | 'Float'
192
+ | 'AWSDate'
193
+ | 'AWSTime'
194
+ | 'AWSDateTime'
195
+ | 'AWSTimestamp'
196
+ | 'AWSEmail'
197
+ | 'AWSURL'
198
+ | 'AWSIPAddress'
199
+ | 'Boolean'
200
+ | 'AWSJSON'
201
+ | 'AWSPhone'
202
+ | { enum: string }
203
+ | ModelFieldType
204
+ | NonModelFieldType;
205
+ export type FieldAttribute = ModelAttribute;
206
+
207
+ /**
208
+ * Field-level Relationship Definitions
209
+ */
210
+ export enum CodeGenConnectionType {
211
+ HAS_ONE = 'HAS_ONE',
212
+ BELONGS_TO = 'BELONGS_TO',
213
+ HAS_MANY = 'HAS_MANY',
214
+ }
215
+ export interface AssociationBaseType {
216
+ connectionType: CodeGenConnectionType;
217
+ }
218
+
219
+ export type AssociationHasMany = AssociationBaseType & {
220
+ connectionType: CodeGenConnectionType.HAS_MANY;
221
+ associatedWith: string[];
222
+ };
223
+ export type AssociationHasOne = AssociationBaseType & {
224
+ connectionType: CodeGenConnectionType.HAS_ONE;
225
+ associatedWith: string[];
226
+ targetNames: string[];
227
+ };
228
+
229
+ export type AssociationBelongsTo = AssociationBaseType & {
230
+ connectionType: CodeGenConnectionType.BELONGS_TO;
231
+ targetNames: string[];
232
+ };
233
+ export type AssociationType =
234
+ | AssociationHasMany
235
+ | AssociationHasOne
236
+ | AssociationBelongsTo;
237
+
238
+ export interface PrimaryKeyInfo {
239
+ isCustomPrimaryKey: boolean;
240
+ primaryKeyFieldName: string;
241
+ sortKeyFieldNames: string[];
242
+ }
243
+
244
+ /**
245
+ * HUB
246
+ */
247
+
248
+ export type IListener<
249
+ Channel extends string = AmplifyChannel | string,
250
+ EventData extends EventDataMap = EventDataMap,
251
+ > = {
252
+ name: string;
253
+ callback: HubCallback<Channel, EventData>;
254
+ }[];
255
+
256
+ export interface EventDataMap {
257
+ event: string;
258
+ data?: unknown;
259
+ }
260
+
261
+ export interface AmplifyEventData {
262
+ auth: any; // edited: generalized for bridge type
263
+ [key: string]: EventDataMap;
264
+ }
265
+ export type AmplifyChannel = 'auth';
266
+
267
+ export type StopListenerCallback = () => void;
268
+
269
+ export interface HubCapsule<
270
+ Channel extends string,
271
+ EventData extends EventDataMap,
272
+ > {
273
+ channel: Channel;
274
+ payload: HubPayload<EventData>;
275
+ source?: string;
276
+ patternInfo?: string[];
277
+ }
278
+
279
+ export type HubCallback<
280
+ Channel extends string = string,
281
+ EventData extends EventDataMap = EventDataMap,
282
+ > = (capsule: HubCapsule<Channel, EventData>) => void;
283
+
284
+ export type HubPayload<EventData extends EventDataMap = EventDataMap> =
285
+ EventData & {
286
+ message?: string;
287
+ };
288
+
289
+ export interface AmplifyHubCallbackMap<Channel extends AmplifyChannel> {
290
+ auth: HubCallback<Channel>;
291
+ }
292
+
293
+ /**
294
+ * Loose/Unknown options for raw GraphQLAPICategory `graphql()`.
295
+ */
296
+ export interface GraphQLOptions {
297
+ query: string;
298
+ variables?: Record<string, any>;
299
+ authMode?: GraphQLAuthMode;
300
+ authToken?: string;
301
+ /**
302
+ * @deprecated This property should not be used
303
+ */
304
+ userAgentSuffix?: string;
305
+ }
306
+
307
+ export interface GraphQLResult {
308
+ data: any;
309
+ errors?: Record<string, any>[];
310
+ extensions?: Record<string, any>;
311
+ }
312
+
313
+ export type GraphqlSubscriptionResult = Observable<{
314
+ data: Record<string, any>;
315
+ }>;
316
+
317
+ /**
318
+ * @private
319
+ *
320
+ * The knobs available for configuring `server/generateClient` internally.
321
+ */
322
+ export interface ServerClientGenerationParams {
323
+ amplify:
324
+ | null // null expected when used with `generateServerClient`
325
+ // closure expected with `generateServerClientUsingCookies`
326
+ | ((fn: (amplify: AmplifyClass) => Promise<any>) => Promise<any>);
327
+ // global env-sourced config use for retrieving modelIntro
328
+ config: ResourcesConfig;
329
+ }
330
+
331
+ export type QueryArgs = Record<string, unknown>;
332
+
333
+ export interface ListArgs extends Record<string, unknown> {
334
+ selectionSet?: string[];
335
+ filter?: Record<string, unknown>;
336
+ sortDirection?: ModelSortDirection;
337
+ headers?: CustomHeaders;
338
+ }
339
+
340
+ export interface AuthModeParams extends Record<string, unknown> {
341
+ authMode?: GraphQLAuthMode;
342
+ authToken?: string;
343
+ }
344
+
345
+ export interface GenerateServerClientParams {
346
+ config: ResourcesConfig;
347
+ authMode?: GraphQLAuthMode;
348
+ authToken?: string;
349
+ }
350
+
351
+ export type ClientInternals = {
352
+ amplify: AmplifyClass;
353
+ authMode: GraphQLAuthMode | undefined;
354
+ authToken: string | undefined;
355
+ headers: CustomHeaders | undefined;
356
+ };
357
+
358
+ export type ClientInternalsGetter = (client: any) => ClientInternals;
359
+
360
+ export type BaseClient = BaseBrowserClient | BaseSSRClient;
361
+
362
+ export type BaseBrowserClient = {
363
+ graphql: GraphQLMethod;
364
+ cancel(promise: Promise<any>, message?: string): boolean;
365
+ isCancelError(error: any): boolean;
366
+ };
367
+ export type BaseSSRClient = {
368
+ graphql: GraphQLMethodSSR;
369
+ cancel(promise: Promise<any>, message?: string): boolean;
370
+ isCancelError(error: any): boolean;
371
+ };
372
+
373
+ export type GraphQLMethod = (
374
+ options: GraphQLOptions,
375
+ additionalHeaders?: CustomHeaders | undefined,
376
+ ) => GraphQLResult | GraphqlSubscriptionResult;
377
+
378
+ export type GraphQLMethodSSR = (
379
+ contextSpec: AmplifyServer.ContextSpec,
380
+ options: GraphQLOptions,
381
+ additionalHeaders?: CustomHeaders | undefined,
382
+ ) => GraphQLResult | GraphqlSubscriptionResult;