@kaspernj/api-maker 1.0.2109 → 1.0.2111

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 (231) hide show
  1. package/README.md +53 -0
  2. package/build/api.d.ts +1 -3
  3. package/build/api.d.ts.map +1 -1
  4. package/build/api.js +2 -4
  5. package/build/attribute-not-loaded-error.d.ts +1 -0
  6. package/build/attribute-not-loaded-error.d.ts.map +1 -1
  7. package/build/attribute-not-loaded-error.js +2 -1
  8. package/build/base-model/attribute.d.ts +1 -3
  9. package/build/base-model/attribute.d.ts.map +1 -1
  10. package/build/base-model/attribute.js +2 -4
  11. package/build/base-model/reflection.d.ts +2 -0
  12. package/build/base-model/reflection.d.ts.map +1 -1
  13. package/build/base-model/reflection.js +3 -1
  14. package/build/base-model/scope.d.ts +1 -0
  15. package/build/base-model/scope.d.ts.map +1 -1
  16. package/build/base-model/scope.js +2 -1
  17. package/build/base-model.js +128 -46
  18. package/build/bootstrap/attribute-row.js +54 -6
  19. package/build/bootstrap/attribute-rows.js +8 -4
  20. package/build/bootstrap/index.js +2 -1
  21. package/build/cable-connection-pool.d.ts +10 -0
  22. package/build/cable-connection-pool.d.ts.map +1 -1
  23. package/build/cable-connection-pool.js +11 -1
  24. package/build/cable-subscription-pool.d.ts +10 -0
  25. package/build/cable-subscription-pool.d.ts.map +1 -1
  26. package/build/cable-subscription-pool.js +13 -1
  27. package/build/cable-subscription.d.ts +2 -0
  28. package/build/cable-subscription.d.ts.map +1 -1
  29. package/build/cable-subscription.js +4 -1
  30. package/build/cache-key-generator.d.ts +9 -0
  31. package/build/cache-key-generator.d.ts.map +1 -1
  32. package/build/cache-key-generator.js +10 -1
  33. package/build/can-can.d.ts +20 -0
  34. package/build/can-can.d.ts.map +1 -1
  35. package/build/can-can.js +22 -1
  36. package/build/channels-consumer.d.ts.map +1 -1
  37. package/build/channels-consumer.js +4 -1
  38. package/build/collection.d.ts +59 -51
  39. package/build/collection.d.ts.map +1 -1
  40. package/build/collection.js +56 -52
  41. package/build/command-submit-data.d.ts +3 -0
  42. package/build/command-submit-data.d.ts.map +1 -1
  43. package/build/command-submit-data.js +4 -1
  44. package/build/commands-pool.d.ts +7 -0
  45. package/build/commands-pool.d.ts.map +1 -1
  46. package/build/commands-pool.js +10 -4
  47. package/build/compose.d.ts +1 -0
  48. package/build/compose.d.ts.map +1 -1
  49. package/build/compose.js +2 -1
  50. package/build/config.d.ts +2 -0
  51. package/build/config.d.ts.map +1 -1
  52. package/build/config.js +4 -1
  53. package/build/custom-error.d.ts +1 -0
  54. package/build/custom-error.d.ts.map +1 -1
  55. package/build/custom-error.js +2 -1
  56. package/build/data-set-to-attributes.d.ts +1 -0
  57. package/build/data-set-to-attributes.d.ts.map +1 -1
  58. package/build/data-set-to-attributes.js +2 -1
  59. package/build/deserializer.d.ts +2 -0
  60. package/build/deserializer.d.ts.map +1 -1
  61. package/build/deserializer.js +5 -3
  62. package/build/destroy-error.d.ts +1 -0
  63. package/build/destroy-error.d.ts.map +1 -1
  64. package/build/destroy-error.js +2 -1
  65. package/build/devise.d.ts +11 -0
  66. package/build/devise.d.ts.map +1 -1
  67. package/build/devise.js +17 -2
  68. package/build/draggable-sort/controller.d.ts +12 -0
  69. package/build/draggable-sort/controller.d.ts.map +1 -1
  70. package/build/draggable-sort/controller.js +13 -1
  71. package/build/error-logger.d.ts +10 -0
  72. package/build/error-logger.d.ts.map +1 -1
  73. package/build/error-logger.js +12 -1
  74. package/build/error-messages.d.ts +1 -3
  75. package/build/error-messages.d.ts.map +1 -1
  76. package/build/error-messages.js +2 -4
  77. package/build/event-connection.d.ts +1 -1
  78. package/build/event-connection.d.ts.map +1 -1
  79. package/build/event-model-class.d.ts +1 -1
  80. package/build/event-model-class.d.ts.map +1 -1
  81. package/build/events.d.ts +1 -0
  82. package/build/events.d.ts.map +1 -1
  83. package/build/events.js +2 -1
  84. package/build/history-expo.d.ts +7 -1
  85. package/build/history-expo.d.ts.map +1 -1
  86. package/build/history-expo.js +8 -1
  87. package/build/history-react-native.d.ts +7 -1
  88. package/build/history-react-native.d.ts.map +1 -1
  89. package/build/history-react-native.js +8 -1
  90. package/build/history.js +2 -1
  91. package/build/index.d.ts +1 -0
  92. package/build/index.d.ts.map +1 -1
  93. package/build/index.js +2 -1
  94. package/build/inputs/auto-submit.d.ts +14 -2
  95. package/build/inputs/auto-submit.d.ts.map +1 -1
  96. package/build/inputs/auto-submit.js +5 -1
  97. package/build/inputs/id-for-component.d.ts +1 -0
  98. package/build/inputs/id-for-component.d.ts.map +1 -1
  99. package/build/inputs/id-for-component.js +2 -1
  100. package/build/inputs/name-for-component.d.ts +1 -0
  101. package/build/inputs/name-for-component.d.ts.map +1 -1
  102. package/build/inputs/name-for-component.js +2 -1
  103. package/build/instance-of-class-name.d.ts +5 -1
  104. package/build/instance-of-class-name.d.ts.map +1 -1
  105. package/build/instance-of-class-name.js +11 -2
  106. package/build/is-expo.js +2 -1
  107. package/build/key-value-store.d.ts +39 -7
  108. package/build/key-value-store.d.ts.map +1 -1
  109. package/build/key-value-store.js +33 -1
  110. package/build/logger.d.ts +35 -9
  111. package/build/logger.d.ts.map +1 -1
  112. package/build/logger.js +25 -1
  113. package/build/merge-styles.d.ts +1 -0
  114. package/build/merge-styles.d.ts.map +1 -1
  115. package/build/merge-styles.js +2 -1
  116. package/build/model-events.d.ts +33 -5
  117. package/build/model-events.d.ts.map +1 -1
  118. package/build/model-events.js +29 -1
  119. package/build/model-name.d.ts +19 -5
  120. package/build/model-name.d.ts.map +1 -1
  121. package/build/model-name.js +10 -1
  122. package/build/model-prop-type.d.ts +11 -0
  123. package/build/model-prop-type.d.ts.map +1 -1
  124. package/build/model-prop-type.js +13 -1
  125. package/build/model-recipes-loader.d.ts +11 -4
  126. package/build/model-recipes-loader.d.ts.map +1 -1
  127. package/build/model-recipes-loader.js +8 -1
  128. package/build/model-recipes-model-loader.d.ts +67 -35
  129. package/build/model-recipes-model-loader.d.ts.map +1 -1
  130. package/build/model-recipes-model-loader.js +24 -3
  131. package/build/models-response-reader.d.ts +32 -6
  132. package/build/models-response-reader.d.ts.map +1 -1
  133. package/build/models-response-reader.js +12 -1
  134. package/build/models.d.ts +1 -1
  135. package/build/models.d.ts.map +1 -1
  136. package/build/models.js +2 -1
  137. package/build/money-formatter.d.ts +72 -8
  138. package/build/money-formatter.d.ts.map +1 -1
  139. package/build/money-formatter.js +36 -1
  140. package/build/not-loaded-error.d.ts +1 -0
  141. package/build/not-loaded-error.d.ts.map +1 -1
  142. package/build/not-loaded-error.js +2 -1
  143. package/build/params.d.ts +1 -0
  144. package/build/params.d.ts.map +1 -1
  145. package/build/params.js +2 -1
  146. package/build/preloaded.d.ts +2 -3
  147. package/build/preloaded.d.ts.map +1 -1
  148. package/build/preloaded.js +3 -4
  149. package/build/rest-props-validator.d.ts +5 -1
  150. package/build/rest-props-validator.d.ts.map +1 -1
  151. package/build/rest-props-validator.js +5 -1
  152. package/build/result.d.ts +4 -0
  153. package/build/result.d.ts.map +1 -1
  154. package/build/result.js +3 -1
  155. package/build/routes-native.d.ts +4 -12
  156. package/build/routes-native.d.ts.map +1 -1
  157. package/build/routes-native.js +5 -13
  158. package/build/routes.d.ts +11 -5
  159. package/build/routes.d.ts.map +1 -1
  160. package/build/routes.js +5 -1
  161. package/build/run-last.d.ts +9 -2
  162. package/build/run-last.d.ts.map +1 -1
  163. package/build/run-last.js +8 -1
  164. package/build/serializer.d.ts +7 -0
  165. package/build/serializer.d.ts.map +1 -1
  166. package/build/serializer.js +9 -2
  167. package/build/services.d.ts +10 -2
  168. package/build/services.d.ts.map +1 -1
  169. package/build/services.js +9 -1
  170. package/build/session-status-updater.d.ts +13 -0
  171. package/build/session-status-updater.d.ts.map +1 -1
  172. package/build/session-status-updater.js +15 -1
  173. package/build/source-maps-loader.js +20 -3
  174. package/build/super-admin/has-edit-config.d.ts +5 -1
  175. package/build/super-admin/has-edit-config.d.ts.map +1 -1
  176. package/build/super-admin/has-edit-config.js +5 -1
  177. package/build/super-admin/models.d.ts +1 -0
  178. package/build/super-admin/models.d.ts.map +1 -1
  179. package/build/super-admin/models.js +2 -1
  180. package/build/table/column-identifier.d.ts +1 -0
  181. package/build/table/column-identifier.d.ts.map +1 -1
  182. package/build/table/column-identifier.js +2 -1
  183. package/build/table/column-visible.d.ts +1 -0
  184. package/build/table/column-visible.d.ts.map +1 -1
  185. package/build/table/column-visible.js +2 -1
  186. package/build/table/model-callback-args.d.ts +1 -0
  187. package/build/table/model-callback-args.d.ts.map +1 -1
  188. package/build/table/model-callback-args.js +2 -1
  189. package/build/table/select-calculator.d.ts +1 -0
  190. package/build/table/select-calculator.d.ts.map +1 -1
  191. package/build/table/select-calculator.js +5 -1
  192. package/build/table/table-settings.d.ts +16 -0
  193. package/build/table/table-settings.d.ts.map +1 -1
  194. package/build/table/table-settings.js +19 -1
  195. package/build/table/use-sorting.d.ts.map +1 -1
  196. package/build/table/use-sorting.js +2 -4
  197. package/build/translated-attributes.d.ts +1 -0
  198. package/build/translated-attributes.d.ts.map +1 -1
  199. package/build/translated-attributes.js +2 -1
  200. package/build/translated-collections.d.ts +7 -1
  201. package/build/translated-collections.d.ts.map +1 -1
  202. package/build/translated-collections.js +7 -1
  203. package/build/updated-attribute.d.ts +1 -1
  204. package/build/updated-attribute.d.ts.map +1 -1
  205. package/build/use-can-can.d.ts.map +1 -1
  206. package/build/use-can-can.js +10 -1
  207. package/build/use-destroyed-event.d.ts +3 -6
  208. package/build/use-destroyed-event.d.ts.map +1 -1
  209. package/build/use-destroyed-event.js +95 -62
  210. package/build/use-model-class-event.d.ts +7 -10
  211. package/build/use-model-class-event.d.ts.map +1 -1
  212. package/build/use-model-class-event.js +7 -6
  213. package/build/use-model-event.d.ts +2 -5
  214. package/build/use-model-event.d.ts.map +1 -1
  215. package/build/use-model-event.js +2 -1
  216. package/build/use-model.d.ts +2 -3
  217. package/build/use-model.d.ts.map +1 -1
  218. package/build/use-model.js +2 -1
  219. package/build/use-screen-layout.d.ts +2 -1
  220. package/build/use-screen-layout.d.ts.map +1 -1
  221. package/build/use-screen-layout.js +7 -2
  222. package/build/use-styles.d.ts +7 -1
  223. package/build/use-styles.d.ts.map +1 -1
  224. package/build/use-styles.js +18 -5
  225. package/build/validation-error.d.ts +1 -0
  226. package/build/validation-error.d.ts.map +1 -1
  227. package/build/validation-error.js +2 -1
  228. package/build/validation-errors.d.ts +7 -0
  229. package/build/validation-errors.d.ts.map +1 -1
  230. package/build/validation-errors.js +8 -1
  231. package/package.json +2 -2
@@ -1,30 +1,58 @@
1
1
  import CableConnectionPool from "./cable-connection-pool.js";
2
2
  import { digg } from "diggerize";
3
+ /** Model and model-class ActionCable event connectors. */
3
4
  export default class ModelEvents {
5
+ /**
6
+ * @param {import("./base-model.js").default} model
7
+ * @param {string} eventName
8
+ * @param {(...args: any[]) => void} callback
9
+ * @returns {import("./cable-subscription.js").default}
10
+ */
4
11
  static connect(model, eventName, callback) {
5
12
  const modelClassName = digg(model.modelClassData(), "name");
6
13
  const cableSubscription = CableConnectionPool.current().connectEvent(modelClassName, model.primaryKey(), eventName, callback);
7
14
  return cableSubscription;
8
15
  }
16
+ /**
17
+ * @param {typeof import("./base-model.js").default} modelClass
18
+ * @param {string} eventName
19
+ * @param {(...args: any[]) => void} callback
20
+ * @returns {import("./cable-subscription.js").default}
21
+ */
9
22
  static connectModelClass(modelClass, eventName, callback) {
10
23
  const modelClassName = digg(modelClass.modelClassData(), "name");
11
24
  const cableSubscription = CableConnectionPool.current().connectModelClassEvent(modelClassName, eventName, callback);
12
25
  return cableSubscription;
13
26
  }
27
+ /**
28
+ * @param {typeof import("./base-model.js").default} modelClass
29
+ * @param {(...args: any[]) => void} callback
30
+ * @returns {import("./cable-subscription.js").default}
31
+ */
14
32
  static connectCreated(modelClass, callback) {
15
33
  const modelClassName = digg(modelClass.modelClassData(), "name");
16
34
  const cableSubscription = CableConnectionPool.current().connectCreated(modelClassName, callback);
17
35
  return cableSubscription;
18
36
  }
37
+ /**
38
+ * @param {import("./base-model.js").default} model
39
+ * @param {(...args: any[]) => void} callback
40
+ * @returns {import("./cable-subscription.js").default}
41
+ */
19
42
  static connectDestroyed(model, callback) {
20
43
  const modelClassName = digg(model.modelClassData(), "name");
21
44
  const cableSubscription = CableConnectionPool.current().connectDestroyed(modelClassName, model.primaryKey(), callback);
22
45
  return cableSubscription;
23
46
  }
47
+ /**
48
+ * @param {import("./base-model.js").default} model
49
+ * @param {(...args: any[]) => void} callback
50
+ * @returns {import("./cable-subscription.js").default}
51
+ */
24
52
  static connectUpdated(model, callback) {
25
53
  const modelClassName = digg(model.modelClassData(), "name");
26
54
  const cableSubscription = CableConnectionPool.current().connectUpdate(modelClassName, model.primaryKey(), callback);
27
55
  return cableSubscription;
28
56
  }
29
57
  }
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtZXZlbnRzLmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJtb2RlbC1ldmVudHMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxtQkFBbUIsTUFBTSw0QkFBNEIsQ0FBQTtBQUM1RCxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sV0FBVyxDQUFBO0FBRTlCLE1BQU0sQ0FBQyxPQUFPLE9BQU8sV0FBVztJQUM5QixNQUFNLENBQUMsT0FBTyxDQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsUUFBUTtRQUN4QyxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFBO1FBQzNELE1BQU0saUJBQWlCLEdBQUcsbUJBQW1CLENBQUMsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDLGNBQWMsRUFBRSxLQUFLLENBQUMsVUFBVSxFQUFFLEVBQUUsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFBO1FBRTdILE9BQU8saUJBQWlCLENBQUE7SUFDMUIsQ0FBQztJQUVELE1BQU0sQ0FBQyxpQkFBaUIsQ0FBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFFBQVE7UUFDdkQsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQTtRQUNoRSxNQUFNLGlCQUFpQixHQUFHLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxDQUFDLHNCQUFzQixDQUFDLGNBQWMsRUFBRSxTQUFTLEVBQUUsUUFBUSxDQUFDLENBQUE7UUFFbkgsT0FBTyxpQkFBaUIsQ0FBQTtJQUMxQixDQUFDO0lBRUQsTUFBTSxDQUFDLGNBQWMsQ0FBRSxVQUFVLEVBQUUsUUFBUTtRQUN6QyxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFBO1FBQ2hFLE1BQU0saUJBQWlCLEdBQUcsbUJBQW1CLENBQUMsT0FBTyxFQUFFLENBQUMsY0FBYyxDQUFDLGNBQWMsRUFBRSxRQUFRLENBQUMsQ0FBQTtRQUVoRyxPQUFPLGlCQUFpQixDQUFBO0lBQzFCLENBQUM7SUFFRCxNQUFNLENBQUMsZ0JBQWdCLENBQUUsS0FBSyxFQUFFLFFBQVE7UUFDdEMsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQTtRQUMzRCxNQUFNLGlCQUFpQixHQUFHLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxDQUFDLGdCQUFnQixDQUFDLGNBQWMsRUFBRSxLQUFLLENBQUMsVUFBVSxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUE7UUFFdEgsT0FBTyxpQkFBaUIsQ0FBQTtJQUMxQixDQUFDO0lBRUQsTUFBTSxDQUFDLGNBQWMsQ0FBRSxLQUFLLEVBQUUsUUFBUTtRQUNwQyxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFBO1FBQzNELE1BQU0saUJBQWlCLEdBQUcsbUJBQW1CLENBQUMsT0FBTyxFQUFFLENBQUMsYUFBYSxDQUFDLGNBQWMsRUFBRSxLQUFLLENBQUMsVUFBVSxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUE7UUFFbkgsT0FBTyxpQkFBaUIsQ0FBQTtJQUMxQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQ2FibGVDb25uZWN0aW9uUG9vbCBmcm9tIFwiLi9jYWJsZS1jb25uZWN0aW9uLXBvb2wuanNcIlxuaW1wb3J0IHtkaWdnfSBmcm9tIFwiZGlnZ2VyaXplXCJcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTW9kZWxFdmVudHMge1xuICBzdGF0aWMgY29ubmVjdCAobW9kZWwsIGV2ZW50TmFtZSwgY2FsbGJhY2spIHtcbiAgICBjb25zdCBtb2RlbENsYXNzTmFtZSA9IGRpZ2cobW9kZWwubW9kZWxDbGFzc0RhdGEoKSwgXCJuYW1lXCIpXG4gICAgY29uc3QgY2FibGVTdWJzY3JpcHRpb24gPSBDYWJsZUNvbm5lY3Rpb25Qb29sLmN1cnJlbnQoKS5jb25uZWN0RXZlbnQobW9kZWxDbGFzc05hbWUsIG1vZGVsLnByaW1hcnlLZXkoKSwgZXZlbnROYW1lLCBjYWxsYmFjaylcblxuICAgIHJldHVybiBjYWJsZVN1YnNjcmlwdGlvblxuICB9XG5cbiAgc3RhdGljIGNvbm5lY3RNb2RlbENsYXNzIChtb2RlbENsYXNzLCBldmVudE5hbWUsIGNhbGxiYWNrKSB7XG4gICAgY29uc3QgbW9kZWxDbGFzc05hbWUgPSBkaWdnKG1vZGVsQ2xhc3MubW9kZWxDbGFzc0RhdGEoKSwgXCJuYW1lXCIpXG4gICAgY29uc3QgY2FibGVTdWJzY3JpcHRpb24gPSBDYWJsZUNvbm5lY3Rpb25Qb29sLmN1cnJlbnQoKS5jb25uZWN0TW9kZWxDbGFzc0V2ZW50KG1vZGVsQ2xhc3NOYW1lLCBldmVudE5hbWUsIGNhbGxiYWNrKVxuXG4gICAgcmV0dXJuIGNhYmxlU3Vic2NyaXB0aW9uXG4gIH1cblxuICBzdGF0aWMgY29ubmVjdENyZWF0ZWQgKG1vZGVsQ2xhc3MsIGNhbGxiYWNrKSB7XG4gICAgY29uc3QgbW9kZWxDbGFzc05hbWUgPSBkaWdnKG1vZGVsQ2xhc3MubW9kZWxDbGFzc0RhdGEoKSwgXCJuYW1lXCIpXG4gICAgY29uc3QgY2FibGVTdWJzY3JpcHRpb24gPSBDYWJsZUNvbm5lY3Rpb25Qb29sLmN1cnJlbnQoKS5jb25uZWN0Q3JlYXRlZChtb2RlbENsYXNzTmFtZSwgY2FsbGJhY2spXG5cbiAgICByZXR1cm4gY2FibGVTdWJzY3JpcHRpb25cbiAgfVxuXG4gIHN0YXRpYyBjb25uZWN0RGVzdHJveWVkIChtb2RlbCwgY2FsbGJhY2spIHtcbiAgICBjb25zdCBtb2RlbENsYXNzTmFtZSA9IGRpZ2cobW9kZWwubW9kZWxDbGFzc0RhdGEoKSwgXCJuYW1lXCIpXG4gICAgY29uc3QgY2FibGVTdWJzY3JpcHRpb24gPSBDYWJsZUNvbm5lY3Rpb25Qb29sLmN1cnJlbnQoKS5jb25uZWN0RGVzdHJveWVkKG1vZGVsQ2xhc3NOYW1lLCBtb2RlbC5wcmltYXJ5S2V5KCksIGNhbGxiYWNrKVxuXG4gICAgcmV0dXJuIGNhYmxlU3Vic2NyaXB0aW9uXG4gIH1cblxuICBzdGF0aWMgY29ubmVjdFVwZGF0ZWQgKG1vZGVsLCBjYWxsYmFjaykge1xuICAgIGNvbnN0IG1vZGVsQ2xhc3NOYW1lID0gZGlnZyhtb2RlbC5tb2RlbENsYXNzRGF0YSgpLCBcIm5hbWVcIilcbiAgICBjb25zdCBjYWJsZVN1YnNjcmlwdGlvbiA9IENhYmxlQ29ubmVjdGlvblBvb2wuY3VycmVudCgpLmNvbm5lY3RVcGRhdGUobW9kZWxDbGFzc05hbWUsIG1vZGVsLnByaW1hcnlLZXkoKSwgY2FsbGJhY2spXG5cbiAgICByZXR1cm4gY2FibGVTdWJzY3JpcHRpb25cbiAgfVxufVxuIl19
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtZXZlbnRzLmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJtb2RlbC1ldmVudHMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxtQkFBbUIsTUFBTSw0QkFBNEIsQ0FBQTtBQUM1RCxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sV0FBVyxDQUFBO0FBRTlCLDBEQUEwRDtBQUMxRCxNQUFNLENBQUMsT0FBTyxPQUFPLFdBQVc7SUFDOUI7Ozs7O09BS0c7SUFDSCxNQUFNLENBQUMsT0FBTyxDQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsUUFBUTtRQUN4QyxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFBO1FBQzNELE1BQU0saUJBQWlCLEdBQUcsbUJBQW1CLENBQUMsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDLGNBQWMsRUFBRSxLQUFLLENBQUMsVUFBVSxFQUFFLEVBQUUsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFBO1FBRTdILE9BQU8saUJBQWlCLENBQUE7SUFDMUIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsTUFBTSxDQUFDLGlCQUFpQixDQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsUUFBUTtRQUN2RCxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFBO1FBQ2hFLE1BQU0saUJBQWlCLEdBQUcsbUJBQW1CLENBQUMsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUMsY0FBYyxFQUFFLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQTtRQUVuSCxPQUFPLGlCQUFpQixDQUFBO0lBQzFCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLGNBQWMsQ0FBRSxVQUFVLEVBQUUsUUFBUTtRQUN6QyxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFBO1FBQ2hFLE1BQU0saUJBQWlCLEdBQUcsbUJBQW1CLENBQUMsT0FBTyxFQUFFLENBQUMsY0FBYyxDQUFDLGNBQWMsRUFBRSxRQUFRLENBQUMsQ0FBQTtRQUVoRyxPQUFPLGlCQUFpQixDQUFBO0lBQzFCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLGdCQUFnQixDQUFFLEtBQUssRUFBRSxRQUFRO1FBQ3RDLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUE7UUFDM0QsTUFBTSxpQkFBaUIsR0FBRyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLEVBQUUsS0FBSyxDQUFDLFVBQVUsRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFBO1FBRXRILE9BQU8saUJBQWlCLENBQUE7SUFDMUIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsY0FBYyxDQUFFLEtBQUssRUFBRSxRQUFRO1FBQ3BDLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUE7UUFDM0QsTUFBTSxpQkFBaUIsR0FBRyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxhQUFhLENBQUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxVQUFVLEVBQUUsRUFBRSxRQUFRLENBQUMsQ0FBQTtRQUVuSCxPQUFPLGlCQUFpQixDQUFBO0lBQzFCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBDYWJsZUNvbm5lY3Rpb25Qb29sIGZyb20gXCIuL2NhYmxlLWNvbm5lY3Rpb24tcG9vbC5qc1wiXG5pbXBvcnQge2RpZ2d9IGZyb20gXCJkaWdnZXJpemVcIlxuXG4vKiogTW9kZWwgYW5kIG1vZGVsLWNsYXNzIEFjdGlvbkNhYmxlIGV2ZW50IGNvbm5lY3RvcnMuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBNb2RlbEV2ZW50cyB7XG4gIC8qKlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4vYmFzZS1tb2RlbC5qc1wiKS5kZWZhdWx0fSBtb2RlbFxuICAgKiBAcGFyYW0ge3N0cmluZ30gZXZlbnROYW1lXG4gICAqIEBwYXJhbSB7KC4uLmFyZ3M6IGFueVtdKSA9PiB2b2lkfSBjYWxsYmFja1xuICAgKiBAcmV0dXJucyB7aW1wb3J0KFwiLi9jYWJsZS1zdWJzY3JpcHRpb24uanNcIikuZGVmYXVsdH1cbiAgICovXG4gIHN0YXRpYyBjb25uZWN0IChtb2RlbCwgZXZlbnROYW1lLCBjYWxsYmFjaykge1xuICAgIGNvbnN0IG1vZGVsQ2xhc3NOYW1lID0gZGlnZyhtb2RlbC5tb2RlbENsYXNzRGF0YSgpLCBcIm5hbWVcIilcbiAgICBjb25zdCBjYWJsZVN1YnNjcmlwdGlvbiA9IENhYmxlQ29ubmVjdGlvblBvb2wuY3VycmVudCgpLmNvbm5lY3RFdmVudChtb2RlbENsYXNzTmFtZSwgbW9kZWwucHJpbWFyeUtleSgpLCBldmVudE5hbWUsIGNhbGxiYWNrKVxuXG4gICAgcmV0dXJuIGNhYmxlU3Vic2NyaXB0aW9uXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHt0eXBlb2YgaW1wb3J0KFwiLi9iYXNlLW1vZGVsLmpzXCIpLmRlZmF1bHR9IG1vZGVsQ2xhc3NcbiAgICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZVxuICAgKiBAcGFyYW0geyguLi5hcmdzOiBhbnlbXSkgPT4gdm9pZH0gY2FsbGJhY2tcbiAgICogQHJldHVybnMge2ltcG9ydChcIi4vY2FibGUtc3Vic2NyaXB0aW9uLmpzXCIpLmRlZmF1bHR9XG4gICAqL1xuICBzdGF0aWMgY29ubmVjdE1vZGVsQ2xhc3MgKG1vZGVsQ2xhc3MsIGV2ZW50TmFtZSwgY2FsbGJhY2spIHtcbiAgICBjb25zdCBtb2RlbENsYXNzTmFtZSA9IGRpZ2cobW9kZWxDbGFzcy5tb2RlbENsYXNzRGF0YSgpLCBcIm5hbWVcIilcbiAgICBjb25zdCBjYWJsZVN1YnNjcmlwdGlvbiA9IENhYmxlQ29ubmVjdGlvblBvb2wuY3VycmVudCgpLmNvbm5lY3RNb2RlbENsYXNzRXZlbnQobW9kZWxDbGFzc05hbWUsIGV2ZW50TmFtZSwgY2FsbGJhY2spXG5cbiAgICByZXR1cm4gY2FibGVTdWJzY3JpcHRpb25cbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge3R5cGVvZiBpbXBvcnQoXCIuL2Jhc2UtbW9kZWwuanNcIikuZGVmYXVsdH0gbW9kZWxDbGFzc1xuICAgKiBAcGFyYW0geyguLi5hcmdzOiBhbnlbXSkgPT4gdm9pZH0gY2FsbGJhY2tcbiAgICogQHJldHVybnMge2ltcG9ydChcIi4vY2FibGUtc3Vic2NyaXB0aW9uLmpzXCIpLmRlZmF1bHR9XG4gICAqL1xuICBzdGF0aWMgY29ubmVjdENyZWF0ZWQgKG1vZGVsQ2xhc3MsIGNhbGxiYWNrKSB7XG4gICAgY29uc3QgbW9kZWxDbGFzc05hbWUgPSBkaWdnKG1vZGVsQ2xhc3MubW9kZWxDbGFzc0RhdGEoKSwgXCJuYW1lXCIpXG4gICAgY29uc3QgY2FibGVTdWJzY3JpcHRpb24gPSBDYWJsZUNvbm5lY3Rpb25Qb29sLmN1cnJlbnQoKS5jb25uZWN0Q3JlYXRlZChtb2RlbENsYXNzTmFtZSwgY2FsbGJhY2spXG5cbiAgICByZXR1cm4gY2FibGVTdWJzY3JpcHRpb25cbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4vYmFzZS1tb2RlbC5qc1wiKS5kZWZhdWx0fSBtb2RlbFxuICAgKiBAcGFyYW0geyguLi5hcmdzOiBhbnlbXSkgPT4gdm9pZH0gY2FsbGJhY2tcbiAgICogQHJldHVybnMge2ltcG9ydChcIi4vY2FibGUtc3Vic2NyaXB0aW9uLmpzXCIpLmRlZmF1bHR9XG4gICAqL1xuICBzdGF0aWMgY29ubmVjdERlc3Ryb3llZCAobW9kZWwsIGNhbGxiYWNrKSB7XG4gICAgY29uc3QgbW9kZWxDbGFzc05hbWUgPSBkaWdnKG1vZGVsLm1vZGVsQ2xhc3NEYXRhKCksIFwibmFtZVwiKVxuICAgIGNvbnN0IGNhYmxlU3Vic2NyaXB0aW9uID0gQ2FibGVDb25uZWN0aW9uUG9vbC5jdXJyZW50KCkuY29ubmVjdERlc3Ryb3llZChtb2RlbENsYXNzTmFtZSwgbW9kZWwucHJpbWFyeUtleSgpLCBjYWxsYmFjaylcblxuICAgIHJldHVybiBjYWJsZVN1YnNjcmlwdGlvblxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi9iYXNlLW1vZGVsLmpzXCIpLmRlZmF1bHR9IG1vZGVsXG4gICAqIEBwYXJhbSB7KC4uLmFyZ3M6IGFueVtdKSA9PiB2b2lkfSBjYWxsYmFja1xuICAgKiBAcmV0dXJucyB7aW1wb3J0KFwiLi9jYWJsZS1zdWJzY3JpcHRpb24uanNcIikuZGVmYXVsdH1cbiAgICovXG4gIHN0YXRpYyBjb25uZWN0VXBkYXRlZCAobW9kZWwsIGNhbGxiYWNrKSB7XG4gICAgY29uc3QgbW9kZWxDbGFzc05hbWUgPSBkaWdnKG1vZGVsLm1vZGVsQ2xhc3NEYXRhKCksIFwibmFtZVwiKVxuICAgIGNvbnN0IGNhYmxlU3Vic2NyaXB0aW9uID0gQ2FibGVDb25uZWN0aW9uUG9vbC5jdXJyZW50KCkuY29ubmVjdFVwZGF0ZShtb2RlbENsYXNzTmFtZSwgbW9kZWwucHJpbWFyeUtleSgpLCBjYWxsYmFjaylcblxuICAgIHJldHVybiBjYWJsZVN1YnNjcmlwdGlvblxuICB9XG59XG4iXX0=
@@ -1,8 +1,22 @@
1
+ /** Model name helper for i18n lookups and metadata. */
1
2
  export default class ModelName {
2
- constructor(data: any);
3
- data: any;
4
- camelizedLower: () => any;
5
- human(args: any): any;
6
- paramKey: () => any;
3
+ /** @param {{modelClassData: Record<string, any>}} data */
4
+ constructor(data: {
5
+ modelClassData: Record<string, any>;
6
+ });
7
+ data: {
8
+ modelClassData: Record<string, any>;
9
+ };
10
+ /** @returns {string} */
11
+ camelizedLower: () => string;
12
+ /**
13
+ * @param {{count?: number}} [args]
14
+ * @returns {string}
15
+ */
16
+ human(args?: {
17
+ count?: number;
18
+ }): string;
19
+ /** @returns {string} */
20
+ paramKey: () => string;
7
21
  }
8
22
  //# sourceMappingURL=model-name.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"model-name.d.ts","sourceRoot":"/src/","sources":["model-name.js"],"names":[],"mappings":"AAGA;IACE,uBAEC;IADC,UAAgB;IAGlB,0BAA8D;IAE9D,sBAmBC;IAED,oBAAkD;CACnD"}
1
+ {"version":3,"file":"model-name.d.ts","sourceRoot":"/src/","sources":["model-name.js"],"names":[],"mappings":"AAGA,uDAAuD;AACvD;IACE,0DAA0D;IAC1D,kBADY;QAAC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAAC,EAGhD;IADC;wBAF2B,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;MAE9B;IAGlB,wBAAwB;IACxB,sBADc,MAAM,CAC0C;IAE9D;;;OAGG;IACH,aAHW;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAC,GACd,MAAM,CAsBlB;IAED,wBAAwB;IACxB,gBADc,MAAM,CAC8B;CACnD"}
@@ -1,10 +1,17 @@
1
1
  import * as inflection from "inflection";
2
2
  import Config from "./config.js";
3
+ /** Model name helper for i18n lookups and metadata. */
3
4
  export default class ModelName {
5
+ /** @param {{modelClassData: Record<string, any>}} data */
4
6
  constructor(data) {
5
7
  this.data = data;
6
8
  }
9
+ /** @returns {string} */
7
10
  camelizedLower = () => this.data.modelClassData.camelizedLower;
11
+ /**
12
+ * @param {{count?: number}} [args]
13
+ * @returns {string}
14
+ */
8
15
  human(args) {
9
16
  let argsToUse = args;
10
17
  if (!argsToUse)
@@ -20,8 +27,10 @@ export default class ModelName {
20
27
  let defaultModelName = this.data.modelClassData.name;
21
28
  if (args?.count > 1)
22
29
  defaultModelName = inflection.pluralize(defaultModelName);
30
+ // @ts-expect-error
23
31
  return Config.getI18n().t(key, { defaultValue: defaultModelName });
24
32
  }
33
+ /** @returns {string} */
25
34
  paramKey = () => this.data.modelClassData.paramKey;
26
35
  }
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtbmFtZS5qcyIsInNvdXJjZVJvb3QiOiIvc3JjLyIsInNvdXJjZXMiOlsibW9kZWwtbmFtZS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssVUFBVSxNQUFNLFlBQVksQ0FBQTtBQUN4QyxPQUFPLE1BQU0sTUFBTSxhQUFhLENBQUE7QUFFaEMsTUFBTSxDQUFDLE9BQU8sT0FBTyxTQUFTO0lBQzVCLFlBQVksSUFBSTtRQUNkLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFBO0lBQ2xCLENBQUM7SUFFRCxjQUFjLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFBO0lBRTlELEtBQUssQ0FBQyxJQUFJO1FBQ1IsSUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFBO1FBRXBCLElBQUksQ0FBQyxTQUFTO1lBQUUsU0FBUyxHQUFHLEVBQUMsS0FBSyxFQUFFLENBQUMsRUFBQyxDQUFBO1FBRXRDLElBQUksUUFBUSxDQUFBO1FBRVosSUFBSSxTQUFTLENBQUMsS0FBSyxHQUFHLENBQUMsSUFBSSxTQUFTLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQy9DLFFBQVEsR0FBRyxPQUFPLENBQUE7UUFDcEIsQ0FBQzthQUFNLENBQUM7WUFDTixRQUFRLEdBQUcsS0FBSyxDQUFBO1FBQ2xCLENBQUM7UUFFRCxNQUFNLEdBQUcsR0FBRyx1QkFBdUIsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxJQUFJLFFBQVEsRUFBRSxDQUFBO1FBQ2pGLElBQUksZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFBO1FBRXBELElBQUksSUFBSSxFQUFFLEtBQUssR0FBRyxDQUFDO1lBQUUsZ0JBQWdCLEdBQUcsVUFBVSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFBO1FBRTlFLE9BQU8sTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBQyxZQUFZLEVBQUUsZ0JBQWdCLEVBQUMsQ0FBQyxDQUFBO0lBQ2xFLENBQUM7SUFFRCxRQUFRLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFBO0NBQ25EIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgaW5mbGVjdGlvbiBmcm9tIFwiaW5mbGVjdGlvblwiXG5pbXBvcnQgQ29uZmlnIGZyb20gXCIuL2NvbmZpZy5qc1wiXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE1vZGVsTmFtZSB7XG4gIGNvbnN0cnVjdG9yKGRhdGEpIHtcbiAgICB0aGlzLmRhdGEgPSBkYXRhXG4gIH1cblxuICBjYW1lbGl6ZWRMb3dlciA9ICgpID0+IHRoaXMuZGF0YS5tb2RlbENsYXNzRGF0YS5jYW1lbGl6ZWRMb3dlclxuXG4gIGh1bWFuKGFyZ3MpIHtcbiAgICBsZXQgYXJnc1RvVXNlID0gYXJnc1xuXG4gICAgaWYgKCFhcmdzVG9Vc2UpIGFyZ3NUb1VzZSA9IHtjb3VudDogMX1cblxuICAgIGxldCBjb3VudEtleVxuXG4gICAgaWYgKGFyZ3NUb1VzZS5jb3VudCA+IDEgfHwgYXJnc1RvVXNlLmNvdW50IDwgMCkge1xuICAgICAgY291bnRLZXkgPSBcIm90aGVyXCJcbiAgICB9IGVsc2Uge1xuICAgICAgY291bnRLZXkgPSBcIm9uZVwiXG4gICAgfVxuXG4gICAgY29uc3Qga2V5ID0gYGFjdGl2ZXJlY29yZC5tb2RlbHMuJHt0aGlzLmRhdGEubW9kZWxDbGFzc0RhdGEuaTE4bktleX0uJHtjb3VudEtleX1gXG4gICAgbGV0IGRlZmF1bHRNb2RlbE5hbWUgPSB0aGlzLmRhdGEubW9kZWxDbGFzc0RhdGEubmFtZVxuXG4gICAgaWYgKGFyZ3M/LmNvdW50ID4gMSkgZGVmYXVsdE1vZGVsTmFtZSA9IGluZmxlY3Rpb24ucGx1cmFsaXplKGRlZmF1bHRNb2RlbE5hbWUpXG5cbiAgICByZXR1cm4gQ29uZmlnLmdldEkxOG4oKS50KGtleSwge2RlZmF1bHRWYWx1ZTogZGVmYXVsdE1vZGVsTmFtZX0pXG4gIH1cblxuICBwYXJhbUtleSA9ICgpID0+IHRoaXMuZGF0YS5tb2RlbENsYXNzRGF0YS5wYXJhbUtleVxufVxuIl19
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtbmFtZS5qcyIsInNvdXJjZVJvb3QiOiIvc3JjLyIsInNvdXJjZXMiOlsibW9kZWwtbmFtZS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssVUFBVSxNQUFNLFlBQVksQ0FBQTtBQUN4QyxPQUFPLE1BQU0sTUFBTSxhQUFhLENBQUE7QUFFaEMsdURBQXVEO0FBQ3ZELE1BQU0sQ0FBQyxPQUFPLE9BQU8sU0FBUztJQUM1QiwwREFBMEQ7SUFDMUQsWUFBWSxJQUFJO1FBQ2QsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUE7SUFDbEIsQ0FBQztJQUVELHdCQUF3QjtJQUN4QixjQUFjLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFBO0lBRTlEOzs7T0FHRztJQUNILEtBQUssQ0FBQyxJQUFJO1FBQ1IsSUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFBO1FBRXBCLElBQUksQ0FBQyxTQUFTO1lBQUUsU0FBUyxHQUFHLEVBQUMsS0FBSyxFQUFFLENBQUMsRUFBQyxDQUFBO1FBRXRDLElBQUksUUFBUSxDQUFBO1FBRVosSUFBSSxTQUFTLENBQUMsS0FBSyxHQUFHLENBQUMsSUFBSSxTQUFTLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQy9DLFFBQVEsR0FBRyxPQUFPLENBQUE7UUFDcEIsQ0FBQzthQUFNLENBQUM7WUFDTixRQUFRLEdBQUcsS0FBSyxDQUFBO1FBQ2xCLENBQUM7UUFFRCxNQUFNLEdBQUcsR0FBRyx1QkFBdUIsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxJQUFJLFFBQVEsRUFBRSxDQUFBO1FBQ2pGLElBQUksZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFBO1FBRXBELElBQUksSUFBSSxFQUFFLEtBQUssR0FBRyxDQUFDO1lBQUUsZ0JBQWdCLEdBQUcsVUFBVSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFBO1FBRTlFLG1CQUFtQjtRQUNuQixPQUFPLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUMsWUFBWSxFQUFFLGdCQUFnQixFQUFDLENBQUMsQ0FBQTtJQUNsRSxDQUFDO0lBRUQsd0JBQXdCO0lBQ3hCLFFBQVEsR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUE7Q0FDbkQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBpbmZsZWN0aW9uIGZyb20gXCJpbmZsZWN0aW9uXCJcbmltcG9ydCBDb25maWcgZnJvbSBcIi4vY29uZmlnLmpzXCJcblxuLyoqIE1vZGVsIG5hbWUgaGVscGVyIGZvciBpMThuIGxvb2t1cHMgYW5kIG1ldGFkYXRhLiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTW9kZWxOYW1lIHtcbiAgLyoqIEBwYXJhbSB7e21vZGVsQ2xhc3NEYXRhOiBSZWNvcmQ8c3RyaW5nLCBhbnk+fX0gZGF0YSAqL1xuICBjb25zdHJ1Y3RvcihkYXRhKSB7XG4gICAgdGhpcy5kYXRhID0gZGF0YVxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHtzdHJpbmd9ICovXG4gIGNhbWVsaXplZExvd2VyID0gKCkgPT4gdGhpcy5kYXRhLm1vZGVsQ2xhc3NEYXRhLmNhbWVsaXplZExvd2VyXG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7e2NvdW50PzogbnVtYmVyfX0gW2FyZ3NdXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9XG4gICAqL1xuICBodW1hbihhcmdzKSB7XG4gICAgbGV0IGFyZ3NUb1VzZSA9IGFyZ3NcblxuICAgIGlmICghYXJnc1RvVXNlKSBhcmdzVG9Vc2UgPSB7Y291bnQ6IDF9XG5cbiAgICBsZXQgY291bnRLZXlcblxuICAgIGlmIChhcmdzVG9Vc2UuY291bnQgPiAxIHx8IGFyZ3NUb1VzZS5jb3VudCA8IDApIHtcbiAgICAgIGNvdW50S2V5ID0gXCJvdGhlclwiXG4gICAgfSBlbHNlIHtcbiAgICAgIGNvdW50S2V5ID0gXCJvbmVcIlxuICAgIH1cblxuICAgIGNvbnN0IGtleSA9IGBhY3RpdmVyZWNvcmQubW9kZWxzLiR7dGhpcy5kYXRhLm1vZGVsQ2xhc3NEYXRhLmkxOG5LZXl9LiR7Y291bnRLZXl9YFxuICAgIGxldCBkZWZhdWx0TW9kZWxOYW1lID0gdGhpcy5kYXRhLm1vZGVsQ2xhc3NEYXRhLm5hbWVcblxuICAgIGlmIChhcmdzPy5jb3VudCA+IDEpIGRlZmF1bHRNb2RlbE5hbWUgPSBpbmZsZWN0aW9uLnBsdXJhbGl6ZShkZWZhdWx0TW9kZWxOYW1lKVxuXG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvclxuICAgIHJldHVybiBDb25maWcuZ2V0STE4bigpLnQoa2V5LCB7ZGVmYXVsdFZhbHVlOiBkZWZhdWx0TW9kZWxOYW1lfSlcbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7c3RyaW5nfSAqL1xuICBwYXJhbUtleSA9ICgpID0+IHRoaXMuZGF0YS5tb2RlbENsYXNzRGF0YS5wYXJhbUtleVxufVxuIl19
@@ -1,20 +1,31 @@
1
+ /** PropType helpers for API Maker models. */
1
2
  export default class ApiMakerModelPropType {
3
+ /** ofModel. */
2
4
  static ofModel(modelClass: any): ApiMakerModelPropType;
5
+ /** isNotRequired. */
3
6
  isNotRequired(props: any, propName: any, _componentName: any): any;
7
+ /** isRequired. */
4
8
  isRequired(props: any, propName: any, _componentName: any): any;
5
9
  _withLoadedAssociations: {};
10
+ /** previous. */
6
11
  previous(): any;
12
+ /** setPreviousModelPropType. */
7
13
  setPreviousModelPropType(previousModelPropType: any): void;
8
14
  _previousModelPropType: any;
15
+ /** withModelType. */
9
16
  withModelType(modelClass: any): void;
10
17
  _withModelType: any;
18
+ /** validate. */
11
19
  validate({ model, propName }: {
12
20
  model: any;
13
21
  propName: any;
14
22
  }): any;
23
+ /** withLoadedAbilities. */
15
24
  withLoadedAbilities(arrayOfAbilities: any): this;
16
25
  _withLoadedAbilities: any;
26
+ /** withLoadedAssociation. */
17
27
  withLoadedAssociation(associationName: any): ApiMakerModelPropType;
28
+ /** withLoadedAttributes. */
18
29
  withLoadedAttributes(arrayOfAttributes: any): this;
19
30
  _withLoadedAttributes: any;
20
31
  }
@@ -1 +1 @@
1
- {"version":3,"file":"model-prop-type.d.ts","sourceRoot":"/src/","sources":["model-prop-type.js"],"names":[],"mappings":"AAIA;IACE,uDAMC;IAQD,mEAMC;IAED,gEAMC;IAjBC,4BAAiC;IAmBnC,gBAIC;IAED,2DAEC;IADC,4BAAmD;IAGrD,qCAEC;IADC,oBAAgC;IAGlC;;;YAqDC;IAED,iDAIC;IAHC,0BAA4C;IAK9C,mEAOC;IAED,mDAIC;IAHC,2BAA8C;CAIjD"}
1
+ {"version":3,"file":"model-prop-type.d.ts","sourceRoot":"/src/","sources":["model-prop-type.js"],"names":[],"mappings":"AAIA,6CAA6C;AAC7C;IACE,eAAe;IACf,uDAMC;IASD,qBAAqB;IACrB,mEAMC;IAED,kBAAkB;IAClB,gEAMC;IAnBC,4BAAiC;IAqBnC,gBAAgB;IAChB,gBAIC;IAED,gCAAgC;IAChC,2DAEC;IADC,4BAAmD;IAGrD,qBAAqB;IACrB,qCAEC;IADC,oBAAgC;IAGlC,gBAAgB;IAChB;;;YAqDC;IAED,2BAA2B;IAC3B,iDAIC;IAHC,0BAA4C;IAK9C,6BAA6B;IAC7B,mEAOC;IAED,4BAA4B;IAC5B,mDAIC;IAHC,2BAA8C;CAIjD"}
@@ -1,40 +1,49 @@
1
1
  /* eslint-disable max-depth */
2
2
  import * as inflection from "inflection";
3
3
  import { digg } from "diggerize";
4
+ /** PropType helpers for API Maker models. */
4
5
  export default class ApiMakerModelPropType {
6
+ /** ofModel. */
5
7
  static ofModel(modelClass) {
6
8
  const modelPropTypeInstance = new ApiMakerModelPropType();
7
9
  modelPropTypeInstance.withModelType(modelClass);
8
10
  return modelPropTypeInstance;
9
11
  }
12
+ /** Constructor. */
10
13
  constructor() {
11
14
  this.isNotRequired = this.isNotRequired.bind(this);
12
15
  this.isRequired = this.isRequired.bind(this);
13
16
  this._withLoadedAssociations = {};
14
17
  }
18
+ /** isNotRequired. */
15
19
  isNotRequired(props, propName, _componentName) {
16
20
  const model = props[propName];
17
21
  if (model) {
18
22
  return this.validate({ model, propName });
19
23
  }
20
24
  }
25
+ /** isRequired. */
21
26
  isRequired(props, propName, _componentName) {
22
27
  const model = props[propName];
23
28
  if (!model)
24
29
  return new Error(`${propName} was required but not given`);
25
30
  return this.validate({ model, propName });
26
31
  }
32
+ /** previous. */
27
33
  previous() {
28
34
  if (!this._previousModelPropType)
29
35
  throw new Error("No previous model prop type set");
30
36
  return this._previousModelPropType;
31
37
  }
38
+ /** setPreviousModelPropType. */
32
39
  setPreviousModelPropType(previousModelPropType) {
33
40
  this._previousModelPropType = previousModelPropType;
34
41
  }
42
+ /** withModelType. */
35
43
  withModelType(modelClass) {
36
44
  this._withModelType = modelClass;
37
45
  }
46
+ /** validate. */
38
47
  validate({ model, propName }) {
39
48
  if (this._withModelType && this._withModelType.name != model.constructor.name)
40
49
  return new Error(`Expected ${propName} to be of type ${this._withModelType.name} but it wasn't: ${model.constructor.name}`);
@@ -82,19 +91,22 @@ export default class ApiMakerModelPropType {
82
91
  }
83
92
  }
84
93
  }
94
+ /** withLoadedAbilities. */
85
95
  withLoadedAbilities(arrayOfAbilities) {
86
96
  this._withLoadedAbilities = arrayOfAbilities;
87
97
  return this;
88
98
  }
99
+ /** withLoadedAssociation. */
89
100
  withLoadedAssociation(associationName) {
90
101
  const associationModelPropType = new ApiMakerModelPropType();
91
102
  associationModelPropType.setPreviousModelPropType(this);
92
103
  this._withLoadedAssociations[associationName] = associationModelPropType;
93
104
  return associationModelPropType;
94
105
  }
106
+ /** withLoadedAttributes. */
95
107
  withLoadedAttributes(arrayOfAttributes) {
96
108
  this._withLoadedAttributes = arrayOfAttributes;
97
109
  return this;
98
110
  }
99
111
  }
100
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtcHJvcC10eXBlLmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJtb2RlbC1wcm9wLXR5cGUuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsOEJBQThCO0FBQzlCLE9BQU8sS0FBSyxVQUFVLE1BQU0sWUFBWSxDQUFBO0FBQ3hDLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxXQUFXLENBQUE7QUFFOUIsTUFBTSxDQUFDLE9BQU8sT0FBTyxxQkFBcUI7SUFDeEMsTUFBTSxDQUFDLE9BQU8sQ0FBRSxVQUFVO1FBQ3hCLE1BQU0scUJBQXFCLEdBQUcsSUFBSSxxQkFBcUIsRUFBRSxDQUFBO1FBRXpELHFCQUFxQixDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQUUvQyxPQUFPLHFCQUFxQixDQUFBO0lBQzlCLENBQUM7SUFFRDtRQUNFLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDbEQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUM1QyxJQUFJLENBQUMsdUJBQXVCLEdBQUcsRUFBRSxDQUFBO0lBQ25DLENBQUM7SUFFRCxhQUFhLENBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxjQUFjO1FBQzVDLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUU3QixJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1YsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUMsS0FBSyxFQUFFLFFBQVEsRUFBQyxDQUFDLENBQUE7UUFDekMsQ0FBQztJQUNILENBQUM7SUFFRCxVQUFVLENBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxjQUFjO1FBQ3pDLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUU3QixJQUFJLENBQUMsS0FBSztZQUFFLE9B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QUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG1heC1kZXB0aCAqL1xuaW1wb3J0ICogYXMgaW5mbGVjdGlvbiBmcm9tIFwiaW5mbGVjdGlvblwiXG5pbXBvcnQge2RpZ2d9IGZyb20gXCJkaWdnZXJpemVcIlxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBBcGlNYWtlck1vZGVsUHJvcFR5cGUge1xuICBzdGF0aWMgb2ZNb2RlbCAobW9kZWxDbGFzcykge1xuICAgIGNvbnN0IG1vZGVsUHJvcFR5cGVJbnN0YW5jZSA9IG5ldyBBcGlNYWtlck1vZGVsUHJvcFR5cGUoKVxuXG4gICAgbW9kZWxQcm9wVHlwZUluc3RhbmNlLndpdGhNb2RlbFR5cGUobW9kZWxDbGFzcylcblxuICAgIHJldHVybiBtb2RlbFByb3BUeXBlSW5zdGFuY2VcbiAgfVxuXG4gIGNvbnN0cnVjdG9yICgpIHtcbiAgICB0aGlzLmlzTm90UmVxdWlyZWQgPSB0aGlzLmlzTm90UmVxdWlyZWQuYmluZCh0aGlzKVxuICAgIHRoaXMuaXNSZXF1aXJlZCA9IHRoaXMuaXNSZXF1aXJlZC5iaW5kKHRoaXMpXG4gICAgdGhpcy5fd2l0aExvYWRlZEFzc29jaWF0aW9ucyA9IHt9XG4gIH1cblxuICBpc05vdFJlcXVpcmVkIChwcm9wcywgcHJvcE5hbWUsIF9jb21wb25lbnROYW1lKSB7XG4gICAgY29uc3QgbW9kZWwgPSBwcm9wc1twcm9wTmFtZV1cblxuICAgIGlmIChtb2RlbCkge1xuICAgICAgcmV0dXJuIHRoaXMudmFsaWRhdGUoe21vZGVsLCBwcm9wTmFtZX0pXG4gICAgfVxuICB9XG5cbiAgaXNSZXF1aXJlZCAocHJvcHMsIHByb3BOYW1lLCBfY29tcG9uZW50TmFtZSkge1xuICAgIGNvbnN0IG1vZGVsID0gcHJvcHNbcHJvcE5hbWVdXG5cbiAgICBpZiAoIW1vZGVsKSByZXR1cm4gbmV3IEVycm9yKGAke3Byb3BOYW1lfSB3YXMgcmVxdWlyZWQgYnV0IG5vdCBnaXZlbmApXG5cbiAgICByZXR1cm4gdGhpcy52YWxpZGF0ZSh7bW9kZWwsIHByb3BOYW1lfSlcbiAgfVxuXG4gIHByZXZpb3VzICgpIHtcbiAgICBpZiAoIXRoaXMuX3ByZXZpb3VzTW9kZWxQcm9wVHlwZSkgdGhyb3cgbmV3IEVycm9yKFwiTm8gcHJldmlvdXMgbW9kZWwgcHJvcCB0eXBlIHNldFwiKVxuXG4gICAgcmV0dXJuIHRoaXMuX3ByZXZpb3VzTW9kZWxQcm9wVHlwZVxuICB9XG5cbiAgc2V0UHJldmlvdXNNb2RlbFByb3BUeXBlIChwcmV2aW91c01vZGVsUHJvcFR5cGUpIHtcbiAgICB0aGlzLl9wcmV2aW91c01vZGVsUHJvcFR5cGUgPSBwcmV2aW91c01vZGVsUHJvcFR5cGVcbiAgfVxuXG4gIHdpdGhNb2RlbFR5cGUgKG1vZGVsQ2xhc3MpIHtcbiAgICB0aGlzLl93aXRoTW9kZWxUeXBlID0gbW9kZWxDbGFzc1xuICB9XG5cbiAgdmFsaWRhdGUgKHttb2RlbCwgcHJvcE5hbWV9KSB7XG4gICAgaWYgKHRoaXMuX3dpdGhNb2RlbFR5cGUgJiYgdGhpcy5fd2l0aE1vZGVsVHlwZS5uYW1lICE9IG1vZGVsLmNvbnN0cnVjdG9yLm5hbWUpXG4gICAgICByZXR1cm4gbmV3IEVycm9yKGBFeHBlY3RlZCAke3Byb3BOYW1lfSB0byBiZSBvZiB0eXBlICR7dGhpcy5fd2l0aE1vZGVsVHlwZS5uYW1lfSBidXQgaXQgd2Fzbid0OiAke21vZGVsLmNvbnN0cnVjdG9yLm5hbWV9YClcblxuICAgIGlmICh0aGlzLl93aXRoTG9hZGVkQWJpbGl0aWVzKSB7XG4gICAgICBmb3IgKGNvbnN0IGFiaWxpdHlOYW1lIG9mIHRoaXMuX3dpdGhMb2FkZWRBYmlsaXRpZXMpIHtcbiAgICAgICAgY29uc3QgdW5kZXJzY29yZUFiaWxpdHlOYW1lID0gaW5mbGVjdGlvbi51bmRlcnNjb3JlKGFiaWxpdHlOYW1lKVxuXG4gICAgICAgIGlmICghKHVuZGVyc2NvcmVBYmlsaXR5TmFtZSBpbiBtb2RlbC5hYmlsaXRpZXMpKVxuICAgICAgICAgIHJldHVybiBuZXcgRXJyb3IoYFRoZSBhYmlsaXR5ICR7YWJpbGl0eU5hbWV9IHdhcyByZXF1aXJlZCB0byBiZSBsb2FkZWQgaW4gJHtwcm9wTmFtZX0gb2YgdGhlICR7bW9kZWwuY29uc3RydWN0b3IubmFtZX0gdHlwZSBidXQgaXQgd2Fzbid0YClcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodGhpcy5fd2l0aExvYWRlZEFzc29jaWF0aW9ucykge1xuICAgICAgZm9yIChjb25zdCBhc3NvY2lhdGlvbk5hbWUgaW4gdGhpcy5fd2l0aExvYWRlZEFzc29jaWF0aW9ucykge1xuICAgICAgICBjb25zdCBhc3NvY2lhdGlvbk1vZGVsUHJvcFR5cGUgPSBkaWdnKHRoaXMuX3dpdGhMb2FkZWRBc3NvY2lhdGlvbnMsIGFzc29jaWF0aW9uTmFtZSlcbiAgICAgICAgY29uc3QgdW5kZXJzY29yZUFzc29jaWF0aW9uTmFtZSA9IGluZmxlY3Rpb24udW5kZXJzY29yZShhc3NvY2lhdGlvbk5hbWUpXG5cbiAgICAgICAgaWYgKCEodW5kZXJzY29yZUFzc29jaWF0aW9uTmFtZSBpbiBtb2RlbC5yZWxhdGlvbnNoaXBzQ2FjaGUpKVxuICAgICAgICAgIHJldHVybiBuZXcgRXJyb3IoYFRoZSBhc3NvY2lhdGlvbiAke2Fzc29jaWF0aW9uTmFtZX0gd2FzIHJlcXVpcmVkIHRvIGJlIGxvYWRlZCBpbiAke3Byb3BOYW1lfSBvZiB0aGUgJHttb2RlbC5jb25zdHJ1Y3Rvci5uYW1lfSB0eXBlIGJ1dCBpdCB3YXNuJ3RgKVxuXG4gICAgICAgIGNvbnN0IGFzc29jaWF0aW9uQ2FjaGUgPSBkaWdnKG1vZGVsLnJlbGF0aW9uc2hpcHNDYWNoZSwgdW5kZXJzY29yZUFzc29jaWF0aW9uTmFtZSlcblxuICAgICAgICAvLyBGaW5kIGEgbW9kZWwgdG8gcnVuIHN1Yi1tb2RlbC1wcm9wLXR5cGUtdmFsaWRhdGlvbnMgb25cbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoYXNzb2NpYXRpb25DYWNoZSkpIHtcbiAgICAgICAgICBmb3IgKGNvbnN0IHByZWxvYWRlZE1vZGVsIG9mIGFzc29jaWF0aW9uQ2FjaGUpIHtcbiAgICAgICAgICAgIGNvbnN0IHZhbGlkYXRpb25SZXN1bHQgPSBhc3NvY2lhdGlvbk1vZGVsUHJvcFR5cGUudmFsaWRhdGUoe1xuICAgICAgICAgICAgICBtb2RlbDogcHJlbG9hZGVkTW9kZWwsXG4gICAgICAgICAgICAgIHByb3BOYW1lOiBgJHtwcm9wTmFtZX0uJHthc3NvY2lhdGlvbk5hbWV9YFxuICAgICAgICAgICAgfSlcblxuICAgICAgICAgICAgaWYgKHZhbGlkYXRpb25SZXN1bHQpIHJldHVybiB2YWxpZGF0aW9uUmVzdWx0XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKGFzc29jaWF0aW9uQ2FjaGUpIHtcbiAgICAgICAgICBjb25zdCB2YWxpZGF0aW9uUmVzdWx0ID0gYXNzb2NpYXRpb25Nb2RlbFByb3BUeXBlLnZhbGlkYXRlKHtcbiAgICAgICAgICAgIG1vZGVsOiBhc3NvY2lhdGlvbkNhY2hlLFxuICAgICAgICAgICAgcHJvcE5hbWU6IGAke3Byb3BOYW1lfS4ke2Fzc29jaWF0aW9uTmFtZX1gXG4gICAgICAgICAgfSlcblxuICAgICAgICAgIGlmICh2YWxpZGF0aW9uUmVzdWx0KSByZXR1cm4gdmFsaWRhdGlvblJlc3VsdFxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX3dpdGhMb2FkZWRBdHRyaWJ1dGVzICYmIG1vZGVsLmlzUGVyc2lzdGVkKCkpIHtcbiAgICAgIGZvciAoY29uc3QgYXR0cmlidXRlTmFtZSBvZiB0aGlzLl93aXRoTG9hZGVkQXR0cmlidXRlcykge1xuICAgICAgICBjb25zdCB1bmRlcnNjb3JlQXR0cmlidXRlTmFtZSA9IGluZmxlY3Rpb24udW5kZXJzY29yZShhdHRyaWJ1dGVOYW1lKVxuXG4gICAgICAgIGlmICghKHVuZGVyc2NvcmVBdHRyaWJ1dGVOYW1lIGluIG1vZGVsLm1vZGVsRGF0YSkpIHtcbiAgICAgICAgICByZXR1cm4gbmV3IEVycm9yKGBUaGUgYXR0cmlidXRlICR7YXR0cmlidXRlTmFtZX0gd2FzIHJlcXVpcmVkIHRvIGJlIGxvYWRlZCBpbiAke3Byb3BOYW1lfSBvZiB0aGUgJHttb2RlbC5jb25zdHJ1Y3Rvci5uYW1lfSB0eXBlIGJ1dCBpdCB3YXNuJ3RgKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgd2l0aExvYWRlZEFiaWxpdGllcyAoYXJyYXlPZkFiaWxpdGllcykge1xuICAgIHRoaXMuX3dpdGhMb2FkZWRBYmlsaXRpZXMgPSBhcnJheU9mQWJpbGl0aWVzXG5cbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgd2l0aExvYWRlZEFzc29jaWF0aW9uIChhc3NvY2lhdGlvbk5hbWUpIHtcbiAgICBjb25zdCBhc3NvY2lhdGlvbk1vZGVsUHJvcFR5cGUgPSBuZXcgQXBpTWFrZXJNb2RlbFByb3BUeXBlKClcblxuICAgIGFzc29jaWF0aW9uTW9kZWxQcm9wVHlwZS5zZXRQcmV2aW91c01vZGVsUHJvcFR5cGUodGhpcylcbiAgICB0aGlzLl93aXRoTG9hZGVkQXNzb2NpYXRpb25zW2Fzc29jaWF0aW9uTmFtZV0gPSBhc3NvY2lhdGlvbk1vZGVsUHJvcFR5cGVcblxuICAgIHJldHVybiBhc3NvY2lhdGlvbk1vZGVsUHJvcFR5cGVcbiAgfVxuXG4gIHdpdGhMb2FkZWRBdHRyaWJ1dGVzIChhcnJheU9mQXR0cmlidXRlcykge1xuICAgIHRoaXMuX3dpdGhMb2FkZWRBdHRyaWJ1dGVzID0gYXJyYXlPZkF0dHJpYnV0ZXNcblxuICAgIHJldHVybiB0aGlzXG4gIH1cbn1cbiJdfQ==
112
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtcHJvcC10eXBlLmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJtb2RlbC1wcm9wLXR5cGUuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsOEJBQThCO0FBQzlCLE9BQU8sS0FBSyxVQUFVLE1BQU0sWUFBWSxDQUFBO0FBQ3hDLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxXQUFXLENBQUE7QUFFOUIsNkNBQTZDO0FBQzdDLE1BQU0sQ0FBQyxPQUFPLE9BQU8scUJBQXFCO0lBQ3hDLGVBQWU7SUFDZixNQUFNLENBQUMsT0FBTyxDQUFFLFVBQVU7UUFDeEIsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLHFCQUFxQixFQUFFLENBQUE7UUFFekQscUJBQXFCLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBRS9DLE9BQU8scUJBQXFCLENBQUE7SUFDOUIsQ0FBQztJQUVELG1CQUFtQjtJQUNuQjtRQUNFLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDbEQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUM1QyxJQUFJLENBQUMsdUJBQXVCLEdBQUcsRUFBRSxDQUFBO0lBQ25DLENBQUM7SUFFRCxxQkFBcUI7SUFDckIsYUFBYSxDQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsY0FBYztRQUM1QyxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUE7UUFFN0IsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFDLEtBQUssRUFBRSxRQUFRLEVBQUMsQ0FBQyxDQUFBO1FBQ3pDLENBQUM7SUFDSCxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLFVBQVUsQ0FBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLGNBQWM7UUFDekMsTUFBTSxL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Ryx3QkFBd0IsQ0FBQTtRQUV4RSxPQUFPLHdCQUF3QixDQUFBO0lBQ2pDLENBQUM7SUFFRCw0QkFBNEI7SUFDNUIsb0JBQW9CLENBQUUsaUJBQWlCO1FBQ3JDLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxpQkFBaUIsQ0FBQTtRQUU5QyxPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG1heC1kZXB0aCAqL1xuaW1wb3J0ICogYXMgaW5mbGVjdGlvbiBmcm9tIFwiaW5mbGVjdGlvblwiXG5pbXBvcnQge2RpZ2d9IGZyb20gXCJkaWdnZXJpemVcIlxuXG4vKiogUHJvcFR5cGUgaGVscGVycyBmb3IgQVBJIE1ha2VyIG1vZGVscy4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEFwaU1ha2VyTW9kZWxQcm9wVHlwZSB7XG4gIC8qKiBvZk1vZGVsLiAqL1xuICBzdGF0aWMgb2ZNb2RlbCAobW9kZWxDbGFzcykge1xuICAgIGNvbnN0IG1vZGVsUHJvcFR5cGVJbnN0YW5jZSA9IG5ldyBBcGlNYWtlck1vZGVsUHJvcFR5cGUoKVxuXG4gICAgbW9kZWxQcm9wVHlwZUluc3RhbmNlLndpdGhNb2RlbFR5cGUobW9kZWxDbGFzcylcblxuICAgIHJldHVybiBtb2RlbFByb3BUeXBlSW5zdGFuY2VcbiAgfVxuXG4gIC8qKiBDb25zdHJ1Y3Rvci4gKi9cbiAgY29uc3RydWN0b3IgKCkge1xuICAgIHRoaXMuaXNOb3RSZXF1aXJlZCA9IHRoaXMuaXNOb3RSZXF1aXJlZC5iaW5kKHRoaXMpXG4gICAgdGhpcy5pc1JlcXVpcmVkID0gdGhpcy5pc1JlcXVpcmVkLmJpbmQodGhpcylcbiAgICB0aGlzLl93aXRoTG9hZGVkQXNzb2NpYXRpb25zID0ge31cbiAgfVxuXG4gIC8qKiBpc05vdFJlcXVpcmVkLiAqL1xuICBpc05vdFJlcXVpcmVkIChwcm9wcywgcHJvcE5hbWUsIF9jb21wb25lbnROYW1lKSB7XG4gICAgY29uc3QgbW9kZWwgPSBwcm9wc1twcm9wTmFtZV1cblxuICAgIGlmIChtb2RlbCkge1xuICAgICAgcmV0dXJuIHRoaXMudmFsaWRhdGUoe21vZGVsLCBwcm9wTmFtZX0pXG4gICAgfVxuICB9XG5cbiAgLyoqIGlzUmVxdWlyZWQuICovXG4gIGlzUmVxdWlyZWQgKHByb3BzLCBwcm9wTmFtZSwgX2NvbXBvbmVudE5hbWUpIHtcbiAgICBjb25zdCBtb2RlbCA9IHByb3BzW3Byb3BOYW1lXVxuXG4gICAgaWYgKCFtb2RlbCkgcmV0dXJuIG5ldyBFcnJvcihgJHtwcm9wTmFtZX0gd2FzIHJlcXVpcmVkIGJ1dCBub3QgZ2l2ZW5gKVxuXG4gICAgcmV0dXJuIHRoaXMudmFsaWRhdGUoe21vZGVsLCBwcm9wTmFtZX0pXG4gIH1cblxuICAvKiogcHJldmlvdXMuICovXG4gIHByZXZpb3VzICgpIHtcbiAgICBpZiAoIXRoaXMuX3ByZXZpb3VzTW9kZWxQcm9wVHlwZSkgdGhyb3cgbmV3IEVycm9yKFwiTm8gcHJldmlvdXMgbW9kZWwgcHJvcCB0eXBlIHNldFwiKVxuXG4gICAgcmV0dXJuIHRoaXMuX3ByZXZpb3VzTW9kZWxQcm9wVHlwZVxuICB9XG5cbiAgLyoqIHNldFByZXZpb3VzTW9kZWxQcm9wVHlwZS4gKi9cbiAgc2V0UHJldmlvdXNNb2RlbFByb3BUeXBlIChwcmV2aW91c01vZGVsUHJvcFR5cGUpIHtcbiAgICB0aGlzLl9wcmV2aW91c01vZGVsUHJvcFR5cGUgPSBwcmV2aW91c01vZGVsUHJvcFR5cGVcbiAgfVxuXG4gIC8qKiB3aXRoTW9kZWxUeXBlLiAqL1xuICB3aXRoTW9kZWxUeXBlIChtb2RlbENsYXNzKSB7XG4gICAgdGhpcy5fd2l0aE1vZGVsVHlwZSA9IG1vZGVsQ2xhc3NcbiAgfVxuXG4gIC8qKiB2YWxpZGF0ZS4gKi9cbiAgdmFsaWRhdGUgKHttb2RlbCwgcHJvcE5hbWV9KSB7XG4gICAgaWYgKHRoaXMuX3dpdGhNb2RlbFR5cGUgJiYgdGhpcy5fd2l0aE1vZGVsVHlwZS5uYW1lICE9IG1vZGVsLmNvbnN0cnVjdG9yLm5hbWUpXG4gICAgICByZXR1cm4gbmV3IEVycm9yKGBFeHBlY3RlZCAke3Byb3BOYW1lfSB0byBiZSBvZiB0eXBlICR7dGhpcy5fd2l0aE1vZGVsVHlwZS5uYW1lfSBidXQgaXQgd2Fzbid0OiAke21vZGVsLmNvbnN0cnVjdG9yLm5hbWV9YClcblxuICAgIGlmICh0aGlzLl93aXRoTG9hZGVkQWJpbGl0aWVzKSB7XG4gICAgICBmb3IgKGNvbnN0IGFiaWxpdHlOYW1lIG9mIHRoaXMuX3dpdGhMb2FkZWRBYmlsaXRpZXMpIHtcbiAgICAgICAgY29uc3QgdW5kZXJzY29yZUFiaWxpdHlOYW1lID0gaW5mbGVjdGlvbi51bmRlcnNjb3JlKGFiaWxpdHlOYW1lKVxuXG4gICAgICAgIGlmICghKHVuZGVyc2NvcmVBYmlsaXR5TmFtZSBpbiBtb2RlbC5hYmlsaXRpZXMpKVxuICAgICAgICAgIHJldHVybiBuZXcgRXJyb3IoYFRoZSBhYmlsaXR5ICR7YWJpbGl0eU5hbWV9IHdhcyByZXF1aXJlZCB0byBiZSBsb2FkZWQgaW4gJHtwcm9wTmFtZX0gb2YgdGhlICR7bW9kZWwuY29uc3RydWN0b3IubmFtZX0gdHlwZSBidXQgaXQgd2Fzbid0YClcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodGhpcy5fd2l0aExvYWRlZEFzc29jaWF0aW9ucykge1xuICAgICAgZm9yIChjb25zdCBhc3NvY2lhdGlvbk5hbWUgaW4gdGhpcy5fd2l0aExvYWRlZEFzc29jaWF0aW9ucykge1xuICAgICAgICBjb25zdCBhc3NvY2lhdGlvbk1vZGVsUHJvcFR5cGUgPSBkaWdnKHRoaXMuX3dpdGhMb2FkZWRBc3NvY2lhdGlvbnMsIGFzc29jaWF0aW9uTmFtZSlcbiAgICAgICAgY29uc3QgdW5kZXJzY29yZUFzc29jaWF0aW9uTmFtZSA9IGluZmxlY3Rpb24udW5kZXJzY29yZShhc3NvY2lhdGlvbk5hbWUpXG5cbiAgICAgICAgaWYgKCEodW5kZXJzY29yZUFzc29jaWF0aW9uTmFtZSBpbiBtb2RlbC5yZWxhdGlvbnNoaXBzQ2FjaGUpKVxuICAgICAgICAgIHJldHVybiBuZXcgRXJyb3IoYFRoZSBhc3NvY2lhdGlvbiAke2Fzc29jaWF0aW9uTmFtZX0gd2FzIHJlcXVpcmVkIHRvIGJlIGxvYWRlZCBpbiAke3Byb3BOYW1lfSBvZiB0aGUgJHttb2RlbC5jb25zdHJ1Y3Rvci5uYW1lfSB0eXBlIGJ1dCBpdCB3YXNuJ3RgKVxuXG4gICAgICAgIGNvbnN0IGFzc29jaWF0aW9uQ2FjaGUgPSBkaWdnKG1vZGVsLnJlbGF0aW9uc2hpcHNDYWNoZSwgdW5kZXJzY29yZUFzc29jaWF0aW9uTmFtZSlcblxuICAgICAgICAvLyBGaW5kIGEgbW9kZWwgdG8gcnVuIHN1Yi1tb2RlbC1wcm9wLXR5cGUtdmFsaWRhdGlvbnMgb25cbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoYXNzb2NpYXRpb25DYWNoZSkpIHtcbiAgICAgICAgICBmb3IgKGNvbnN0IHByZWxvYWRlZE1vZGVsIG9mIGFzc29jaWF0aW9uQ2FjaGUpIHtcbiAgICAgICAgICAgIGNvbnN0IHZhbGlkYXRpb25SZXN1bHQgPSBhc3NvY2lhdGlvbk1vZGVsUHJvcFR5cGUudmFsaWRhdGUoe1xuICAgICAgICAgICAgICBtb2RlbDogcHJlbG9hZGVkTW9kZWwsXG4gICAgICAgICAgICAgIHByb3BOYW1lOiBgJHtwcm9wTmFtZX0uJHthc3NvY2lhdGlvbk5hbWV9YFxuICAgICAgICAgICAgfSlcblxuICAgICAgICAgICAgaWYgKHZhbGlkYXRpb25SZXN1bHQpIHJldHVybiB2YWxpZGF0aW9uUmVzdWx0XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKGFzc29jaWF0aW9uQ2FjaGUpIHtcbiAgICAgICAgICBjb25zdCB2YWxpZGF0aW9uUmVzdWx0ID0gYXNzb2NpYXRpb25Nb2RlbFByb3BUeXBlLnZhbGlkYXRlKHtcbiAgICAgICAgICAgIG1vZGVsOiBhc3NvY2lhdGlvbkNhY2hlLFxuICAgICAgICAgICAgcHJvcE5hbWU6IGAke3Byb3BOYW1lfS4ke2Fzc29jaWF0aW9uTmFtZX1gXG4gICAgICAgICAgfSlcblxuICAgICAgICAgIGlmICh2YWxpZGF0aW9uUmVzdWx0KSByZXR1cm4gdmFsaWRhdGlvblJlc3VsdFxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX3dpdGhMb2FkZWRBdHRyaWJ1dGVzICYmIG1vZGVsLmlzUGVyc2lzdGVkKCkpIHtcbiAgICAgIGZvciAoY29uc3QgYXR0cmlidXRlTmFtZSBvZiB0aGlzLl93aXRoTG9hZGVkQXR0cmlidXRlcykge1xuICAgICAgICBjb25zdCB1bmRlcnNjb3JlQXR0cmlidXRlTmFtZSA9IGluZmxlY3Rpb24udW5kZXJzY29yZShhdHRyaWJ1dGVOYW1lKVxuXG4gICAgICAgIGlmICghKHVuZGVyc2NvcmVBdHRyaWJ1dGVOYW1lIGluIG1vZGVsLm1vZGVsRGF0YSkpIHtcbiAgICAgICAgICByZXR1cm4gbmV3IEVycm9yKGBUaGUgYXR0cmlidXRlICR7YXR0cmlidXRlTmFtZX0gd2FzIHJlcXVpcmVkIHRvIGJlIGxvYWRlZCBpbiAke3Byb3BOYW1lfSBvZiB0aGUgJHttb2RlbC5jb25zdHJ1Y3Rvci5uYW1lfSB0eXBlIGJ1dCBpdCB3YXNuJ3RgKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqIHdpdGhMb2FkZWRBYmlsaXRpZXMuICovXG4gIHdpdGhMb2FkZWRBYmlsaXRpZXMgKGFycmF5T2ZBYmlsaXRpZXMpIHtcbiAgICB0aGlzLl93aXRoTG9hZGVkQWJpbGl0aWVzID0gYXJyYXlPZkFiaWxpdGllc1xuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKiB3aXRoTG9hZGVkQXNzb2NpYXRpb24uICovXG4gIHdpdGhMb2FkZWRBc3NvY2lhdGlvbiAoYXNzb2NpYXRpb25OYW1lKSB7XG4gICAgY29uc3QgYXNzb2NpYXRpb25Nb2RlbFByb3BUeXBlID0gbmV3IEFwaU1ha2VyTW9kZWxQcm9wVHlwZSgpXG5cbiAgICBhc3NvY2lhdGlvbk1vZGVsUHJvcFR5cGUuc2V0UHJldmlvdXNNb2RlbFByb3BUeXBlKHRoaXMpXG4gICAgdGhpcy5fd2l0aExvYWRlZEFzc29jaWF0aW9uc1thc3NvY2lhdGlvbk5hbWVdID0gYXNzb2NpYXRpb25Nb2RlbFByb3BUeXBlXG5cbiAgICByZXR1cm4gYXNzb2NpYXRpb25Nb2RlbFByb3BUeXBlXG4gIH1cblxuICAvKiogd2l0aExvYWRlZEF0dHJpYnV0ZXMuICovXG4gIHdpdGhMb2FkZWRBdHRyaWJ1dGVzIChhcnJheU9mQXR0cmlidXRlcykge1xuICAgIHRoaXMuX3dpdGhMb2FkZWRBdHRyaWJ1dGVzID0gYXJyYXlPZkF0dHJpYnV0ZXNcblxuICAgIHJldHVybiB0aGlzXG4gIH1cbn1cbiJdfQ==
@@ -1,10 +1,17 @@
1
+ /** Loader that builds model classes from model recipes. */
1
2
  export default class ModelRecipesLoader {
3
+ /** @param {{recipes: Record<string, any>}} args */
2
4
  constructor({ recipes }: {
3
- recipes: any;
5
+ recipes: Record<string, any>;
4
6
  });
5
7
  modelClasses: {};
6
- recipes: any;
7
- getModelClass(name: any): any;
8
- load(): {};
8
+ recipes: Record<string, any>;
9
+ /**
10
+ * @param {string} name
11
+ * @returns {typeof import("./base-model.js").default}
12
+ */
13
+ getModelClass(name: string): typeof import("./base-model.js").default;
14
+ /** @returns {Record<string, typeof import("./base-model.js").default>} */
15
+ load(): Record<string, typeof import("./base-model.js").default>;
9
16
  }
10
17
  //# sourceMappingURL=model-recipes-loader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"model-recipes-loader.d.ts","sourceRoot":"/src/","sources":["model-recipes-loader.js"],"names":[],"mappings":"AAGA;IACE;;OAGC;IAFC,iBAAsB;IACtB,aAAsB;IAGxB,8BAEC;IAED,WAaC;CACF"}
1
+ {"version":3,"file":"model-recipes-loader.d.ts","sourceRoot":"/src/","sources":["model-recipes-loader.js"],"names":[],"mappings":"AAGA,2DAA2D;AAC3D;IACE,mDAAmD;IACnD,yBADY;QAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAAC,EAIzC;IAFC,iBAAsB;IACtB,6BAAsB;IAGxB;;;OAGG;IACH,oBAHW,MAAM,GACJ,cAAc,iBAAiB,EAAE,OAAO,CAIpD;IAED,0EAA0E;IAC1E,QADc,MAAM,CAAC,MAAM,EAAE,cAAc,iBAAiB,EAAE,OAAO,CAAC,CAcrE;CACF"}
@@ -1,13 +1,20 @@
1
1
  import { digg, digs } from "diggerize";
2
2
  import ModelRecipesModelLoader from "./model-recipes-model-loader.js";
3
+ /** Loader that builds model classes from model recipes. */
3
4
  export default class ModelRecipesLoader {
5
+ /** @param {{recipes: Record<string, any>}} args */
4
6
  constructor({ recipes }) {
5
7
  this.modelClasses = {};
6
8
  this.recipes = recipes;
7
9
  }
10
+ /**
11
+ * @param {string} name
12
+ * @returns {typeof import("./base-model.js").default}
13
+ */
8
14
  getModelClass(name) {
9
15
  return digg(this, "modelClasses", name);
10
16
  }
17
+ /** @returns {Record<string, typeof import("./base-model.js").default>} */
11
18
  load() {
12
19
  const { recipes } = digs(this, "recipes");
13
20
  const { models } = digs(recipes, "models");
@@ -20,4 +27,4 @@ export default class ModelRecipesLoader {
20
27
  return this.modelClasses;
21
28
  }
22
29
  }
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtcmVjaXBlcy1sb2FkZXIuanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbIm1vZGVsLXJlY2lwZXMtbG9hZGVyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxJQUFJLEVBQUUsSUFBSSxFQUFDLE1BQU0sV0FBVyxDQUFBO0FBQ3BDLE9BQU8sdUJBQXVCLE1BQU0saUNBQWlDLENBQUE7QUFFckUsTUFBTSxDQUFDLE9BQU8sT0FBTyxrQkFBa0I7SUFDckMsWUFBYSxFQUFDLE9BQU8sRUFBQztRQUNwQixJQUFJLENBQUMsWUFBWSxHQUFHLEVBQUUsQ0FBQTtRQUN0QixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQTtJQUN4QixDQUFDO0lBRUQsYUFBYSxDQUFFLElBQUk7UUFDakIsT0FBTyxJQUFJLENBQUMsSUFBSSxFQUFFLGNBQWMsRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUN6QyxDQUFDO0lBRUQsSUFBSTtRQUNGLE1BQU0sRUFBQyxPQUFPLEVBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFBO1FBQ3ZDLE1BQU0sRUFBQyxNQUFNLEVBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFBO1FBRXhDLEtBQUssTUFBTSxTQUFTLElBQUksTUFBTSxFQUFFLENBQUM7WUFDL0IsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFBO1lBQ3JDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSx1QkFBdUIsQ0FBQyxFQUFDLFdBQVcsRUFBRSxrQkFBa0IsRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFBO1lBQzdGLE1BQU0sVUFBVSxHQUFHLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxDQUFBO1lBRWpELElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLEdBQUcsVUFBVSxDQUFBO1FBQzNDLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUE7SUFDMUIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtkaWdnLCBkaWdzfSBmcm9tIFwiZGlnZ2VyaXplXCJcbmltcG9ydCBNb2RlbFJlY2lwZXNNb2RlbExvYWRlciBmcm9tIFwiLi9tb2RlbC1yZWNpcGVzLW1vZGVsLWxvYWRlci5qc1wiXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE1vZGVsUmVjaXBlc0xvYWRlciB7XG4gIGNvbnN0cnVjdG9yICh7cmVjaXBlc30pIHtcbiAgICB0aGlzLm1vZGVsQ2xhc3NlcyA9IHt9XG4gICAgdGhpcy5yZWNpcGVzID0gcmVjaXBlc1xuICB9XG5cbiAgZ2V0TW9kZWxDbGFzcyAobmFtZSkge1xuICAgIHJldHVybiBkaWdnKHRoaXMsIFwibW9kZWxDbGFzc2VzXCIsIG5hbWUpXG4gIH1cblxuICBsb2FkICgpIHtcbiAgICBjb25zdCB7cmVjaXBlc30gPSBkaWdzKHRoaXMsIFwicmVjaXBlc1wiKVxuICAgIGNvbnN0IHttb2RlbHN9ID0gZGlncyhyZWNpcGVzLCBcIm1vZGVsc1wiKVxuXG4gICAgZm9yIChjb25zdCBtb2RlbE5hbWUgaW4gbW9kZWxzKSB7XG4gICAgICBjb25zdCBtb2RlbFJlY2lwZSA9IG1vZGVsc1ttb2RlbE5hbWVdXG4gICAgICBjb25zdCBtb2RlbENsYXNzTG9hZGVyID0gbmV3IE1vZGVsUmVjaXBlc01vZGVsTG9hZGVyKHttb2RlbFJlY2lwZSwgbW9kZWxSZWNpcGVzTG9hZGVyOiB0aGlzfSlcbiAgICAgIGNvbnN0IG1vZGVsQ2xhc3MgPSBtb2RlbENsYXNzTG9hZGVyLmNyZWF0ZUNsYXNzKClcblxuICAgICAgdGhpcy5tb2RlbENsYXNzZXNbbW9kZWxOYW1lXSA9IG1vZGVsQ2xhc3NcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5tb2RlbENsYXNzZXNcbiAgfVxufVxuIl19
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtcmVjaXBlcy1sb2FkZXIuanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbIm1vZGVsLXJlY2lwZXMtbG9hZGVyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxJQUFJLEVBQUUsSUFBSSxFQUFDLE1BQU0sV0FBVyxDQUFBO0FBQ3BDLE9BQU8sdUJBQXVCLE1BQU0saUNBQWlDLENBQUE7QUFFckUsMkRBQTJEO0FBQzNELE1BQU0sQ0FBQyxPQUFPLE9BQU8sa0JBQWtCO0lBQ3JDLG1EQUFtRDtJQUNuRCxZQUFhLEVBQUMsT0FBTyxFQUFDO1FBQ3BCLElBQUksQ0FBQyxZQUFZLEdBQUcsRUFBRSxDQUFBO1FBQ3RCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFBO0lBQ3hCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxhQUFhLENBQUUsSUFBSTtRQUNqQixPQUFPLElBQUksQ0FBQyxJQUFJLEVBQUUsY0FBYyxFQUFFLElBQUksQ0FBQyxDQUFBO0lBQ3pDLENBQUM7SUFFRCwwRUFBMEU7SUFDMUUsSUFBSTtRQUNGLE1BQU0sRUFBQyxPQUFPLEVBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFBO1FBQ3ZDLE1BQU0sRUFBQyxNQUFNLEVBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFBO1FBRXhDLEtBQUssTUFBTSxTQUFTLElBQUksTUFBTSxFQUFFLENBQUM7WUFDL0IsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFBO1lBQ3JDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSx1QkFBdUIsQ0FBQyxFQUFDLFdBQVcsRUFBRSxrQkFBa0IsRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFBO1lBQzdGLE1BQU0sVUFBVSxHQUFHLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxDQUFBO1lBRWpELElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLEdBQUcsVUFBVSxDQUFBO1FBQzNDLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUE7SUFDMUIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtkaWdnLCBkaWdzfSBmcm9tIFwiZGlnZ2VyaXplXCJcbmltcG9ydCBNb2RlbFJlY2lwZXNNb2RlbExvYWRlciBmcm9tIFwiLi9tb2RlbC1yZWNpcGVzLW1vZGVsLWxvYWRlci5qc1wiXG5cbi8qKiBMb2FkZXIgdGhhdCBidWlsZHMgbW9kZWwgY2xhc3NlcyBmcm9tIG1vZGVsIHJlY2lwZXMuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBNb2RlbFJlY2lwZXNMb2FkZXIge1xuICAvKiogQHBhcmFtIHt7cmVjaXBlczogUmVjb3JkPHN0cmluZywgYW55Pn19IGFyZ3MgKi9cbiAgY29uc3RydWN0b3IgKHtyZWNpcGVzfSkge1xuICAgIHRoaXMubW9kZWxDbGFzc2VzID0ge31cbiAgICB0aGlzLnJlY2lwZXMgPSByZWNpcGVzXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWVcbiAgICogQHJldHVybnMge3R5cGVvZiBpbXBvcnQoXCIuL2Jhc2UtbW9kZWwuanNcIikuZGVmYXVsdH1cbiAgICovXG4gIGdldE1vZGVsQ2xhc3MgKG5hbWUpIHtcbiAgICByZXR1cm4gZGlnZyh0aGlzLCBcIm1vZGVsQ2xhc3Nlc1wiLCBuYW1lKVxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHtSZWNvcmQ8c3RyaW5nLCB0eXBlb2YgaW1wb3J0KFwiLi9iYXNlLW1vZGVsLmpzXCIpLmRlZmF1bHQ+fSAqL1xuICBsb2FkICgpIHtcbiAgICBjb25zdCB7cmVjaXBlc30gPSBkaWdzKHRoaXMsIFwicmVjaXBlc1wiKVxuICAgIGNvbnN0IHttb2RlbHN9ID0gZGlncyhyZWNpcGVzLCBcIm1vZGVsc1wiKVxuXG4gICAgZm9yIChjb25zdCBtb2RlbE5hbWUgaW4gbW9kZWxzKSB7XG4gICAgICBjb25zdCBtb2RlbFJlY2lwZSA9IG1vZGVsc1ttb2RlbE5hbWVdXG4gICAgICBjb25zdCBtb2RlbENsYXNzTG9hZGVyID0gbmV3IE1vZGVsUmVjaXBlc01vZGVsTG9hZGVyKHttb2RlbFJlY2lwZSwgbW9kZWxSZWNpcGVzTG9hZGVyOiB0aGlzfSlcbiAgICAgIGNvbnN0IG1vZGVsQ2xhc3MgPSBtb2RlbENsYXNzTG9hZGVyLmNyZWF0ZUNsYXNzKClcblxuICAgICAgdGhpcy5tb2RlbENsYXNzZXNbbW9kZWxOYW1lXSA9IG1vZGVsQ2xhc3NcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5tb2RlbENsYXNzZXNcbiAgfVxufVxuIl19
@@ -1,17 +1,26 @@
1
+ /** Builds runtime model classes from recipe definitions. */
1
2
  export default class ApiMakerModelRecipesModelLoader {
3
+ /** Constructor. */
2
4
  constructor({ modelRecipe, modelRecipesLoader }: {
3
5
  modelRecipe: any;
4
6
  modelRecipesLoader: any;
5
7
  });
6
8
  modelRecipesLoader: any;
7
9
  modelRecipe: any;
10
+ /** createClass. */
8
11
  createClass(): {
9
- new (args?: {}): {
12
+ new (args?: {
13
+ isNewRecord?: boolean;
14
+ data?: object;
15
+ a?: Record<string, any>;
16
+ b?: Record<string, any>;
17
+ collection?: Collection<typeof BaseModel>;
18
+ }): {
10
19
  changes: {};
11
- newRecord: any;
20
+ newRecord: boolean;
12
21
  relationshipsCache: {};
13
22
  relationships: {};
14
- abilities: any;
23
+ abilities: Record<string, any>;
15
24
  modelData: {};
16
25
  assignAttributes(newAttributes: Record<string, any>): void;
17
26
  attributes(): Record<string, any>;
@@ -32,25 +41,25 @@ export default class ApiMakerModelRecipesModelLoader {
32
41
  model: BaseModel;
33
42
  response: object;
34
43
  }>;
35
- ensureAbilities(listOfAbilities: any): Promise<void>;
44
+ ensureAbilities(listOfAbilities: string[]): Promise<void>;
36
45
  getAttributes(): Record<string, any>;
37
- handleResponseError(response: any): void;
46
+ handleResponseError(response: object): never;
38
47
  identifierKey(): number | string;
39
48
  _identifierKey: string | number;
40
- isAssociationLoaded(associationName: any): boolean;
41
- isAssociationLoadedUnderscore(associationNameUnderscore: any): boolean;
42
- isAssociationPresent(associationName: any): boolean;
49
+ isAssociationLoaded(associationName: string): boolean;
50
+ isAssociationLoadedUnderscore(associationNameUnderscore: string): boolean;
51
+ isAssociationPresent(associationName: string): boolean;
43
52
  isAttributeChanged(attributeName: string): boolean;
44
53
  isChanged(): boolean;
45
54
  isNewRecord(): boolean;
46
55
  isPersisted(): boolean;
47
56
  savedChangeToAttribute(attributeName: string): boolean;
48
57
  setNewModel(model: BaseModel): void;
49
- setNewModelData(model: any): void;
58
+ setNewModelData(model: BaseModel): void;
50
59
  previousModelData: any;
51
- _isDateChanged(oldValue: any, newValue: any): boolean;
52
- _isIntegerChanged(oldValue: any, newValue: any): boolean;
53
- _isStringChanged(oldValue: any, newValue: any): boolean;
60
+ _isDateChanged(oldValue: any, newValue: any): boolean | void;
61
+ _isIntegerChanged(oldValue: any, newValue: any): boolean | void;
62
+ _isStringChanged(oldValue: any, newValue: any): boolean | void;
54
63
  modelClassData(): ModelClassDataType;
55
64
  reload(): Promise<void>;
56
65
  save(): Promise<{
@@ -65,42 +74,53 @@ export default class ApiMakerModelRecipesModelLoader {
65
74
  model: BaseModel;
66
75
  response?: object;
67
76
  }>;
68
- _refreshModelFromResponse(response: any): void;
69
- _refreshModelDataFromResponse(response: any): void;
70
- updateRaw(rawData: any, options?: {}): Promise<{
71
- response: any;
72
- model: /*elided*/ any;
77
+ _refreshModelFromResponse(response: object): void;
78
+ _refreshModelDataFromResponse(response: object): void;
79
+ updateRaw(rawData: FormData | Record<string, any>, options?: ParseValidationErrorsOptions & {
80
+ simpleModelErrors?: boolean;
81
+ }): Promise<{
82
+ response: object;
83
+ model: BaseModel;
73
84
  }>;
74
- isValid(): void;
85
+ isValid(): never;
75
86
  isValidOnServer(): Promise<{
76
- valid: any;
77
- errors: any;
87
+ valid: boolean;
88
+ errors: Record<string, any>;
78
89
  }>;
79
90
  modelClass<Self extends BaseModel>(this: Self): typeof BaseModel & (new (...args: any[]) => Self);
80
- preloadRelationship(relationshipName: any, model: any): void;
91
+ preloadRelationship(relationshipName: string, model: BaseModel | BaseModel[] | null): void;
81
92
  markForDestruction(): void;
82
93
  _markedForDestruction: boolean;
83
94
  markedForDestruction(): boolean;
84
95
  uniqueKey(): number;
85
96
  uniqueKeyValue: number;
86
- _callMemberCommand: (args: any, commandArgs: any) => any;
97
+ _callMemberCommand: (args: Record<string, any>, commandArgs: Record<string, any>) => Promise<object>;
87
98
  readAttribute(attributeName: string): any;
88
99
  readAttributeUnderscore(attributeName: string): any;
89
100
  isAttributeLoaded(attributeName: any): boolean;
90
101
  _isPresent(value: any): boolean;
91
- _loadBelongsToReflection(args: any, queryArgs?: {}): Promise<any>;
102
+ _loadBelongsToReflection<AssocMC extends typeof import("./base-model.js").default>(args: import("./collection.js").CollectionArgsType<AssocMC>, queryArgs?: import("./collection.js").QueryArgsType): Promise<InstanceType<AssocMC>>;
92
103
  _readBelongsToReflection({ reflectionName }: {
93
- reflectionName: any;
94
- }): any;
104
+ reflectionName: string;
105
+ }): BaseModel | null;
95
106
  _loadHasManyReflection<AssocMC extends typeof import("./base-model.js").default>(args: import("./collection.js").CollectionArgsType<AssocMC>, queryArgs?: import("./collection.js").QueryArgsType): Promise<InstanceType<AssocMC>[]>;
96
107
  _loadHasOneReflection<AssocMC extends typeof import("./base-model.js").default>(args: import("./collection.js").CollectionArgsType<AssocMC>, queryArgs?: import("./collection.js").QueryArgsType): Promise<InstanceType<AssocMC>>;
97
108
  _readHasOneReflection({ reflectionName }: {
98
- reflectionName: any;
99
- }): any;
100
- _readModelDataFromArgs(args: any): void;
101
- collection: any;
109
+ reflectionName: string;
110
+ }): BaseModel | null;
111
+ _readModelDataFromArgs(args?: {
112
+ data?: {
113
+ b?: Record<string, any>;
114
+ a?: Record<string, any>;
115
+ r?: any;
116
+ };
117
+ collection?: Collection<typeof BaseModel>;
118
+ }): void;
119
+ collection: Collection<typeof BaseModel>;
102
120
  preloadedRelationships: any;
103
- _readPreloadedRelationships(preloaded: any): void;
121
+ _readPreloadedRelationships(preloaded: {
122
+ getModel: (relationshipType: string, relationshipId: number | string) => BaseModel;
123
+ }): void;
104
124
  primaryKey(): number | string;
105
125
  };
106
126
  readonly name: any;
@@ -114,7 +134,9 @@ export default class ApiMakerModelRecipesModelLoader {
114
134
  throwValidationError?: boolean;
115
135
  }): void;
116
136
  find<T extends typeof BaseModel>(this: T, id: number | string): Promise<InstanceType<T>>;
117
- findOrCreateBy<T extends typeof BaseModel>(this: T, findOrCreateByArgs: Record<string, any>, args?: {}): Promise<InstanceType<T>>;
137
+ findOrCreateBy<T extends typeof BaseModel>(this: T, findOrCreateByArgs: Record<string, any>, args?: {
138
+ additionalData?: Record<string, any>;
139
+ }): Promise<InstanceType<T>>;
118
140
  modelName(): import("./model-name.js").default;
119
141
  primaryKey(): string;
120
142
  ransack<MC extends typeof BaseModel>(this: MC, query?: Record<string, any>): import("./collection.js").default<MC>;
@@ -131,21 +153,29 @@ export default class ApiMakerModelRecipesModelLoader {
131
153
  model?: BaseModel;
132
154
  options: ParseValidationErrorsOptions;
133
155
  }): void;
134
- humanAttributeName(attributeName: any): any;
156
+ humanAttributeName(attributeName: string): string;
135
157
  snakeCase(string: string): string;
136
158
  _objectDataFromGivenRawData(rawData: FormData | Record<string, any>, options: object): Record<string, any>;
137
- _callCollectionCommand(args: any, commandArgs: any): Promise<any>;
138
- _postDataFromArgs(args: any): FormData;
159
+ _callCollectionCommand(args: {
160
+ args: any;
161
+ }, commandArgs: Record<string, any>): Promise<object>;
162
+ _postDataFromArgs(args?: FormData | Record<string, any>): FormData;
139
163
  };
164
+ /** addAttributeMethodsToModelClass. */
140
165
  addAttributeMethodsToModelClass(ModelClass: any, attributes: any): void;
166
+ /** addQueryCommandsToModelClass. */
141
167
  addQueryCommandsToModelClass(ModelClass: any, collectionCommands: any): void;
168
+ /** addMemberCommandsToModelClass. */
142
169
  addMemberCommandsToModelClass(ModelClass: any, memberCommands: any): void;
170
+ /** addRelationshipsToModelClass. */
143
171
  addRelationshipsToModelClass(ModelClass: any, modelClassData: any, relationships: any): void;
172
+ /** defineBelongsToGetMethod. */
144
173
  defineBelongsToGetMethod({ ModelClass, modelMethodName, relationshipName }: {
145
174
  ModelClass: any;
146
175
  modelMethodName: any;
147
176
  relationshipName: any;
148
177
  }): void;
178
+ /** defineBelongsToLoadMethod. */
149
179
  defineBelongsToLoadMethod({ foreignKey, klassPrimaryKey, ModelClass, modelRecipesLoader, loadMethodName, optionsPrimaryKey, relationshipName, resourceName }: {
150
180
  foreignKey: any;
151
181
  klassPrimaryKey: any;
@@ -169,6 +199,7 @@ export default class ApiMakerModelRecipesModelLoader {
169
199
  relationshipName: any;
170
200
  resourceName: any;
171
201
  }): void;
202
+ /** defineHasManyLoadMethod. */
172
203
  defineHasManyLoadMethod({ foreignKey, loadMethodName, ModelClass, modelClassData, modelRecipesLoader, optionsThrough, relationshipName, resourceName }: {
173
204
  foreignKey: any;
174
205
  loadMethodName: any;
@@ -179,6 +210,7 @@ export default class ApiMakerModelRecipesModelLoader {
179
210
  relationshipName: any;
180
211
  resourceName: any;
181
212
  }): void;
213
+ /** defineHasOneGetMethd. */
182
214
  defineHasOneGetMethd({ ModelClass, modelMethodName, relationshipName }: {
183
215
  ModelClass: any;
184
216
  modelMethodName: any;
@@ -196,6 +228,6 @@ export default class ApiMakerModelRecipesModelLoader {
196
228
  resourceName: any;
197
229
  }): void;
198
230
  }
199
- import BaseModel from "./base-model.js";
200
231
  import Collection from "./collection.js";
232
+ import BaseModel from "./base-model.js";
201
233
  //# sourceMappingURL=model-recipes-model-loader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"model-recipes-model-loader.d.ts","sourceRoot":"/src/","sources":["model-recipes-model-loader.js"],"names":[],"mappings":"AAKA;IACE;;;OAKC;IAFC,wBAA4C;IAC5C,iBAA8B;IAGhC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBAiV8oU,CAAC;;;;;;;;wBAAsjB,CAAC;;;;;;;;;;;;;;;;;;;;iCAAmxJ,SAAI,EAAC,gBAAY;;;;;;;;;;;;;;;;;;;;;;;;;yBArRh+e,mEAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA/BtB;IAED,wEAiBC;IAED,6EAgBC;IAED,0EAiBC;IAED,6FAyEC;IAED;;;;aAIC;IAED;;;;;;;;;aAkBC;IAED;;;;;;;;;;;;aAyDC;IAED;;;;;;;;;aAuCC;IAED;;;;aAIC;IAED;;;;;;;;;;aAyCC;CACF;sBA3VqB,iBAAiB;uBAChB,iBAAiB"}
1
+ {"version":3,"file":"model-recipes-model-loader.d.ts","sourceRoot":"/src/","sources":["model-recipes-model-loader.js"],"names":[],"mappings":"AAKA,4DAA4D;AAC5D;IACE,mBAAmB;IACnB;;;OAKC;IAFC,wBAA4C;IAC5C,iBAA8B;IAGhC,mBAAmB;IACnB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBAuWkmV,CAAC;;;;;;;;wBAA2iB,CAAC;;;;;iCAAypE,CAAC;;;;;;;;;;;;;;;;;iCAAm+G,yBAAI,EAAC,gCAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBA5S3vhB,mEAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAzBjD;IAED,uCAAuC;IACvC,wEAiBC;IAED,oCAAoC;IACpC,6EAgBC;IAED,qCAAqC;IACrC,0EAiBC;IAED,oCAAoC;IACpC,6FAkFC;IAED,gCAAgC;IAChC;;;;aAIC;IAED,iCAAiC;IACjC;;;;;;;;;aAkBC;IAED;;;;;;;;;;;;aAyDC;IAED,+BAA+B;IAC/B;;;;;;;;;aAuCC;IAED,4BAA4B;IAC5B;;;;aAIC;IAED;;;;;;;;;;aAyCC;CACF;uBAnXsB,iBAAiB;sBADlB,iBAAiB"}