@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
@@ -0,0 +1,571 @@
1
+ import { DeepReadOnlyObject, UnwrapArray, UnionToIntersection, Prettify, Equal, ExtractModelMeta } from '@aws-amplify/data-schema-types';
2
+ import type { Observable } from 'rxjs';
3
+ export { __modelMeta__, ExtractModelMeta, } from '@aws-amplify/data-schema-types';
4
+ type Model = Record<string, any>;
5
+ /**
6
+ * Currently this omits any object-type fields. Update this when we add custom types/enums.
7
+ */
8
+ type NonRelationalFields<M extends Model> = {
9
+ [Field in keyof M as UnwrapArray<M[Field]> extends Record<string, unknown> ? never : Field]: M[Field];
10
+ };
11
+ /**
12
+ * Selection set-aware CRUDL operation return value type
13
+ *
14
+ * @returns model type as-is with default selection set; otherwise generates return type from custonm sel. set
15
+ */
16
+ type ReturnValue<M extends Model, FlatModel extends Model, Paths extends ReadonlyArray<ModelPath<FlatModel>>> = Paths extends undefined | never[] ? M : CustomSelectionSetReturnValue<FlatModel, Paths[number]>;
17
+ /**
18
+ * This mapped type traverses the SelectionSetReturnValue result and the original FlatModel, restoring array types
19
+ * that were flattened in DeepPickFromPath
20
+ *
21
+ */
22
+ type RestoreArrays<Result, FlatModel> = {
23
+ [K in keyof Result]: K extends keyof FlatModel ? FlatModel[K] extends Array<any> ? Array<RestoreArrays<Result[K], UnwrapArray<FlatModel[K]>>> : FlatModel[K] extends Record<string, any> ? RestoreArrays<Result[K], FlatModel[K]> : Result[K] : never;
24
+ };
25
+ /**
26
+ * Generates flattened, readonly return type using specified custom sel. set
27
+ */
28
+ type CustomSelectionSetReturnValue<FlatModel extends Model, Paths extends string> = Prettify<DeepReadOnlyObject<RestoreArrays<UnionToIntersection<DeepPickFromPath<FlatModel, Paths>>, FlatModel>>>;
29
+ /**
30
+ * Picks object properties that match provided dot-separated Path
31
+ *
32
+ * @typeParam FlatModel
33
+ * @typeParam Path - string union of dot-separated paths
34
+ *
35
+ * @returns union of object slices
36
+ *
37
+ * @example
38
+ * ### Given
39
+ * ```ts
40
+ * FlatModel = {
41
+ title: string;
42
+ description?: string | null;
43
+ comments: {
44
+ content: string;
45
+ readonly id: string;
46
+ readonly createdAt: string;
47
+ readonly updatedAt: string;
48
+ }[];
49
+ readonly id: string;
50
+ readonly createdAt: string;
51
+ readonly updatedAt: string;
52
+ }
53
+
54
+ Path = 'title' | 'comments.id' | 'comments.content'
55
+ * ```
56
+ * ### Returns
57
+ * ```ts
58
+ * { title: string } | { comments: { id: string} } | { comments: { content: string} }
59
+ * ```
60
+ *
61
+ * @privateRemarks
62
+ *
63
+ * Intersections on arrays have unexpected behavior in TypeScript:
64
+ * see: https://github.com/microsoft/TypeScript/issues/41874 and https://github.com/microsoft/TypeScript/issues/39693
65
+ *
66
+ * To work around this limitation, DeepPickFromPath flattens Arrays of Models (e.g. { comments: { id: string}[] } => { comments: { id: string} })
67
+ * Arrays are then restored downstream in RestoreArrays
68
+ */
69
+ type DeepPickFromPath<FlatModel extends Model, Path extends string> = FlatModel extends undefined ? DeepPickFromPath<NonNullable<FlatModel>, Path> | undefined : FlatModel extends null ? DeepPickFromPath<NonNullable<FlatModel>, Path> | null : FlatModel extends any[] ? DeepPickFromPath<UnwrapArray<FlatModel>, Path> : Path extends `${infer Head}.${infer Tail}` ? Head extends keyof FlatModel ? Tail extends '*' ? {
70
+ [k in Head]: NonRelationalFields<UnwrapArray<FlatModel[Head]>>;
71
+ } : {
72
+ [k in Head]: DeepPickFromPath<FlatModel[Head], Tail>;
73
+ } : never : Path extends keyof FlatModel ? {
74
+ [K in Path]: FlatModel[Path];
75
+ } : never;
76
+ /**
77
+ * Generates custom selection set type with up to 6 levels of nested fields
78
+ *
79
+ * @returns string[] where each string is a field in the model
80
+ * recurses over nested objects - such as relationships and custom types - generating a `field.*` type value to select all fields in that nested type,
81
+ * as well as a dot-delimited set of fields for fine-grained selection of particular fields in the nested type (see example below)
82
+ *
83
+ * @example
84
+ * ```ts
85
+ * FlatModel = {
86
+ * id: string
87
+ * title: string
88
+ * comments: {
89
+ * id:: string
90
+ * content: string
91
+ * }[]
92
+ * }
93
+ *```
94
+ *
95
+ * ### Result
96
+ * ```
97
+ * 'id' | 'title' | 'comments.*' | 'comments.id' | 'comments.content'
98
+ * ```
99
+ *
100
+ * @privateRemarks
101
+ *
102
+ * explicit recursion depth pattern ref: https://github.com/microsoft/TypeScript/blob/main/src/lib/es2019.array.d.ts#L1-L5
103
+ *
104
+ * this pattern puts an upper bound on the levels of recursion in our mapped type
105
+ *
106
+ * it guards against infinite recursion when generating the selection set type for deeply-nested models
107
+ * and especially for bi-directional relationships which are infinitely recursable by their nature
108
+ *
109
+ */
110
+ export type ModelPath<FlatModel extends Record<string, unknown>, Depth extends number = 5, // think of this as the initialization expr. in a for loop (e.g. `let depth = 5`)
111
+ RecursionLoop extends number[] = [-1, 0, 1, 2, 3, 4], Field = keyof FlatModel> = {
112
+ done: Field extends string ? `${Field}.*` : never;
113
+ recur: Field extends string ? NonNullable<UnwrapArray<FlatModel[Field]>> extends Record<string, unknown> ? `${Field}.${ModelPath<NonNullable<UnwrapArray<FlatModel[Field]>>, RecursionLoop[Depth]>}` | `${Field}.*` : `${Field}` : never;
114
+ }[Depth extends -1 ? 'done' : 'recur'];
115
+ /**
116
+ * Flattens model instance type and unwraps async functions into resolved GraphQL shape
117
+ *
118
+ * This type is used for generating the base shape for custom selection set input and its return value
119
+ * Uses same pattern as above to limit recursion depth to maximum usable for selection set.
120
+ *
121
+ * @example
122
+ * ### Given
123
+ * ```ts
124
+ * Model = {
125
+ title: string;
126
+ comments: () => ListReturnValue<({
127
+ content: string;
128
+ readonly id: string;
129
+ readonly createdAt: string;
130
+ readonly updatedAt: string;
131
+ } | null | undefined)[]>;
132
+ readonly id: string;
133
+ readonly createdAt: string;
134
+ readonly updatedAt: string;
135
+ description?: string | ... 1 more ... | undefined;
136
+ }
137
+ * ```
138
+ * ### Returns
139
+ * ```ts
140
+ * {
141
+ title: string;
142
+ comments: {
143
+ content: string;
144
+ readonly id: string;
145
+ readonly createdAt: string;
146
+ readonly updatedAt: string;
147
+ }[];
148
+ readonly id: string;
149
+ readonly createdAt: string;
150
+ readonly updatedAt: string;
151
+ description: string | null | undefined;
152
+ }
153
+ *
154
+ * ```
155
+ */
156
+ export type ResolvedModel<Model extends Record<string, unknown>, Depth extends number = 7, RecursionLoop extends number[] = [-1, 0, 1, 2, 3, 4, 5, 6]> = {
157
+ done: NonRelationalFields<Model>;
158
+ recur: {
159
+ [Field in keyof Model]: Model[Field] extends (...args: any) => ListReturnValue<infer M> ? NonNullable<M> extends Record<string, any> ? ResolvedModel<NonNullable<M>, RecursionLoop[Depth]>[] : never : Model[Field] extends (...args: any) => SingularReturnValue<infer M> ? NonNullable<M> extends Record<string, any> ? ResolvedModel<NonNullable<M>, RecursionLoop[Depth]> : never : Model[Field];
160
+ };
161
+ }[Depth extends -1 ? 'done' : 'recur'];
162
+ export type SelectionSet<Model extends Record<string, unknown>, Path extends ReadonlyArray<ModelPath<FlatModel>>, FlatModel extends Record<string, unknown> = ResolvedModel<Model>> = CustomSelectionSetReturnValue<FlatModel, Path[number]>;
163
+ export type ModelIdentifier<Model extends Record<any, any>> = Prettify<Record<Model['identifier'] & string, string>>;
164
+ type IfEquals<X, Y, A = X, B = never> = (<T>() => T extends X ? 1 : 2) extends <T>() => T extends Y ? 1 : 2 ? A : B;
165
+ type WritableKeys<T> = {
166
+ [P in keyof T]-?: IfEquals<{
167
+ [Q in P]: T[P];
168
+ }, {
169
+ -readonly [Q in P]: T[P];
170
+ }, P>;
171
+ }[keyof T];
172
+ /**
173
+ * All required fields and relational fields, exclude readonly fields
174
+ */
175
+ type MutationInput<Fields, WritableFields = Pick<Fields, WritableKeys<Fields>>> = {
176
+ [Prop in keyof WritableFields as WritableFields[Prop] extends (...args: any) => any ? never : Prop]: WritableFields[Prop];
177
+ };
178
+ /**
179
+ * All identifiers and fields used to create a model
180
+ */
181
+ type CreateModelInput<Model extends Record<string, unknown>, ModelMeta extends Record<string, unknown>> = Equal<ModelIdentifier<ModelMeta>, {
182
+ id: string;
183
+ }> extends true ? Partial<ModelIdentifier<ModelMeta>> & Omit<MutationInput<Model>, 'id'> : MutationInput<Model>;
184
+ /**
185
+ * See: https://spec.graphql.org/draft/#sec-Errors
186
+ */
187
+ export interface GraphQLFormattedError {
188
+ /**
189
+ * A short, human-readable summary of the problem that **SHOULD NOT** change
190
+ * from occurrence to occurrence of the problem, except for purposes of
191
+ * localization.
192
+ */
193
+ readonly message: string;
194
+ /**
195
+ * The AppSync exception category. Indicates the source of the error.
196
+ */
197
+ readonly errorType: string;
198
+ /**
199
+ * Additional error metadata that can be surfaced via error handling resolver utils:
200
+ * * JS - https://docs.aws.amazon.com/appsync/latest/devguide/built-in-util-js.html#utility-helpers-in-error-js
201
+ * * VTL - https://docs.aws.amazon.com/appsync/latest/devguide/utility-helpers-in-util.html#utility-helpers-in-error
202
+ */
203
+ readonly errorInfo: null | {
204
+ [key: string]: unknown;
205
+ };
206
+ /**
207
+ * If an error can be associated to a particular point in the requested
208
+ * GraphQL document, it should contain a list of locations.
209
+ */
210
+ readonly locations?: ReadonlyArray<SourceLocation>;
211
+ /**
212
+ * If an error can be associated to a particular field in the GraphQL result,
213
+ * it _must_ contain an entry with the key `path` that details the path of
214
+ * the response field which experienced the error. This allows clients to
215
+ * identify whether a null result is intentional or caused by a runtime error.
216
+ */
217
+ readonly path?: ReadonlyArray<string | number>;
218
+ /**
219
+ * Reserved for implementors to extend the protocol however they see fit,
220
+ * and hence there are no additional restrictions on its contents.
221
+ */
222
+ readonly extensions?: {
223
+ [key: string]: unknown;
224
+ };
225
+ }
226
+ /**
227
+ * Represents a location in a Source.
228
+ */
229
+ export interface SourceLocation {
230
+ readonly line: number;
231
+ readonly column: number;
232
+ }
233
+ export type SingularReturnValue<T> = Promise<{
234
+ data: T;
235
+ errors?: GraphQLFormattedError[];
236
+ extensions?: {
237
+ [key: string]: any;
238
+ };
239
+ }>;
240
+ export type ListReturnValue<T> = Promise<{
241
+ data: Array<T>;
242
+ nextToken?: string | null;
243
+ errors?: GraphQLFormattedError[];
244
+ extensions?: {
245
+ [key: string]: any;
246
+ };
247
+ }>;
248
+ export type ObservedReturnValue<T> = Observable<T>;
249
+ export type ObserveQueryReturnValue<T> = Observable<{
250
+ items: T[];
251
+ isSynced: boolean;
252
+ }>;
253
+ export type LazyLoader<Model, IsArray extends boolean> = (options?: IsArray extends true ? {
254
+ authMode?: AuthMode;
255
+ authToken?: string;
256
+ limit?: number;
257
+ nextToken?: string | null;
258
+ headers?: CustomHeaders;
259
+ } : {
260
+ authMode?: AuthMode;
261
+ authToken?: string;
262
+ headers?: CustomHeaders;
263
+ }) => IsArray extends true ? ListReturnValue<Prettify<NonNullable<Model>>> : SingularReturnValue<Prettify<Model>>;
264
+ export type AuthMode = 'apiKey' | 'iam' | 'oidc' | 'userPool' | 'lambda' | 'none';
265
+ type LogicalFilters<Model extends Record<any, any>> = {
266
+ and?: ModelFilter<Model> | ModelFilter<Model>[];
267
+ or?: ModelFilter<Model> | ModelFilter<Model>[];
268
+ not?: ModelFilter<Model>;
269
+ };
270
+ /**
271
+ * Filter options that can be used on fields where size checks are supported.
272
+ */
273
+ type SizeFilter = {
274
+ between?: [number, number];
275
+ eq?: number;
276
+ ge?: number;
277
+ gt?: number;
278
+ le?: number;
279
+ lt?: number;
280
+ ne?: number;
281
+ };
282
+ /**
283
+ * Not actually sure if/how customer can pass this through as variables yet.
284
+ * Leaving it out for now:
285
+ *
286
+ * attributeType: "binary" | "binarySet" | "bool" | "list" | "map" | "number" | "numberSet" | "string" | "stringSet" | "_null"
287
+ */
288
+ /**
289
+ * Filters options that can be used on string-like fields.
290
+ */
291
+ type StringFilter = {
292
+ attributeExists?: boolean;
293
+ beginsWith?: string;
294
+ between?: [string, string];
295
+ contains?: string;
296
+ eq?: string;
297
+ ge?: string;
298
+ gt?: string;
299
+ le?: string;
300
+ lt?: string;
301
+ ne?: string;
302
+ notContains?: string;
303
+ size?: SizeFilter;
304
+ };
305
+ type NumericFilter = {
306
+ attributeExists?: boolean;
307
+ between?: [number, number];
308
+ eq?: number;
309
+ ge?: number;
310
+ gt?: number;
311
+ le?: number;
312
+ lt?: number;
313
+ ne?: number;
314
+ };
315
+ type BooleanFilters = {
316
+ attributeExists?: boolean;
317
+ eq?: boolean;
318
+ ne?: boolean;
319
+ };
320
+ type ModelFilter<Model extends Record<any, any>> = LogicalFilters<Model> & {
321
+ [K in keyof Model as Model[K] extends LazyLoader<any, any> ? never : K]?: Model[K] extends boolean ? BooleanFilters : Model[K] extends number ? NumericFilter : StringFilter;
322
+ };
323
+ export type ModelSortDirection = 'ASC' | 'DESC';
324
+ type ModelMetaShape = {
325
+ secondaryIndexes: SecondaryIndexIrShape[];
326
+ identifier: string;
327
+ };
328
+ export type ModelTypesClient<Model extends Record<string, unknown>, ModelMeta extends ModelMetaShape, FlatModel extends Record<string, unknown> = ResolvedModel<Model>> = IndexQueryMethodsFromIR<ModelMeta['secondaryIndexes'], Model> & {
329
+ create: (model: Prettify<CreateModelInput<Model, ModelMeta>>, options?: {
330
+ authMode?: AuthMode;
331
+ authToken?: string;
332
+ headers?: CustomHeaders;
333
+ }) => SingularReturnValue<Model>;
334
+ update: (model: Prettify<ModelIdentifier<ModelMeta> & Partial<MutationInput<Model>>>, options?: {
335
+ authMode?: AuthMode;
336
+ authToken?: string;
337
+ headers?: CustomHeaders;
338
+ }) => SingularReturnValue<Model>;
339
+ delete: (identifier: ModelIdentifier<ModelMeta>, options?: {
340
+ authMode?: AuthMode;
341
+ authToken?: string;
342
+ headers?: CustomHeaders;
343
+ }) => SingularReturnValue<Model>;
344
+ get<SelectionSet extends ReadonlyArray<ModelPath<FlatModel>> = never[]>(identifier: ModelIdentifier<ModelMeta>, options?: {
345
+ selectionSet?: SelectionSet;
346
+ authMode?: AuthMode;
347
+ authToken?: string;
348
+ headers?: CustomHeaders;
349
+ }): SingularReturnValue<Prettify<ReturnValue<Model, FlatModel, SelectionSet>>>;
350
+ list<SelectionSet extends ReadonlyArray<ModelPath<FlatModel>> = never[]>(options?: Partial<ModelIdentifier<ModelMeta>> & {
351
+ filter?: ModelFilter<Model>;
352
+ sortDirection?: ModelSortDirection;
353
+ limit?: number;
354
+ nextToken?: string | null;
355
+ selectionSet?: SelectionSet;
356
+ authMode?: AuthMode;
357
+ authToken?: string;
358
+ headers?: CustomHeaders;
359
+ }): ListReturnValue<Prettify<ReturnValue<Model, FlatModel, SelectionSet>>>;
360
+ onCreate<SelectionSet extends ReadonlyArray<ModelPath<FlatModel>> = never[]>(options?: {
361
+ filter?: ModelFilter<Model>;
362
+ selectionSet?: SelectionSet;
363
+ authMode?: AuthMode;
364
+ authToken?: string;
365
+ headers?: CustomHeaders;
366
+ }): ObservedReturnValue<Prettify<ReturnValue<Model, FlatModel, SelectionSet>>>;
367
+ onUpdate<SelectionSet extends ReadonlyArray<ModelPath<FlatModel>> = never[]>(options?: {
368
+ filter?: ModelFilter<Model>;
369
+ selectionSet?: SelectionSet;
370
+ authMode?: AuthMode;
371
+ authToken?: string;
372
+ headers?: CustomHeaders;
373
+ }): ObservedReturnValue<Prettify<ReturnValue<Model, FlatModel, SelectionSet>>>;
374
+ onDelete<SelectionSet extends ReadonlyArray<ModelPath<FlatModel>> = never[]>(options?: {
375
+ filter?: ModelFilter<Model>;
376
+ selectionSet?: SelectionSet;
377
+ authMode?: AuthMode;
378
+ authToken?: string;
379
+ headers?: CustomHeaders;
380
+ }): ObservedReturnValue<Prettify<ReturnValue<Model, FlatModel, SelectionSet>>>;
381
+ observeQuery<SelectionSet extends ModelPath<FlatModel>[] = never[]>(options?: {
382
+ filter?: ModelFilter<Model>;
383
+ selectionSet?: SelectionSet;
384
+ authMode?: AuthMode;
385
+ authToken?: string;
386
+ }): ObserveQueryReturnValue<Prettify<ReturnValue<Model, FlatModel, SelectionSet>>>;
387
+ };
388
+ type ModelTypesSSRCookies<Model extends Record<string, unknown>, ModelMeta extends ModelMetaShape, FlatModel extends Record<string, unknown> = ResolvedModel<Model>> = IndexQueryMethodsFromIR<ModelMeta['secondaryIndexes'], Model> & {
389
+ create: (model: Prettify<CreateModelInput<Model, ModelMeta>>, options?: {
390
+ authMode?: AuthMode;
391
+ authToken?: string;
392
+ headers?: CustomHeaders;
393
+ }) => SingularReturnValue<Model>;
394
+ update: (model: Prettify<ModelIdentifier<ModelMeta> & Partial<MutationInput<Model>>>, options?: {
395
+ authMode?: AuthMode;
396
+ authToken?: string;
397
+ headers?: CustomHeaders;
398
+ }) => SingularReturnValue<Model>;
399
+ delete: (identifier: ModelIdentifier<ModelMeta>, options?: {
400
+ authMode?: AuthMode;
401
+ authToken?: string;
402
+ headers?: CustomHeaders;
403
+ }) => SingularReturnValue<Model>;
404
+ get<SelectionSet extends ReadonlyArray<ModelPath<FlatModel>> = never[]>(identifier: ModelIdentifier<ModelMeta>, options?: {
405
+ selectionSet?: SelectionSet;
406
+ authMode?: AuthMode;
407
+ authToken?: string;
408
+ headers?: CustomHeaders;
409
+ }): SingularReturnValue<Prettify<ReturnValue<Model, FlatModel, SelectionSet>>>;
410
+ list<SelectionSet extends ReadonlyArray<ModelPath<FlatModel>> = never[]>(options?: Partial<ModelIdentifier<ModelMeta>> & {
411
+ filter?: ModelFilter<Model>;
412
+ sortDirection?: ModelSortDirection;
413
+ limit?: number;
414
+ nextToken?: string | null;
415
+ selectionSet?: SelectionSet;
416
+ authMode?: AuthMode;
417
+ authToken?: string;
418
+ headers?: CustomHeaders;
419
+ }): ListReturnValue<Prettify<ReturnValue<Model, FlatModel, SelectionSet>>>;
420
+ };
421
+ type ModelTypesSSRRequest<Model extends Record<string, unknown>, ModelMeta extends ModelMetaShape, FlatModel extends Record<string, unknown> = ResolvedModel<Model>> = IndexQueryMethodsFromIR<ModelMeta['secondaryIndexes'], Model> & {
422
+ create: (contextSpec: any, model: Prettify<CreateModelInput<Model, ModelMeta>>, options?: {
423
+ authMode?: AuthMode;
424
+ authToken?: string;
425
+ headers?: CustomHeaders;
426
+ }) => SingularReturnValue<Model>;
427
+ update: (contextSpec: any, model: Prettify<ModelIdentifier<ModelMeta> & Partial<MutationInput<Model>>>, options?: {
428
+ authMode?: AuthMode;
429
+ authToken?: string;
430
+ headers?: CustomHeaders;
431
+ }) => SingularReturnValue<Model>;
432
+ delete: (contextSpec: any, identifier: ModelIdentifier<ModelMeta>, options?: {
433
+ authMode?: AuthMode;
434
+ authToken?: string;
435
+ headers?: CustomHeaders;
436
+ }) => SingularReturnValue<Model>;
437
+ get<SelectionSet extends ReadonlyArray<ModelPath<FlatModel>> = never[]>(contextSpec: any, identifier: ModelIdentifier<ModelMeta>, options?: {
438
+ selectionSet?: SelectionSet;
439
+ authMode?: AuthMode;
440
+ authToken?: string;
441
+ headers?: CustomHeaders;
442
+ }): SingularReturnValue<Prettify<ReturnValue<Model, FlatModel, SelectionSet>>>;
443
+ list<SelectionSet extends ReadonlyArray<ModelPath<FlatModel>> = never[]>(contextSpec: any, options?: Partial<ModelIdentifier<ModelMeta>> & {
444
+ filter?: ModelFilter<Model>;
445
+ sortDirection?: ModelSortDirection;
446
+ limit?: number;
447
+ nextToken?: string | null;
448
+ selectionSet?: SelectionSet;
449
+ authMode?: AuthMode;
450
+ authToken?: string;
451
+ headers?: CustomHeaders;
452
+ }): ListReturnValue<Prettify<ReturnValue<Model, FlatModel, SelectionSet>>>;
453
+ };
454
+ type ContextType = 'CLIENT' | 'COOKIES' | 'REQUEST';
455
+ export type ModelTypes<Schema extends Record<any, any>, Context extends ContextType = 'CLIENT', ModelMeta extends Record<any, any> = ExtractModelMeta<Schema>> = {
456
+ [ModelName in Exclude<keyof Schema, keyof CustomOperations<Schema, 'Mutation' | 'Query' | 'Subscription', Context, ModelMeta>>]: ModelName extends string ? Schema[ModelName] extends Record<string, unknown> ? Context extends 'CLIENT' ? ModelTypesClient<Schema[ModelName], ModelMeta[ModelName]> : Context extends 'COOKIES' ? ModelTypesSSRCookies<Schema[ModelName], ModelMeta[ModelName]> : Context extends 'REQUEST' ? ModelTypesSSRRequest<Schema[ModelName], ModelMeta[ModelName]> : never : never : never;
457
+ };
458
+ export type CustomQueries<Schema extends Record<any, any>, Context extends ContextType = 'CLIENT', ModelMeta extends Record<any, any> = ExtractModelMeta<Schema>> = CustomOperations<Schema, 'Query', Context, ModelMeta>;
459
+ export type CustomMutations<Schema extends Record<any, any>, Context extends ContextType = 'CLIENT', ModelMeta extends Record<any, any> = ExtractModelMeta<Schema>> = CustomOperations<Schema, 'Mutation', Context, ModelMeta>;
460
+ export type CustomSubscriptions<Schema extends Record<any, any>, Context extends ContextType = 'CLIENT', ModelMeta extends Record<any, any> = ExtractModelMeta<Schema>> = CustomOperations<Schema, 'Subscription', Context, ModelMeta>;
461
+ type CustomOperationMethodOptions = {
462
+ authMode?: AuthMode;
463
+ authToken?: string;
464
+ headers?: CustomHeaders;
465
+ };
466
+ /**
467
+ * Generates Custom Operations function params based on whether .arguments() were specified in the schema builder
468
+ */
469
+ type CustomOperationFnParams<Args extends Record<string, unknown> | never> = [
470
+ Args
471
+ ] extends [never] ? [CustomOperationMethodOptions?] : [Args, CustomOperationMethodOptions?];
472
+ export type CustomOperations<Schema extends Record<any, any>, OperationType extends 'Query' | 'Mutation' | 'Subscription', Context extends ContextType = 'CLIENT', ModelMeta extends Record<any, any> = ExtractModelMeta<Schema>> = {
473
+ [OpName in keyof ModelMeta['customOperations'] as ModelMeta['customOperations'][OpName]['typeName'] extends OperationType ? OpName : never]: {
474
+ CLIENT: (...params: CustomOperationFnParams<ModelMeta['customOperations'][OpName]['arguments']>) => ModelMeta['customOperations'][OpName]['typeName'] extends 'Subscription' ? ObservedReturnValue<ModelMeta['customOperations'][OpName]['returnType']> : SingularReturnValue<ModelMeta['customOperations'][OpName]['returnType']>;
475
+ COOKIES: (...params: CustomOperationFnParams<ModelMeta['customOperations'][OpName]['arguments']>) => SingularReturnValue<ModelMeta['customOperations'][OpName]['returnType']>;
476
+ REQUEST: (contextSpec: any, ...params: CustomOperationFnParams<ModelMeta['customOperations'][OpName]['arguments']>) => SingularReturnValue<ModelMeta['customOperations'][OpName]['returnType']>;
477
+ }[Context];
478
+ };
479
+ /**
480
+ * The utility type that is used to infer the type (interface) of the generated
481
+ * `client.enums` property.
482
+ *
483
+ * @example
484
+ * // The schema:
485
+ * {
486
+ * TodoStatus: a.enum(['Planned' | 'InProgress' | 'Completed']),
487
+ * }
488
+ *
489
+ * // The inferred interface of the `client.enums`:
490
+ * {
491
+ * TodoStatus: {
492
+ * values: () => Array<'Planned' | 'InProgress' | 'Completed'>;
493
+ * }
494
+ * }
495
+ */
496
+ export type EnumTypes<Schema extends Record<any, any>, ModelMeta extends Record<any, any> = ExtractModelMeta<Schema>> = {
497
+ [EnumName in keyof ModelMeta['enums']]: {
498
+ values: () => Array<ModelMeta['enums'][EnumName]>;
499
+ };
500
+ };
501
+ /**
502
+ * Request options that are passed to custom header functions.
503
+ * `method` and `headers` are not included in custom header functions passed to
504
+ * subscriptions.
505
+ */
506
+ export type RequestOptions = {
507
+ url: string;
508
+ queryString: string;
509
+ method?: string;
510
+ };
511
+ /**
512
+ * Custom headers that can be passed either to the client or to individual
513
+ * model operations, either as a static object or a function that returns a
514
+ * promise.
515
+ */
516
+ export type CustomHeaders = Record<string, string> | ((requestOptions?: RequestOptions) => Promise<Record<string, string>>);
517
+ /**
518
+ * SecondaryIndex index types and query methods
519
+ */
520
+ export type SecondaryIndexIrShape = {
521
+ queryField: string;
522
+ pk: {
523
+ [key: string]: string | number;
524
+ };
525
+ sk: {
526
+ [key: string]: string | number;
527
+ };
528
+ };
529
+ type IndexQueryMethodsFromIR<SecondaryIdxTuple extends SecondaryIndexIrShape[], Model extends Record<string, unknown>, Res = unknown> = SecondaryIdxTuple extends [
530
+ infer A extends SecondaryIndexIrShape,
531
+ ...infer B extends SecondaryIndexIrShape[]
532
+ ] ? IndexQueryMethodsFromIR<B, Model, IndexQueryMethodSignature<A, Model> & Res> : Res;
533
+ type IndexQueryMethodSignature<Idx extends SecondaryIndexIrShape, Model extends Record<string, unknown>> = {
534
+ [K in Idx['queryField'] & string]: <FlatModel extends Record<string, unknown> = ResolvedModel<Model>, SelectionSet extends ReadonlyArray<ModelPath<FlatModel>> = never[]>(input: Idx['pk'] & {
535
+ [SKField in keyof Idx['sk']]+?: string extends Idx['sk'][SKField] ? StringFilter : NumericFilter;
536
+ }, options?: {
537
+ filter?: ModelFilter<Model>;
538
+ sortDirection?: ModelSortDirection;
539
+ limit?: number;
540
+ nextToken?: string | null;
541
+ selectionSet?: SelectionSet;
542
+ authMode?: AuthMode;
543
+ authToken?: string;
544
+ headers?: CustomHeaders;
545
+ }) => ListReturnValue<Prettify<ReturnValue<Model, FlatModel, SelectionSet>>>;
546
+ };
547
+ type FilteredKeys<T> = {
548
+ [P in keyof T]: T[P] extends never ? never : P;
549
+ }[keyof T];
550
+ type ExcludeNeverFields<O> = {
551
+ [K in FilteredKeys<O>]: O[K];
552
+ };
553
+ export type ClientExtensions<T extends Record<any, any> = never> = ExcludeNeverFields<{
554
+ models: ModelTypes<T, 'CLIENT'>;
555
+ enums: EnumTypes<T>;
556
+ queries: CustomQueries<T, 'CLIENT'>;
557
+ mutations: CustomMutations<T, 'CLIENT'>;
558
+ subscriptions: CustomSubscriptions<T, 'CLIENT'>;
559
+ }>;
560
+ export type ClientExtensionsSSRRequest<T extends Record<any, any> = never> = ExcludeNeverFields<{
561
+ models: ModelTypes<T, 'REQUEST'>;
562
+ enums: EnumTypes<T>;
563
+ queries: CustomQueries<T, 'REQUEST'>;
564
+ mutations: CustomMutations<T, 'REQUEST'>;
565
+ }>;
566
+ export type ClientExtensionsSSRCookies<T extends Record<any, any> = never> = ExcludeNeverFields<{
567
+ models: ModelTypes<T, 'COOKIES'>;
568
+ enums: EnumTypes<T>;
569
+ queries: CustomQueries<T, 'COOKIES'>;
570
+ mutations: CustomMutations<T, 'COOKIES'>;
571
+ }>;
@@ -0,0 +1,2 @@
1
+ export { __modelMeta__ } from '@aws-amplify/data-schema-types';
2
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,15 @@
1
+ import { ExtractModelMeta } from '@aws-amplify/data-schema-types';
2
+ export { __modelMeta__, ExtractModelMeta, } from '@aws-amplify/data-schema-types';
3
+ export type ModelTypes<_T extends Record<any, any> = never, _Context extends string = 'CLIENT', _ModelMeta extends Record<any, any> = any> = any;
4
+ export type EnumTypes<_T extends Record<any, any> = never, _ModelMeta extends Record<any, any> = any> = any;
5
+ export type SelectionSet<_Model, _Path> = any;
6
+ /**
7
+ * Custom headers that can be passed either to the client or to individual
8
+ * model operations, either as a static object or a function that returns a
9
+ * promise.
10
+ */
11
+ export type CustomHeaders = Record<string, string> | (() => Promise<Record<string, string>>);
12
+ export type CustomQueries<Schema extends Record<any, any>, _Context extends string = 'CLIENT', _ModelMeta extends Record<any, any> = ExtractModelMeta<Schema>> = any;
13
+ export type CustomMutations<Schema extends Record<any, any>, _Context extends string = 'CLIENT', _ModelMeta extends Record<any, any> = ExtractModelMeta<Schema>> = any;
14
+ export type CustomSubscriptions<Schema extends Record<any, any>, _Context extends string = 'CLIENT', _ModelMeta extends Record<any, any> = ExtractModelMeta<Schema>> = any;
15
+ export type ModelSortDirection = 'ASC' | 'DESC';
@@ -0,0 +1,2 @@
1
+ export { __modelMeta__ } from '@aws-amplify/data-schema-types';
2
+ //# sourceMappingURL=index.v3.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.v3.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ export * from './client';
2
+ export { addSchemaToClient } from './addSchemaToClient';
3
+ export { addSchemaToClientWithInstance } from './addSchemaToClientWithInstance';
4
+ export { BaseClient, ClientInternals } from './bridge-types';
@@ -0,0 +1,4 @@
1
+ export { __modelMeta__ } from '@aws-amplify/data-schema-types';
2
+ export { addSchemaToClient } from './addSchemaToClient.mjs';
3
+ export { addSchemaToClientWithInstance } from './addSchemaToClientWithInstance.mjs';
4
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
@@ -0,0 +1,4 @@
1
+ export * from './client/index.v3';
2
+ export { addSchemaToClient } from './addSchemaToClient';
3
+ export { addSchemaToClientWithInstance } from './addSchemaToClientWithInstance';
4
+ export { BaseClient, ClientInternals } from './bridge-types';
@@ -0,0 +1,4 @@
1
+ export { __modelMeta__ } from '@aws-amplify/data-schema-types';
2
+ export { addSchemaToClient } from './addSchemaToClient.mjs';
3
+ export { addSchemaToClientWithInstance } from './addSchemaToClientWithInstance.mjs';
4
+ //# sourceMappingURL=index.v3.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.v3.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}