@kaspernj/api-maker 1.0.2109 → 1.0.2110

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 +32 -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 +57 -49
  39. package/build/collection.d.ts.map +1 -1
  40. package/build/collection.js +55 -51
  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
package/README.md CHANGED
@@ -132,6 +132,38 @@ Callback arguments:
132
132
  - `table`: the table component instance
133
133
  - `l`: ApiMaker i18n formatter helper (for fallback/interop)
134
134
 
135
+ ## AttributeRows date formatting
136
+
137
+ `AttributeRows`/`AttributeRow` support the same date-format customization pattern as `ApiMakerTable`.
138
+
139
+ ```jsx
140
+ <AttributeRows
141
+ attributes={["createdAt"]}
142
+ defaultDateFormatName="date.formats.default"
143
+ defaultDateTimeFormatName="time.formats.default"
144
+ model={user}
145
+ />
146
+ ```
147
+
148
+ You can also pass formatter callbacks:
149
+
150
+ ```jsx
151
+ <AttributeRows
152
+ attributes={["createdAt"]}
153
+ defaultDateFormatName={({value}) => formatByCountry(value, "date")}
154
+ defaultDateTimeFormatName={({value}) => formatByCountry(value, "date-with-time")}
155
+ model={user}
156
+ />
157
+ ```
158
+
159
+ Callback arguments:
160
+
161
+ - `value`: the `Date` instance being rendered
162
+ - `apiMakerType`: `"date"` or `"time"`
163
+ - `attribute`: the attribute metadata object (when present)
164
+ - `model`: the current model instance
165
+ - `l`: ApiMaker i18n formatter helper (for fallback/interop)
166
+
135
167
  ## API reference
136
168
 
137
169
  ApiMaker generates model classes from your recipes. The classes inherit `BaseModel` and expose relationship helpers based on your server-side associations.
package/build/api.d.ts CHANGED
@@ -79,9 +79,7 @@ export default class Api {
79
79
  * @returns {Promise<any>}
80
80
  */
81
81
  static put(path: string, data?: Record<string, any>): Promise<any>;
82
- /**
83
- * @returns {Promise<string>}
84
- */
82
+ /** @returns {Promise<string>} */
85
83
  static _token: () => Promise<string>;
86
84
  /**
87
85
  * Parses the response body according to the response content-type.
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"/src/","sources":["api.js"],"names":[],"mappings":"AAcA;;;GAGG;AACH;IAEE;;;;OAIG;IACH,aAAc,MAJH,MAIO,EAAE,aAHT,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAC,IAGM,KAFxB,OAAO,CAAC,GAAG,CAAC,CAEoE;IAE7F;;;;OAIG;IACH,gBAAiB,MAJN,MAIU,EAAE,aAHZ,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAC,IAGS,KAF3B,OAAO,CAAC,GAAG,CAAC,CAE0E;IAEnG;;;;OAIG;IACH,eAAgB,MAJL,MAIS,EAAE,OAHX,MAAM,CAAC,MAAM,EAAE,GAAG,CAGE,KAFlB,OAAO,CAAC,GAAG,CAAC,CAE0D;IAEnF;;;;OAIG;IACH,cAAe,MAJJ,MAIQ,EAAE,OAHV,MAAM,CAAC,MAAM,EAAE,GAAG,CAGC,KAFjB,OAAO,CAAC,GAAG,CAAC,CAEwD;IAEjF;;;;;;;;;;OAUG;IACH,4DAPG;QAAmB,IAAI,GAAf,GAAG;QAC2B,OAAO,GAArC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;QACoB,MAAM,EAAhD,KAAK,GAAC,MAAM,GAAC,OAAO,GAAC,KAAK,GAAC,QAAQ;QACtB,IAAI,EAAjB,MAAM;QAC0B,UAAU,GAA1C,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAC,IAAI;KAChC,GAAU,OAAO,CAAC,GAAG,CAAC,CA0BxB;IAED;;;;;;OAMG;IACH,uBAJW,cAAc,QACd,GAAG,GACD,OAAO,CAAC,GAAG,CAAC,CA2BxB;IAED;;;;;;;;;;;OAWG;IACH,0BARG;QAAmC,IAAI,GAA/B,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;QACW,OAAO,GAArC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;QACoB,MAAM,EAAhD,KAAK,GAAC,MAAM,GAAC,OAAO,GAAC,KAAK,GAAC,QAAQ;QACtB,IAAI,EAAjB,MAAM;QAC0B,UAAU,GAA1C,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAC,IAAI;QACb,OAAO,GAAlB,GAAG;KACX,GAAU,OAAO,CAAC,GAAG,CAAC,CA4BxB;IAED;;;;OAIG;IACH,iBAJW,MAAM,SACN,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACjB,OAAO,CAAC,GAAG,CAAC,CAIxB;IAED;;OAEG;IACH,qBAFa,OAAO,CAAC,MAAM,CAAC,CAE4C;IAExE;;;;;OAKG;IACH,2BAHW,cAAc,GACZ,GAAG,CAUf;CACF"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"/src/","sources":["api.js"],"names":[],"mappings":"AAcA;;;GAGG;AACH;IAEE;;;;OAIG;IACH,aAAc,MAJH,MAIO,EAAE,aAHT,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAC,IAGM,KAFxB,OAAO,CAAC,GAAG,CAAC,CAEoE;IAE7F;;;;OAIG;IACH,gBAAiB,MAJN,MAIU,EAAE,aAHZ,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAC,IAGS,KAF3B,OAAO,CAAC,GAAG,CAAC,CAE0E;IAEnG;;;;OAIG;IACH,eAAgB,MAJL,MAIS,EAAE,OAHX,MAAM,CAAC,MAAM,EAAE,GAAG,CAGE,KAFlB,OAAO,CAAC,GAAG,CAAC,CAE0D;IAEnF;;;;OAIG;IACH,cAAe,MAJJ,MAIQ,EAAE,OAHV,MAAM,CAAC,MAAM,EAAE,GAAG,CAGC,KAFjB,OAAO,CAAC,GAAG,CAAC,CAEwD;IAEjF;;;;;;;;;;OAUG;IACH,4DAPG;QAAmB,IAAI,GAAf,GAAG;QAC2B,OAAO,GAArC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;QACoB,MAAM,EAAhD,KAAK,GAAC,MAAM,GAAC,OAAO,GAAC,KAAK,GAAC,QAAQ;QACtB,IAAI,EAAjB,MAAM;QAC0B,UAAU,GAA1C,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAC,IAAI;KAChC,GAAU,OAAO,CAAC,GAAG,CAAC,CA0BxB;IAED;;;;;;OAMG;IACH,uBAJW,cAAc,QACd,GAAG,GACD,OAAO,CAAC,GAAG,CAAC,CA2BxB;IAED;;;;;;;;;;;OAWG;IACH,0BARG;QAAmC,IAAI,GAA/B,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;QACW,OAAO,GAArC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;QACoB,MAAM,EAAhD,KAAK,GAAC,MAAM,GAAC,OAAO,GAAC,KAAK,GAAC,QAAQ;QACtB,IAAI,EAAjB,MAAM;QAC0B,UAAU,GAA1C,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAC,IAAI;QACb,OAAO,GAAlB,GAAG;KACX,GAAU,OAAO,CAAC,GAAG,CAAC,CA4BxB;IAED;;;;OAIG;IACH,iBAJW,MAAM,SACN,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACjB,OAAO,CAAC,GAAG,CAAC,CAIxB;IAED,iCAAiC;IACjC,qBADc,OAAO,CAAC,MAAM,CAAC,CAC2C;IAExE;;;;;OAKG;IACH,2BAHW,cAAc,GACZ,GAAG,CAUf;CACF"}
package/build/api.js CHANGED
@@ -139,9 +139,7 @@ export default class Api {
139
139
  static async put(path, data = {}) {
140
140
  return this.requestLocal({ path, data, method: "PUT" });
141
141
  }
142
- /**
143
- * @returns {Promise<string>}
144
- */
142
+ /** @returns {Promise<string>} */
145
143
  static _token = async () => SessionStatusUpdater.current().getCsrfToken();
146
144
  /**
147
145
  * Parses the response body according to the response content-type.
@@ -159,4 +157,4 @@ export default class Api {
159
157
  }
160
158
  }
161
159
  }
162
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJhcGkuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaLE9BQU8sTUFBTSxNQUFNLGFBQWEsQ0FBQTtBQUNoQyxPQUFPLFdBQVcsTUFBTSxtQkFBbUIsQ0FBQSxDQUFDLG1DQUFtQztBQUMvRSxPQUFPLGtCQUFrQixNQUFNLHNCQUFzQixDQUFBO0FBQ3JELE9BQU8sTUFBTSxNQUFNLGFBQWEsQ0FBQTtBQUNoQyxPQUFPLEVBQUUsTUFBTSxJQUFJLENBQUE7QUFDbkIsT0FBTyxvQkFBb0IsTUFBTSw2QkFBNkIsQ0FBQSxDQUFDLG1DQUFtQztBQUNsRyxPQUFPLFNBQVMsTUFBTSxpQkFBaUIsQ0FBQTtBQUV2QyxNQUFNLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxFQUFDLElBQUksRUFBRSxnQkFBZ0IsRUFBQyxDQUFDLENBQUE7QUFFbkQsd0JBQXdCO0FBRXhCOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxPQUFPLE9BQU8sR0FBRztJQUV0Qjs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLEdBQUcsR0FBRyxDQUFDLElBQUksRUFBRSxVQUFVLEdBQUcsSUFBSSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFDLENBQUMsQ0FBQTtJQUU3Rjs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksRUFBRSxVQUFVLEdBQUcsSUFBSSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFDLENBQUMsQ0FBQTtJQUVuRzs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLEtBQUssR0FBRyxDQUFDLElBQUksRUFBRSxJQUFJLEdBQUcsRUFBRSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsWUFB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SUFDSCxNQUFNLENBQUMsTUFBTSxHQUFHLEtBQUssSUFBRyxFQUFFLENBQUMsb0JBQW9CLENBQUMsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLENBQUE7SUFFeEU7Ozs7O09BS0c7SUFDSCxNQUFNLENBQUMsY0FBYyxDQUFDLEdBQUc7UUFDdkIsTUFBTSxZQUFZLEdBQUcsR0FBRyxDQUFDLGlCQUFpQixDQUFDLGNBQWMsQ0FBQyxDQUFBO1FBRTFELElBQUksWUFBWSxJQUFJLFlBQVksQ0FBQyxVQUFVLENBQUMsa0JBQWtCLENBQUMsRUFBRSxDQUFDO1lBQ2hFLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUE7UUFDckMsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLEdBQUcsQ0FBQyxZQUFZLENBQUE7UUFDekIsQ0FBQztJQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcblxuaW1wb3J0IGNvbmZpZyBmcm9tIFwiLi9jb25maWcuanNcIlxuaW1wb3J0IEN1c3RvbUVycm9yIGZyb20gXCIuL2N1c3RvbS1lcnJvci5qc1wiIC8vIGVzbGludC1kaXNhYmxlLWxpbmUgc29ydC1pbXBvcnRzXG5pbXBvcnQgRm9ybURhdGFPYmplY3RpemVyIGZyb20gXCJmb3JtLWRhdGEtb2JqZWN0aXplclwiXG5pbXBvcnQgTG9nZ2VyIGZyb20gXCIuL2xvZ2dlci5qc1wiXG5pbXBvcnQgcXMgZnJvbSBcInFzXCJcbmltcG9ydCBTZXNzaW9uU3RhdHVzVXBkYXRlciBmcm9tIFwiLi9zZXNzaW9uLXN0YXR1cy11cGRhdGVyLmpzXCIgLy8gZXNsaW50LWRpc2FibGUtbGluZSBzb3J0LWltcG9ydHNcbmltcG9ydCB1cmxFbmNvZGUgZnJvbSBcIi4vdXJsLWVuY29kZS5qc1wiXG5cbmNvbnN0IGxvZ2dlciA9IG5ldyBMb2dnZXIoe25hbWU6IFwiQXBpTWFrZXIgLyBBcGlcIn0pXG5cbi8vIGxvZ2dlci5zZXREZWJ1Zyh0cnVlKVxuXG4vKipcbiAqIFRoaW4gWE1MSHR0cFJlcXVlc3Qgd3JhcHBlciB1c2VkIGFjcm9zcyB0aGUgY2xpZW50IHRvIHRhbGsgdG8gdGhlIEFQSS5cbiAqIFByb3ZpZGVzIGhlbHBlciB2ZXJicywgQ1NSRiB0b2tlbiBoYW5kbGluZyBhbmQgY29uc2lzdGVudCBlcnJvciBmb3JtYXR0aW5nLlxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBBcGkgeyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIHBhZGRlZC1ibG9ja3NcblxuICAvKipcbiAgICogQHBhcmFtIHtzdHJpbmd9IHBhdGhcbiAgICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCBhbnk+fG51bGx9IFtwYXRoUGFyYW1zXVxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxhbnk+fVxuICAgKi9cbiAgc3RhdGljIGdldCA9IChwYXRoLCBwYXRoUGFyYW1zID0gbnVsbCkgPT4gQXBpLnJlcXVlc3RMb2NhbCh7cGF0aCwgcGF0aFBhcmFtcywgbWV0aG9kOiBcIkdFVFwifSlcblxuICAvKipcbiAgICogQHBhcmFtIHtzdHJpbmd9IHBhdGhcbiAgICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCBhbnk+fG51bGx9IFtwYXRoUGFyYW1zXVxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxhbnk+fVxuICAgKi9cbiAgc3RhdGljIGRlbGV0ZSA9IChwYXRoLCBwYXRoUGFyYW1zID0gbnVsbCkgPT4gQXBpLnJlcXVlc3RMb2NhbCh7cGF0aCwgcGF0aFBhcmFtcywgbWV0aG9kOiBcIkRFTEVURVwifSlcblxuICAvKipcbiAgICogQHBhcmFtIHtzdHJpbmd9IHBhdGhcbiAgICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCBhbnk+fSBbZGF0YV1cbiAgICogQHJldHVybnMge1Byb21pc2U8YW55Pn1cbiAgICovXG4gIHN0YXRpYyBwYXRjaCA9IChwYXRoLCBkYXRhID0ge30pID0+IEFwaS5yZXF1ZXN0TG9jYWwoe3BhdGgsIGRhdGEsIG1ldGhvZDogXCJQQVRDSFwifSlcblxuICAvKipcbiAgICogQHBhcmFtIHtzdHJpbmd9IHBhdGhcbiAgICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCBhbnk+fSBbZGF0YV1cbiAgICogQHJldHVybnMge1Byb21pc2U8YW55Pn1cbiAgICovXG4gIHN0YXRpYyBwb3N0ID0gKHBhdGgsIGRhdGEgPSB7fSkgPT4gQXBpLnJlcXVlc3RMb2NhbCh7cGF0aCwgZGF0YSwgbWV0aG9kOiBcIlBPU1RcIn0pXG5cbiAgLyoqXG4gICAqIFBlcmZvcm1zIGEgbmV0d29yayByZXF1ZXN0IGFnYWluc3QgdGhlIGNvbmZpZ3VyZWQgaG9zdC5cbiAgICpcbiAgICogQHBhcmFtIHtvYmplY3R9IGFyZ3NcbiAgICogQHBhcmFtIHthbnl9IFthcmdzLmRhdGFdXG4gICAqIEBwYXJhbSB7UmVjb3JkPHN0cmluZywgc3RyaW5nPn0gW2FyZ3MuaGVhZGVyc11cbiAgICogQHBhcmFtIHtcIkdFVFwifFwiUE9TVFwifFwiUEFUQ0hcInxcIlBVVFwifFwiREVMRVRFXCJ9IGFyZ3MubWV0aG9kXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBhcmdzLnBhdGhcbiAgICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCBhbnk+fG51bGx9IFthcmdzLnBhdGhQYXJhbXNdXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPGFueT59XG4gICAqL1xuICBzdGF0aWMgYXN5bmMgcmVxdWVzdCh7ZGF0YSwgaGVhZGVycywgbWV0aG9kLCBwYXRoLCBwYXRoUGFyYW1zfSkge1xuICAgIGxldCByZXF1ZXN0UGF0aCA9IFwiXCJcbiAgICBpZiAoY29uZmlnLmdldEhvc3QoKSkgcmVxdWVzdFBhdGggKz0gY29uZmlnLmdldEhvc3QoKVxuICAgIHJlcXVlc3RQYXRoICs9IHBhdGhcblxuICAgIGlmIChwYXRoUGFyYW1zKSB7XG4gICAgICBjb25zdCBwYXRoUGFyYW1zU3RyaW5nID0gcXMuc3RyaW5naWZ5KHBhdGhQYXJhbXMsIHthcnJheUZvcm1hdDogXCJicmFja2V0c1wiLCBlbmNvZGVyOiB1cmxFbmNvZGV9KVxuICAgICAgcmVxdWVzdFBhdGggKz0gYD8ke3BhdGhQYXJhbXNTdHJpbmd9YFxuICAgIH1cblxuICAgIGNvbnN0IHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpXG5cbiAgICB4aHIub3BlbihtZXRob2QsIHJlcXVlc3RQYXRoLCB0cnVlKVxuICAgIHhoci53aXRoQ3JlZGVudGlhbHMgPSB0cnVlXG5cbiAgICBpZiAoaGVhZGVycykge1xuICAgICAgZm9yIChjb25zdCBoZWFkZXJOYW1lIGluIGhlYWRlcnMpIHtcbiAgICAgICAgeGhyLnNldFJlcXVlc3RIZWFkZXIoaGVhZGVyTmFtZSwgaGVhZGVyc1toZWFkZXJOYW1lXSlcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IEFwaS5leGVjdXRlWGhyKHhociwgZGF0YSlcblxuICAgIHJldHVybiByZXNwb25zZVxuICB9XG5cbiAgLyoqXG4gICAqIEV4ZWN1dGVzIGEgcHJlcGFyZWQgWE1MSHR0cFJlcXVlc3QgYW5kIHJlc29sdmVzL3JlamVjdHMgYmFzZWQgb24gc3RhdHVzLlxuICAgKlxuICAgKiBAcGFyYW0ge1hNTEh0dHBSZXF1ZXN0fSB4aHJcbiAgICogQHBhcmFtIHthbnl9IGRhdGFcbiAgICogQHJldHVybnMge1Byb21pc2U8YW55Pn1cbiAgICovXG4gIHN0YXRpYyBleGVjdXRlWGhyKHhociwgZGF0YSkge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICB4aHIub25sb2FkID0gKCkgPT4ge1xuICAgICAgICBjb25zdCByZXNwb25zZSA9IHRoaXMuX3BhcnNlUmVzcG9uc2UoeGhyKVxuXG4gICAgICAgIGlmICh4aHIuc3RhdHVzID09IDIwMCkge1xuICAgICAgICAgIHJlc29sdmUocmVzcG9uc2UpXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gQHRzLWlnbm9yZSBBbGxvdyBleHRyYSB4aHIgb24gZXJyb3IgYXJnc1xuICAgICAgICAgIGNvbnN0IGN1c3RvbUVycm9yID0gbmV3IEN1c3RvbUVycm9yKGBSZXF1ZXN0IGZhaWxlZCB3aXRoIGNvZGU6ICR7eGhyLnN0YXR1c31gLCB7cmVzcG9uc2UsIHhocn0pXG5cbiAgICAgICAgICBpZiAoZGF0YSBpbnN0YW5jZW9mIEZvcm1EYXRhKSB7XG4gICAgICAgICAgICAvLyBAdHMtaWdub3JlIEFkZCBjdXN0b20gZGVidWcgcGF5bG9hZFxuICAgICAgICAgICAgY3VzdG9tRXJyb3IucGVha2Zsb3dQYXJhbWV0ZXJzID0gRm9ybURhdGFPYmplY3RpemVyLnRvT2JqZWN0KGRhdGEpXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIEB0cy1pZ25vcmUgQWRkIGN1c3RvbSBkZWJ1ZyBwYXlsb2FkXG4gICAgICAgICAgICBjdXN0b21FcnJvci5wZWFrZmxvd1BhcmFtZXRlcnMgPSBkYXRhXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmVqZWN0KGN1c3RvbUVycm9yKVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHhoci5zZW5kKGRhdGEpXG4gICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGRlZmF1bHQgaGVhZGVycyAoQ1NSRiArIEpTT04pIGFuZCBmb3J3YXJkcyB0byBgcmVxdWVzdGAuXG4gICAqXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBhcmdzXG4gICAqIEBwYXJhbSB7UmVjb3JkPHN0cmluZywgYW55Pn0gW2FyZ3MuZGF0YV1cbiAgICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+fSBbYXJncy5oZWFkZXJzXVxuICAgKiBAcGFyYW0ge1wiR0VUXCJ8XCJQT1NUXCJ8XCJQQVRDSFwifFwiUFVUXCJ8XCJERUxFVEVcIn0gYXJncy5tZXRob2RcbiAgICogQHBhcmFtIHtzdHJpbmd9IGFyZ3MucGF0aFxuICAgKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIGFueT58bnVsbH0gW2FyZ3MucGF0aFBhcmFtc11cbiAgICogQHBhcmFtIHthbnl9IFthcmdzLnJhd0RhdGFdXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPGFueT59XG4gICAqL1xuICBzdGF0aWMgYXN5bmMgcmVxdWVzdExvY2FsKGFyZ3MpIHtcbiAgICBsZXQgaGVhZGVycyA9IHt9XG5cbiAgICBpZiAoYXJncy5oZWFkZXJzKSB7XG4gICAgICBoZWFkZXJzID0gey4uLmFyZ3MuaGVhZGVyc31cbiAgICB9XG5cbiAgICBjb25zdCB0b2tlbiA9IGF3YWl0IHRoaXMuX3Rva2VuKClcblxuICAgIGxvZ2dlci5kZWJ1ZygoKSA9PiBgR290IHRva2VuOiAke3Rva2VufWApXG5cbiAgICBpZiAodG9rZW4pIHtcbiAgICAgIGhlYWRlcnNbXCJYLUNTUkYtVG9rZW5cIl0gPSB0b2tlblxuICAgIH1cblxuICAgIGlmIChhcmdzLmRhdGEpIHtcbiAgICAgIGhlYWRlcnNbXCJDb250ZW50LVR5cGVcIl0gPSBcImFwcGxpY2F0aW9uL2pzb25cIlxuICAgICAgLy8gQHRzLWlnbm9yZSBBbGxvdyBzdHJpbmcgYm9keSBkZXNwaXRlIGRhdGEgYmVpbmcgdHlwZWQgYXMgcmVjb3JkXG4gICAgICBhcmdzLmRhdGEgPSBKU09OLnN0cmluZ2lmeShhcmdzLmRhdGEpXG4gICAgfVxuXG4gICAgaWYgKGFyZ3MucmF3RGF0YSkge1xuICAgICAgYXJncy5kYXRhID0gYXJncy5yYXdEYXRhXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMucmVxdWVzdCh7Li4uYXJncywgaGVhZGVyc30pXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtzdHJpbmd9IHBhdGhcbiAgICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCBhbnk+fSBbZGF0YV1cbiAgICogQHJldHVybnMge1Byb21pc2U8YW55Pn1cbiAgICovXG4gIHN0YXRpYyBhc3luYyBwdXQocGF0aCwgZGF0YSA9IHt9KSB7XG4gICAgcmV0dXJuIHRoaXMucmVxdWVzdExvY2FsKHtwYXRoLCBkYXRhLCBtZXRob2Q6IFwiUFVUXCJ9KVxuICB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHN0cmluZz59XG4gICAqL1xuICBzdGF0aWMgX3Rva2VuID0gYXN5bmMoKSA9PiBTZXNzaW9uU3RhdHVzVXBkYXRlci5jdXJyZW50KCkuZ2V0Q3NyZlRva2VuKClcblxuICAvKipcbiAgICogUGFyc2VzIHRoZSByZXNwb25zZSBib2R5IGFjY29yZGluZyB0byB0aGUgcmVzcG9uc2UgY29udGVudC10eXBlLlxuICAgKlxuICAgKiBAcGFyYW0ge1hNTEh0dHBSZXF1ZXN0fSB4aHJcbiAgICogQHJldHVybnMge2FueX1cbiAgICovXG4gIHN0YXRpYyBfcGFyc2VSZXNwb25zZSh4aHIpIHtcbiAgICBjb25zdCByZXNwb25zZVR5cGUgPSB4aHIuZ2V0UmVzcG9uc2VIZWFkZXIoXCJjb250ZW50LXR5cGVcIilcblxuICAgIGlmIChyZXNwb25zZVR5cGUgJiYgcmVzcG9uc2VUeXBlLnN0YXJ0c1dpdGgoXCJhcHBsaWNhdGlvbi9qc29uXCIpKSB7XG4gICAgICByZXR1cm4gSlNPTi5wYXJzZSh4aHIucmVzcG9uc2VUZXh0KVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4geGhyLnJlc3BvbnNlVGV4dFxuICAgIH1cbiAgfVxufVxuIl19
160
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJhcGkuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaLE9BQU8sTUFBTSxNQUFNLGFBQWEsQ0FBQTtBQUNoQyxPQUFPLFdBQVcsTUFBTSxtQkFBbUIsQ0FBQSxDQUFDLG1DQUFtQztBQUMvRSxPQUFPLGtCQUFrQixNQUFNLHNCQUFzQixDQUFBO0FBQ3JELE9BQU8sTUFBTSxNQUFNLGFBQWEsQ0FBQTtBQUNoQyxPQUFPLEVBQUUsTUFBTSxJQUFJLENBQUE7QUFDbkIsT0FBTyxvQkFBb0IsTUFBTSw2QkFBNkIsQ0FBQSxDQUFDLG1DQUFtQztBQUNsRyxPQUFPLFNBQVMsTUFBTSxpQkFBaUIsQ0FBQTtBQUV2QyxNQUFNLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxFQUFDLElBQUksRUFBRSxnQkFBZ0IsRUFBQyxDQUFDLENBQUE7QUFFbkQsd0JBQXdCO0FBRXhCOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxPQUFPLE9BQU8sR0FBRztJQUV0Qjs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLEdBQUcsR0FBRyxDQUFDLElBQUksRUFBRSxVQUFVLEdBQUcsSUFBSSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFDLENBQUMsQ0FBQTtJQUU3Rjs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksRUFBRSxVQUFVLEdBQUcsSUFBSSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFDLENBQUMsQ0FBQTtJQUVuRzs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLEtBQUssR0FBRyxDQUFDLElBQUksRUFBRSxJQUFJLEdBQUcsRUFBRSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsWUFB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O0lBQ2pDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsS0FBSyxJQUFHLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsQ0FBQTtJQUV4RTs7Ozs7T0FLRztJQUNILE1BQU0sQ0FBQyxjQUFjLENBQUMsR0FBRztRQUN2QixNQUFNLFlBQVksR0FBRyxHQUFHLENBQUMsaUJBQWlCLENBQUMsY0FBYyxDQUFDLENBQUE7UUFFMUQsSUFBSSxZQUFZLElBQUksWUFBWSxDQUFDLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLENBQUM7WUFDaEUsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQTtRQUNyQyxDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sR0FBRyxDQUFDLFlBQVksQ0FBQTtRQUN6QixDQUFDO0lBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuXG5pbXBvcnQgY29uZmlnIGZyb20gXCIuL2NvbmZpZy5qc1wiXG5pbXBvcnQgQ3VzdG9tRXJyb3IgZnJvbSBcIi4vY3VzdG9tLWVycm9yLmpzXCIgLy8gZXNsaW50LWRpc2FibGUtbGluZSBzb3J0LWltcG9ydHNcbmltcG9ydCBGb3JtRGF0YU9iamVjdGl6ZXIgZnJvbSBcImZvcm0tZGF0YS1vYmplY3RpemVyXCJcbmltcG9ydCBMb2dnZXIgZnJvbSBcIi4vbG9nZ2VyLmpzXCJcbmltcG9ydCBxcyBmcm9tIFwicXNcIlxuaW1wb3J0IFNlc3Npb25TdGF0dXNVcGRhdGVyIGZyb20gXCIuL3Nlc3Npb24tc3RhdHVzLXVwZGF0ZXIuanNcIiAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIHNvcnQtaW1wb3J0c1xuaW1wb3J0IHVybEVuY29kZSBmcm9tIFwiLi91cmwtZW5jb2RlLmpzXCJcblxuY29uc3QgbG9nZ2VyID0gbmV3IExvZ2dlcih7bmFtZTogXCJBcGlNYWtlciAvIEFwaVwifSlcblxuLy8gbG9nZ2VyLnNldERlYnVnKHRydWUpXG5cbi8qKlxuICogVGhpbiBYTUxIdHRwUmVxdWVzdCB3cmFwcGVyIHVzZWQgYWNyb3NzIHRoZSBjbGllbnQgdG8gdGFsayB0byB0aGUgQVBJLlxuICogUHJvdmlkZXMgaGVscGVyIHZlcmJzLCBDU1JGIHRva2VuIGhhbmRsaW5nIGFuZCBjb25zaXN0ZW50IGVycm9yIGZvcm1hdHRpbmcuXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEFwaSB7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgcGFkZGVkLWJsb2Nrc1xuXG4gIC8qKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gcGF0aFxuICAgKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIGFueT58bnVsbH0gW3BhdGhQYXJhbXNdXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPGFueT59XG4gICAqL1xuICBzdGF0aWMgZ2V0ID0gKHBhdGgsIHBhdGhQYXJhbXMgPSBudWxsKSA9PiBBcGkucmVxdWVzdExvY2FsKHtwYXRoLCBwYXRoUGFyYW1zLCBtZXRob2Q6IFwiR0VUXCJ9KVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gcGF0aFxuICAgKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIGFueT58bnVsbH0gW3BhdGhQYXJhbXNdXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPGFueT59XG4gICAqL1xuICBzdGF0aWMgZGVsZXRlID0gKHBhdGgsIHBhdGhQYXJhbXMgPSBudWxsKSA9PiBBcGkucmVxdWVzdExvY2FsKHtwYXRoLCBwYXRoUGFyYW1zLCBtZXRob2Q6IFwiREVMRVRFXCJ9KVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gcGF0aFxuICAgKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIGFueT59IFtkYXRhXVxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxhbnk+fVxuICAgKi9cbiAgc3RhdGljIHBhdGNoID0gKHBhdGgsIGRhdGEgPSB7fSkgPT4gQXBpLnJlcXVlc3RMb2NhbCh7cGF0aCwgZGF0YSwgbWV0aG9kOiBcIlBBVENIXCJ9KVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gcGF0aFxuICAgKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIGFueT59IFtkYXRhXVxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxhbnk+fVxuICAgKi9cbiAgc3RhdGljIHBvc3QgPSAocGF0aCwgZGF0YSA9IHt9KSA9PiBBcGkucmVxdWVzdExvY2FsKHtwYXRoLCBkYXRhLCBtZXRob2Q6IFwiUE9TVFwifSlcblxuICAvKipcbiAgICogUGVyZm9ybXMgYSBuZXR3b3JrIHJlcXVlc3QgYWdhaW5zdCB0aGUgY29uZmlndXJlZCBob3N0LlxuICAgKlxuICAgKiBAcGFyYW0ge29iamVjdH0gYXJnc1xuICAgKiBAcGFyYW0ge2FueX0gW2FyZ3MuZGF0YV1cbiAgICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+fSBbYXJncy5oZWFkZXJzXVxuICAgKiBAcGFyYW0ge1wiR0VUXCJ8XCJQT1NUXCJ8XCJQQVRDSFwifFwiUFVUXCJ8XCJERUxFVEVcIn0gYXJncy5tZXRob2RcbiAgICogQHBhcmFtIHtzdHJpbmd9IGFyZ3MucGF0aFxuICAgKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIGFueT58bnVsbH0gW2FyZ3MucGF0aFBhcmFtc11cbiAgICogQHJldHVybnMge1Byb21pc2U8YW55Pn1cbiAgICovXG4gIHN0YXRpYyBhc3luYyByZXF1ZXN0KHtkYXRhLCBoZWFkZXJzLCBtZXRob2QsIHBhdGgsIHBhdGhQYXJhbXN9KSB7XG4gICAgbGV0IHJlcXVlc3RQYXRoID0gXCJcIlxuICAgIGlmIChjb25maWcuZ2V0SG9zdCgpKSByZXF1ZXN0UGF0aCArPSBjb25maWcuZ2V0SG9zdCgpXG4gICAgcmVxdWVzdFBhdGggKz0gcGF0aFxuXG4gICAgaWYgKHBhdGhQYXJhbXMpIHtcbiAgICAgIGNvbnN0IHBhdGhQYXJhbXNTdHJpbmcgPSBxcy5zdHJpbmdpZnkocGF0aFBhcmFtcywge2FycmF5Rm9ybWF0OiBcImJyYWNrZXRzXCIsIGVuY29kZXI6IHVybEVuY29kZX0pXG4gICAgICByZXF1ZXN0UGF0aCArPSBgPyR7cGF0aFBhcmFtc1N0cmluZ31gXG4gICAgfVxuXG4gICAgY29uc3QgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KClcblxuICAgIHhoci5vcGVuKG1ldGhvZCwgcmVxdWVzdFBhdGgsIHRydWUpXG4gICAgeGhyLndpdGhDcmVkZW50aWFscyA9IHRydWVcblxuICAgIGlmIChoZWFkZXJzKSB7XG4gICAgICBmb3IgKGNvbnN0IGhlYWRlck5hbWUgaW4gaGVhZGVycykge1xuICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcihoZWFkZXJOYW1lLCBoZWFkZXJzW2hlYWRlck5hbWVdKVxuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgQXBpLmV4ZWN1dGVYaHIoeGhyLCBkYXRhKVxuXG4gICAgcmV0dXJuIHJlc3BvbnNlXG4gIH1cblxuICAvKipcbiAgICogRXhlY3V0ZXMgYSBwcmVwYXJlZCBYTUxIdHRwUmVxdWVzdCBhbmQgcmVzb2x2ZXMvcmVqZWN0cyBiYXNlZCBvbiBzdGF0dXMuXG4gICAqXG4gICAqIEBwYXJhbSB7WE1MSHR0cFJlcXVlc3R9IHhoclxuICAgKiBAcGFyYW0ge2FueX0gZGF0YVxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxhbnk+fVxuICAgKi9cbiAgc3RhdGljIGV4ZWN1dGVYaHIoeGhyLCBkYXRhKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIHhoci5vbmxvYWQgPSAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gdGhpcy5fcGFyc2VSZXNwb25zZSh4aHIpXG5cbiAgICAgICAgaWYgKHhoci5zdGF0dXMgPT0gMjAwKSB7XG4gICAgICAgICAgcmVzb2x2ZShyZXNwb25zZSlcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBAdHMtaWdub3JlIEFsbG93IGV4dHJhIHhociBvbiBlcnJvciBhcmdzXG4gICAgICAgICAgY29uc3QgY3VzdG9tRXJyb3IgPSBuZXcgQ3VzdG9tRXJyb3IoYFJlcXVlc3QgZmFpbGVkIHdpdGggY29kZTogJHt4aHIuc3RhdHVzfWAsIHtyZXNwb25zZSwgeGhyfSlcblxuICAgICAgICAgIGlmIChkYXRhIGluc3RhbmNlb2YgRm9ybURhdGEpIHtcbiAgICAgICAgICAgIC8vIEB0cy1pZ25vcmUgQWRkIGN1c3RvbSBkZWJ1ZyBwYXlsb2FkXG4gICAgICAgICAgICBjdXN0b21FcnJvci5wZWFrZmxvd1BhcmFtZXRlcnMgPSBGb3JtRGF0YU9iamVjdGl6ZXIudG9PYmplY3QoZGF0YSlcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gQHRzLWlnbm9yZSBBZGQgY3VzdG9tIGRlYnVnIHBheWxvYWRcbiAgICAgICAgICAgIGN1c3RvbUVycm9yLnBlYWtmbG93UGFyYW1ldGVycyA9IGRhdGFcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZWplY3QoY3VzdG9tRXJyb3IpXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgeGhyLnNlbmQoZGF0YSlcbiAgICB9KVxuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgZGVmYXVsdCBoZWFkZXJzIChDU1JGICsgSlNPTikgYW5kIGZvcndhcmRzIHRvIGByZXF1ZXN0YC5cbiAgICpcbiAgICogQHBhcmFtIHtvYmplY3R9IGFyZ3NcbiAgICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCBhbnk+fSBbYXJncy5kYXRhXVxuICAgKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIHN0cmluZz59IFthcmdzLmhlYWRlcnNdXG4gICAqIEBwYXJhbSB7XCJHRVRcInxcIlBPU1RcInxcIlBBVENIXCJ8XCJQVVRcInxcIkRFTEVURVwifSBhcmdzLm1ldGhvZFxuICAgKiBAcGFyYW0ge3N0cmluZ30gYXJncy5wYXRoXG4gICAqIEBwYXJhbSB7UmVjb3JkPHN0cmluZywgYW55PnxudWxsfSBbYXJncy5wYXRoUGFyYW1zXVxuICAgKiBAcGFyYW0ge2FueX0gW2FyZ3MucmF3RGF0YV1cbiAgICogQHJldHVybnMge1Byb21pc2U8YW55Pn1cbiAgICovXG4gIHN0YXRpYyBhc3luYyByZXF1ZXN0TG9jYWwoYXJncykge1xuICAgIGxldCBoZWFkZXJzID0ge31cblxuICAgIGlmIChhcmdzLmhlYWRlcnMpIHtcbiAgICAgIGhlYWRlcnMgPSB7Li4uYXJncy5oZWFkZXJzfVxuICAgIH1cblxuICAgIGNvbnN0IHRva2VuID0gYXdhaXQgdGhpcy5fdG9rZW4oKVxuXG4gICAgbG9nZ2VyLmRlYnVnKCgpID0+IGBHb3QgdG9rZW46ICR7dG9rZW59YClcblxuICAgIGlmICh0b2tlbikge1xuICAgICAgaGVhZGVyc1tcIlgtQ1NSRi1Ub2tlblwiXSA9IHRva2VuXG4gICAgfVxuXG4gICAgaWYgKGFyZ3MuZGF0YSkge1xuICAgICAgaGVhZGVyc1tcIkNvbnRlbnQtVHlwZVwiXSA9IFwiYXBwbGljYXRpb24vanNvblwiXG4gICAgICAvLyBAdHMtaWdub3JlIEFsbG93IHN0cmluZyBib2R5IGRlc3BpdGUgZGF0YSBiZWluZyB0eXBlZCBhcyByZWNvcmRcbiAgICAgIGFyZ3MuZGF0YSA9IEpTT04uc3RyaW5naWZ5KGFyZ3MuZGF0YSlcbiAgICB9XG5cbiAgICBpZiAoYXJncy5yYXdEYXRhKSB7XG4gICAgICBhcmdzLmRhdGEgPSBhcmdzLnJhd0RhdGFcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5yZXF1ZXN0KHsuLi5hcmdzLCBoZWFkZXJzfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gcGF0aFxuICAgKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIGFueT59IFtkYXRhXVxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxhbnk+fVxuICAgKi9cbiAgc3RhdGljIGFzeW5jIHB1dChwYXRoLCBkYXRhID0ge30pIHtcbiAgICByZXR1cm4gdGhpcy5yZXF1ZXN0TG9jYWwoe3BhdGgsIGRhdGEsIG1ldGhvZDogXCJQVVRcIn0pXG4gIH1cblxuICAvKiogQHJldHVybnMge1Byb21pc2U8c3RyaW5nPn0gKi9cbiAgc3RhdGljIF90b2tlbiA9IGFzeW5jKCkgPT4gU2Vzc2lvblN0YXR1c1VwZGF0ZXIuY3VycmVudCgpLmdldENzcmZUb2tlbigpXG5cbiAgLyoqXG4gICAqIFBhcnNlcyB0aGUgcmVzcG9uc2UgYm9keSBhY2NvcmRpbmcgdG8gdGhlIHJlc3BvbnNlIGNvbnRlbnQtdHlwZS5cbiAgICpcbiAgICogQHBhcmFtIHtYTUxIdHRwUmVxdWVzdH0geGhyXG4gICAqIEByZXR1cm5zIHthbnl9XG4gICAqL1xuICBzdGF0aWMgX3BhcnNlUmVzcG9uc2UoeGhyKSB7XG4gICAgY29uc3QgcmVzcG9uc2VUeXBlID0geGhyLmdldFJlc3BvbnNlSGVhZGVyKFwiY29udGVudC10eXBlXCIpXG5cbiAgICBpZiAocmVzcG9uc2VUeXBlICYmIHJlc3BvbnNlVHlwZS5zdGFydHNXaXRoKFwiYXBwbGljYXRpb24vanNvblwiKSkge1xuICAgICAgcmV0dXJuIEpTT04ucGFyc2UoeGhyLnJlc3BvbnNlVGV4dClcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHhoci5yZXNwb25zZVRleHRcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -1,3 +1,4 @@
1
+ /** Attribute-not-loaded error. */
1
2
  export default class AttributeNotLoadedError extends Error {
2
3
  }
3
4
  //# sourceMappingURL=attribute-not-loaded-error.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"attribute-not-loaded-error.d.ts","sourceRoot":"/src/","sources":["attribute-not-loaded-error.js"],"names":[],"mappings":"AAAA;CAA6D"}
1
+ {"version":3,"file":"attribute-not-loaded-error.d.ts","sourceRoot":"/src/","sources":["attribute-not-loaded-error.js"],"names":[],"mappings":"AAAA,kCAAkC;AAClC;CAA6D"}
@@ -1,3 +1,4 @@
1
+ /** Attribute-not-loaded error. */
1
2
  export default class AttributeNotLoadedError extends Error {
2
3
  }
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0cmlidXRlLW5vdC1sb2FkZWQtZXJyb3IuanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbImF0dHJpYnV0ZS1ub3QtbG9hZGVkLWVycm9yLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxPQUFPLE9BQU8sdUJBQXdCLFNBQVEsS0FBSztDQUFHIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQgY2xhc3MgQXR0cmlidXRlTm90TG9hZGVkRXJyb3IgZXh0ZW5kcyBFcnJvciB7fVxuIl19
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0cmlidXRlLW5vdC1sb2FkZWQtZXJyb3IuanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbImF0dHJpYnV0ZS1ub3QtbG9hZGVkLWVycm9yLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGtDQUFrQztBQUNsQyxNQUFNLENBQUMsT0FBTyxPQUFPLHVCQUF3QixTQUFRLEtBQUs7Q0FBRyIsInNvdXJjZXNDb250ZW50IjpbIi8qKiBBdHRyaWJ1dGUtbm90LWxvYWRlZCBlcnJvci4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEF0dHJpYnV0ZU5vdExvYWRlZEVycm9yIGV4dGVuZHMgRXJyb3Ige31cbiJdfQ==
@@ -10,9 +10,7 @@ export default class ApiMakerBaseModelAttribute {
10
10
  /** @param {AttributeArgType} attributeData */
11
11
  constructor(attributeData: AttributeArgType);
12
12
  attributeData: AttributeArgType;
13
- /**
14
- * @returns {Column}
15
- */
13
+ /** @returns {Column} */
16
14
  getColumn(): Column;
17
15
  column: Column;
18
16
  /** @returns {boolean} */
@@ -1 +1 @@
1
- {"version":3,"file":"attribute.d.ts","sourceRoot":"/src/","sources":["base-model/attribute.js"],"names":[],"mappings":"AAIA;;;;;;;GAOG;AAEH;IACE,8CAA8C;IAC9C,2BADY,gBAAgB,EAG3B;IADC,gCAAkC;IAIpC;;OAEG;IACH,aAFa,MAAM,CAYlB;IALK,eAAoC;IAO1C,yBAAyB;IACzB,YADc,OAAO,CACmC;IAExD,yBAAyB;IACzB,uBADc,OAAO,CAOpB;IAED,yBAAyB;IACzB,gBADc,OAAO,CACkC;IAEvD,wBAAwB;IACxB,QADc,MAAM,CACqB;CAC1C;;YA9Ca,MAAM;UACN,MAAM;yBACN,OAAO;gBACP,OAAO;UACP,MAAM;;mBARD,aAAa"}
1
+ {"version":3,"file":"attribute.d.ts","sourceRoot":"/src/","sources":["base-model/attribute.js"],"names":[],"mappings":"AAIA;;;;;;;GAOG;AAEH;IACE,8CAA8C;IAC9C,2BADY,gBAAgB,EAG3B;IADC,gCAAkC;IAGpC,wBAAwB;IACxB,aADc,MAAM,CAWnB;IALK,eAAoC;IAO1C,yBAAyB;IACzB,YADc,OAAO,CACmC;IAExD,yBAAyB;IACzB,uBADc,OAAO,CAOpB;IAED,yBAAyB;IACzB,gBADc,OAAO,CACkC;IAEvD,wBAAwB;IACxB,QADc,MAAM,CACqB;CAC1C;;YA3Ca,MAAM;UACN,MAAM;yBACN,OAAO;gBACP,OAAO;UACP,MAAM;;mBARD,aAAa"}
@@ -13,9 +13,7 @@ export default class ApiMakerBaseModelAttribute {
13
13
  constructor(attributeData) {
14
14
  this.attributeData = attributeData;
15
15
  }
16
- /**
17
- * @returns {Column}
18
- */
16
+ /** @returns {Column} */
19
17
  getColumn() {
20
18
  if (!this.column) {
21
19
  const columnData = this.attributeData.column;
@@ -39,4 +37,4 @@ export default class ApiMakerBaseModelAttribute {
39
37
  /** @returns {string} */
40
38
  name() { return this.attributeData.name; }
41
39
  }
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0cmlidXRlLmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJiYXNlLW1vZGVsL2F0dHJpYnV0ZS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZO0FBRVosT0FBTyxNQUFNLE1BQU0sYUFBYSxDQUFBO0FBRWhDOzs7Ozs7O0dBT0c7QUFFSCxNQUFNLENBQUMsT0FBTyxPQUFPLDBCQUEwQjtJQUM3Qyw4Q0FBOEM7SUFDOUMsWUFBWSxhQUFhO1FBQ3ZCLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFBO0lBQ3BDLENBQUM7SUFHRDs7T0FFRztJQUNILFNBQVM7UUFDUCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2pCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFBO1lBRTVDLElBQUksVUFBVSxFQUFFLENBQUM7Z0JBQ2YsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQTtZQUN0QyxDQUFDO1FBQ0gsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQTtJQUNwQixDQUFDO0lBRUQseUJBQXlCO0lBQ3pCLFFBQVEsS0FBSyxPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFBLENBQUMsQ0FBQztJQUV4RCx5QkFBeUI7SUFDekIsbUJBQW1CO1FBQ2pCLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQTtRQUVsRSxJQUFJLG1CQUFtQixJQUFJLG1CQUFtQixLQUFLLElBQUk7WUFBRSxPQUFPLElBQUksQ0FBQTtRQUVwRSxPQUFPLEtBQUssQ0FBQTtJQUNkLENBQUM7SUFFRCx5QkFBeUI7SUFDekIsWUFBWSxLQUFLLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUEsQ0FBQyxDQUFDO0lBRXZELHdCQUF3QjtJQUN4QixJQUFJLEtBQUssT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQSxDQUFDLENBQUM7Q0FDMUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcblxuaW1wb3J0IENvbHVtbiBmcm9tIFwiLi9jb2x1bW4uanNcIlxuXG4vKipcbiAqIEB0eXBlZGVmIEF0dHJpYnV0ZUFyZ1R5cGVcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBjb2x1bW5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBuYW1lXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IHNlbGVjdGVkX2J5X2RlZmF1bHRcbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gdHJhbnNsYXRlZFxuICogQHByb3BlcnR5IHtzdHJpbmd9IHR5cGVcbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBBcGlNYWtlckJhc2VNb2RlbEF0dHJpYnV0ZSB7XG4gIC8qKiBAcGFyYW0ge0F0dHJpYnV0ZUFyZ1R5cGV9IGF0dHJpYnV0ZURhdGEgKi9cbiAgY29uc3RydWN0b3IoYXR0cmlidXRlRGF0YSkge1xuICAgIHRoaXMuYXR0cmlidXRlRGF0YSA9IGF0dHJpYnV0ZURhdGFcbiAgfVxuXG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHtDb2x1bW59XG4gICAqL1xuICBnZXRDb2x1bW4oKSB7XG4gICAgaWYgKCF0aGlzLmNvbHVtbikge1xuICAgICAgY29uc3QgY29sdW1uRGF0YSA9IHRoaXMuYXR0cmlidXRlRGF0YS5jb2x1bW5cblxuICAgICAgaWYgKGNvbHVtbkRhdGEpIHtcbiAgICAgICAgdGhpcy5jb2x1bW4gPSBuZXcgQ29sdW1uKGNvbHVtbkRhdGEpXG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuY29sdW1uXG4gIH1cblxuICAvKiogQHJldHVybnMge2Jvb2xlYW59ICovXG4gIGlzQ29sdW1uKCkgeyByZXR1cm4gQm9vbGVhbih0aGlzLmF0dHJpYnV0ZURhdGEuY29sdW1uKSB9XG5cbiAgLyoqIEByZXR1cm5zIHtib29sZWFufSAqL1xuICBpc1NlbGVjdGVkQnlEZWZhdWx0KCkge1xuICAgIGNvbnN0IGlzU2VsZWN0ZWRCeURlZmF1bHQgPSB0aGlzLmF0dHJpYnV0ZURhdGEuc2VsZWN0ZWRfYnlfZGVmYXVsdFxuXG4gICAgaWYgKGlzU2VsZWN0ZWRCeURlZmF1bHQgfHwgaXNTZWxlY3RlZEJ5RGVmYXVsdCA9PT0gbnVsbCkgcmV0dXJuIHRydWVcblxuICAgIHJldHVybiBmYWxzZVxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHtib29sZWFufSAqL1xuICBpc1RyYW5zbGF0ZWQoKSB7IHJldHVybiB0aGlzLmF0dHJpYnV0ZURhdGEudHJhbnNsYXRlZCB9XG5cbiAgLyoqIEByZXR1cm5zIHtzdHJpbmd9ICovXG4gIG5hbWUoKSB7IHJldHVybiB0aGlzLmF0dHJpYnV0ZURhdGEubmFtZSB9XG59XG4iXX0=
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0cmlidXRlLmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJiYXNlLW1vZGVsL2F0dHJpYnV0ZS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZO0FBRVosT0FBTyxNQUFNLE1BQU0sYUFBYSxDQUFBO0FBRWhDOzs7Ozs7O0dBT0c7QUFFSCxNQUFNLENBQUMsT0FBTyxPQUFPLDBCQUEwQjtJQUM3Qyw4Q0FBOEM7SUFDOUMsWUFBWSxhQUFhO1FBQ3ZCLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFBO0lBQ3BDLENBQUM7SUFFRCx3QkFBd0I7SUFDeEIsU0FBUztRQUNQLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDakIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUE7WUFFNUMsSUFBSSxVQUFVLEVBQUUsQ0FBQztnQkFDZixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFBO1lBQ3RDLENBQUM7UUFDSCxDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFBO0lBQ3BCLENBQUM7SUFFRCx5QkFBeUI7SUFDekIsUUFBUSxLQUFLLE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUEsQ0FBQyxDQUFDO0lBRXhELHlCQUF5QjtJQUN6QixtQkFBbUI7UUFDakIsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLG1CQUFtQixDQUFBO1FBRWxFLElBQUksbUJBQW1CLElBQUksbUJBQW1CLEtBQUssSUFBSTtZQUFFLE9BQU8sSUFBSSxDQUFBO1FBRXBFLE9BQU8sS0FBSyxDQUFBO0lBQ2QsQ0FBQztJQUVELHlCQUF5QjtJQUN6QixZQUFZLEtBQUssT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQSxDQUFDLENBQUM7SUFFdkQsd0JBQXdCO0lBQ3hCLElBQUksS0FBSyxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFBLENBQUMsQ0FBQztDQUMxQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuXG5pbXBvcnQgQ29sdW1uIGZyb20gXCIuL2NvbHVtbi5qc1wiXG5cbi8qKlxuICogQHR5cGVkZWYgQXR0cmlidXRlQXJnVHlwZVxuICogQHByb3BlcnR5IHtzdHJpbmd9IGNvbHVtblxuICogQHByb3BlcnR5IHtzdHJpbmd9IG5hbWVcbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gc2VsZWN0ZWRfYnlfZGVmYXVsdFxuICogQHByb3BlcnR5IHtib29sZWFufSB0cmFuc2xhdGVkXG4gKiBAcHJvcGVydHkge3N0cmluZ30gdHlwZVxuICovXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEFwaU1ha2VyQmFzZU1vZGVsQXR0cmlidXRlIHtcbiAgLyoqIEBwYXJhbSB7QXR0cmlidXRlQXJnVHlwZX0gYXR0cmlidXRlRGF0YSAqL1xuICBjb25zdHJ1Y3RvcihhdHRyaWJ1dGVEYXRhKSB7XG4gICAgdGhpcy5hdHRyaWJ1dGVEYXRhID0gYXR0cmlidXRlRGF0YVxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHtDb2x1bW59ICovXG4gIGdldENvbHVtbigpIHtcbiAgICBpZiAoIXRoaXMuY29sdW1uKSB7XG4gICAgICBjb25zdCBjb2x1bW5EYXRhID0gdGhpcy5hdHRyaWJ1dGVEYXRhLmNvbHVtblxuXG4gICAgICBpZiAoY29sdW1uRGF0YSkge1xuICAgICAgICB0aGlzLmNvbHVtbiA9IG5ldyBDb2x1bW4oY29sdW1uRGF0YSlcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5jb2x1bW5cbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7Ym9vbGVhbn0gKi9cbiAgaXNDb2x1bW4oKSB7IHJldHVybiBCb29sZWFuKHRoaXMuYXR0cmlidXRlRGF0YS5jb2x1bW4pIH1cblxuICAvKiogQHJldHVybnMge2Jvb2xlYW59ICovXG4gIGlzU2VsZWN0ZWRCeURlZmF1bHQoKSB7XG4gICAgY29uc3QgaXNTZWxlY3RlZEJ5RGVmYXVsdCA9IHRoaXMuYXR0cmlidXRlRGF0YS5zZWxlY3RlZF9ieV9kZWZhdWx0XG5cbiAgICBpZiAoaXNTZWxlY3RlZEJ5RGVmYXVsdCB8fCBpc1NlbGVjdGVkQnlEZWZhdWx0ID09PSBudWxsKSByZXR1cm4gdHJ1ZVxuXG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cblxuICAvKiogQHJldHVybnMge2Jvb2xlYW59ICovXG4gIGlzVHJhbnNsYXRlZCgpIHsgcmV0dXJuIHRoaXMuYXR0cmlidXRlRGF0YS50cmFuc2xhdGVkIH1cblxuICAvKiogQHJldHVybnMge3N0cmluZ30gKi9cbiAgbmFtZSgpIHsgcmV0dXJuIHRoaXMuYXR0cmlidXRlRGF0YS5uYW1lIH1cbn1cbiJdfQ==
@@ -1,3 +1,4 @@
1
+ /** ApiMakerBaseModelReflection. */
1
2
  export default class ApiMakerBaseModelReflection {
2
3
  /**
3
4
  * @param {object} reflectionData
@@ -23,6 +24,7 @@ export default class ApiMakerBaseModelReflection {
23
24
  };
24
25
  /** @returns {string} */
25
26
  foreignKey(): string;
27
+ /** macro. */
26
28
  macro(): any;
27
29
  /** @returns {typeof import("../base-model.js").default} */
28
30
  modelClass(): typeof import("../base-model.js").default;
@@ -1 +1 @@
1
- {"version":3,"file":"reflection.d.ts","sourceRoot":"/src/","sources":["base-model/reflection.js"],"names":[],"mappings":"AAIA;IACE;;;;;;;OAOG;IACH,4BANG;QAA+B,UAAU,EAAjC,MAAM;QACiB,KAAK,EAA5B,MAAM;QACiB,aAAa,EAApC,MAAM;QACiB,IAAI,EAA3B,MAAM;QACiB,OAAO,EAA9B,MAAM;KAChB,EAGA;IADC;oBAPS,MAAM;eACN,MAAM;uBACN,MAAM;cACN,MAAM;iBACN,MAAM;MAGqB;IAGtC,wBAAwB;IACxB,cADc,MAAM,CAC8C;IAElE,aAAwD;IAExD,2DAA2D;IAC3D,cADc,cAAc,kBAAkB,EAAE,OAAO,CAC8E;IAErI,wBAAwB;IACxB,QADc,MAAM,CAC6D;IAEjF,wBAAwB;IACxB,WADc,MAAM,CACwC;CAC7D"}
1
+ {"version":3,"file":"reflection.d.ts","sourceRoot":"/src/","sources":["base-model/reflection.js"],"names":[],"mappings":"AAIA,mCAAmC;AACnC;IACE;;;;;;;OAOG;IACH,4BANG;QAA+B,UAAU,EAAjC,MAAM;QACiB,KAAK,EAA5B,MAAM;QACiB,aAAa,EAApC,MAAM;QACiB,IAAI,EAA3B,MAAM;QACiB,OAAO,EAA9B,MAAM;KAChB,EAGA;IADC;oBAPS,MAAM;eACN,MAAM;uBACN,MAAM;cACN,MAAM;iBACN,MAAM;MAGqB;IAGtC,wBAAwB;IACxB,cADc,MAAM,CAC8C;IAElE,aAAa;IACb,aAAwD;IAExD,2DAA2D;IAC3D,cADc,cAAc,kBAAkB,EAAE,OAAO,CAC8E;IAErI,wBAAwB;IACxB,QADc,MAAM,CAC6D;IAEjF,wBAAwB;IACxB,WADc,MAAM,CACwC;CAC7D"}
@@ -1,6 +1,7 @@
1
1
  import * as inflection from "inflection";
2
2
  import { digg } from "diggerize";
3
3
  import modelClassRequire from "../model-class-require.js";
4
+ /** ApiMakerBaseModelReflection. */
4
5
  export default class ApiMakerBaseModelReflection {
5
6
  /**
6
7
  * @param {object} reflectionData
@@ -15,6 +16,7 @@ export default class ApiMakerBaseModelReflection {
15
16
  }
16
17
  /** @returns {string} */
17
18
  foreignKey() { return digg(this, "reflectionData", "foreignKey"); }
19
+ /** macro. */
18
20
  macro() { return digg(this, "reflectionData", "macro"); }
19
21
  /** @returns {typeof import("../base-model.js").default} */
20
22
  modelClass() { return modelClassRequire(inflection.singularize(inflection.camelize(digg(this, "reflectionData", "resource_name")))); }
@@ -23,4 +25,4 @@ export default class ApiMakerBaseModelReflection {
23
25
  /** @returns {string} */
24
26
  through() { return digg(this, "reflectionData", "through"); }
25
27
  }
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIvc3JjLyIsInNvdXJjZXMiOlsiYmFzZS1tb2RlbC9yZWZsZWN0aW9uLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxVQUFVLE1BQU0sWUFBWSxDQUFBO0FBQ3hDLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxXQUFXLENBQUE7QUFDOUIsT0FBTyxpQkFBaUIsTUFBTSwyQkFBMkIsQ0FBQTtBQUV6RCxNQUFNLENBQUMsT0FBTyxPQUFPLDJCQUEyQjtJQUM5Qzs7Ozs7OztPQU9HO0lBQ0gsWUFBWSxjQUFjO1FBQ3hCLElBQUksQ0FBQyxjQUFjLEdBQUcsY0FBYyxDQUFBO0lBQ3RDLENBQUM7SUFFRCx3QkFBd0I7SUFDeEIsVUFBVSxLQUFLLE9BQU8sSUFBSSxDQUFDLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxZQUFZLENBQUMsQ0FBQSxDQUFDLENBQUM7SUFFbEUsS0FBSyxLQUFLLE9BQU8sSUFBSSxDQUFDLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxPQUFPLENBQUMsQ0FBQSxDQUFDLENBQUM7SUFFeEQsMkRBQTJEO0lBQzNELFVBQVUsS0FBSyxPQUFPLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFFLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQztJQUVySSx3QkFBd0I7SUFDeEIsSUFBSSxLQUFLLE9BQU8sVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFBLENBQUMsQ0FBQztJQUVqRix3QkFBd0I7SUFDeEIsT0FBTyxLQUFLLE9BQU8sSUFBSSxDQUFDLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxTQUFTLENBQUMsQ0FBQSxDQUFDLENBQUM7Q0FDN0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBpbmZsZWN0aW9uIGZyb20gXCJpbmZsZWN0aW9uXCJcbmltcG9ydCB7ZGlnZ30gZnJvbSBcImRpZ2dlcml6ZVwiXG5pbXBvcnQgbW9kZWxDbGFzc1JlcXVpcmUgZnJvbSBcIi4uL21vZGVsLWNsYXNzLXJlcXVpcmUuanNcIlxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBBcGlNYWtlckJhc2VNb2RlbFJlZmxlY3Rpb24ge1xuICAvKipcbiAgICogQHBhcmFtIHtvYmplY3R9IHJlZmxlY3Rpb25EYXRhXG4gICAqIEBwYXJhbSB7c3RyaW5nfSByZWZsZWN0aW9uRGF0YS5mb3JlaWduS2V5XG4gICAqIEBwYXJhbSB7c3RyaW5nfSByZWZsZWN0aW9uRGF0YS5tYXJjb1xuICAgKiBAcGFyYW0ge3N0cmluZ30gcmVmbGVjdGlvbkRhdGEucmVzb3VyY2VfbmFtZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gcmVmbGVjdGlvbkRhdGEubmFtZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gcmVmbGVjdGlvbkRhdGEudGhyb3VnaFxuICAgKi9cbiAgY29uc3RydWN0b3IocmVmbGVjdGlvbkRhdGEpIHtcbiAgICB0aGlzLnJlZmxlY3Rpb25EYXRhID0gcmVmbGVjdGlvbkRhdGFcbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7c3RyaW5nfSAqL1xuICBmb3JlaWduS2V5KCkgeyByZXR1cm4gZGlnZyh0aGlzLCBcInJlZmxlY3Rpb25EYXRhXCIsIFwiZm9yZWlnbktleVwiKSB9XG5cbiAgbWFjcm8oKSB7IHJldHVybiBkaWdnKHRoaXMsIFwicmVmbGVjdGlvbkRhdGFcIiwgXCJtYWNyb1wiKSB9XG5cbiAgLyoqIEByZXR1cm5zIHt0eXBlb2YgaW1wb3J0KFwiLi4vYmFzZS1tb2RlbC5qc1wiKS5kZWZhdWx0fSAqL1xuICBtb2RlbENsYXNzKCkgeyByZXR1cm4gbW9kZWxDbGFzc1JlcXVpcmUoaW5mbGVjdGlvbi5zaW5ndWxhcml6ZShpbmZsZWN0aW9uLmNhbWVsaXplKGRpZ2codGhpcywgXCJyZWZsZWN0aW9uRGF0YVwiLCBcInJlc291cmNlX25hbWVcIikpKSkgfVxuXG4gIC8qKiBAcmV0dXJucyB7c3RyaW5nfSAqL1xuICBuYW1lKCkgeyByZXR1cm4gaW5mbGVjdGlvbi5jYW1lbGl6ZShkaWdnKHRoaXMsIFwicmVmbGVjdGlvbkRhdGFcIiwgXCJuYW1lXCIpLCB0cnVlKSB9XG5cbiAgLyoqIEByZXR1cm5zIHtzdHJpbmd9ICovXG4gIHRocm91Z2goKSB7IHJldHVybiBkaWdnKHRoaXMsIFwicmVmbGVjdGlvbkRhdGFcIiwgXCJ0aHJvdWdoXCIpIH1cbn1cbiJdfQ==
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIvc3JjLyIsInNvdXJjZXMiOlsiYmFzZS1tb2RlbC9yZWZsZWN0aW9uLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxVQUFVLE1BQU0sWUFBWSxDQUFBO0FBQ3hDLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxXQUFXLENBQUE7QUFDOUIsT0FBTyxpQkFBaUIsTUFBTSwyQkFBMkIsQ0FBQTtBQUV6RCxtQ0FBbUM7QUFDbkMsTUFBTSxDQUFDLE9BQU8sT0FBTywyQkFBMkI7SUFDOUM7Ozs7Ozs7T0FPRztJQUNILFlBQVksY0FBYztRQUN4QixJQUFJLENBQUMsY0FBYyxHQUFHLGNBQWMsQ0FBQTtJQUN0QyxDQUFDO0lBRUQsd0JBQXdCO0lBQ3hCLFVBQVUsS0FBSyxPQUFPLElBQUksQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsWUFBWSxDQUFDLENBQUEsQ0FBQyxDQUFDO0lBRWxFLGFBQWE7SUFDYixLQUFLLEtBQUssT0FBTyxJQUFJLENBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFFLE9BQU8sQ0FBQyxDQUFBLENBQUMsQ0FBQztJQUV4RCwyREFBMkQ7SUFDM0QsVUFBVSxLQUFLLE9BQU8saUJBQWlCLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDO0lBRXJJLHdCQUF3QjtJQUN4QixJQUFJLEtBQUssT0FBTyxVQUFVLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUEsQ0FBQyxDQUFDO0lBRWpGLHdCQUF3QjtJQUN4QixPQUFPLEtBQUssT0FBTyxJQUFJLENBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFFLFNBQVMsQ0FBQyxDQUFBLENBQUMsQ0FBQztDQUM3RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGluZmxlY3Rpb24gZnJvbSBcImluZmxlY3Rpb25cIlxuaW1wb3J0IHtkaWdnfSBmcm9tIFwiZGlnZ2VyaXplXCJcbmltcG9ydCBtb2RlbENsYXNzUmVxdWlyZSBmcm9tIFwiLi4vbW9kZWwtY2xhc3MtcmVxdWlyZS5qc1wiXG5cbi8qKiBBcGlNYWtlckJhc2VNb2RlbFJlZmxlY3Rpb24uICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBBcGlNYWtlckJhc2VNb2RlbFJlZmxlY3Rpb24ge1xuICAvKipcbiAgICogQHBhcmFtIHtvYmplY3R9IHJlZmxlY3Rpb25EYXRhXG4gICAqIEBwYXJhbSB7c3RyaW5nfSByZWZsZWN0aW9uRGF0YS5mb3JlaWduS2V5XG4gICAqIEBwYXJhbSB7c3RyaW5nfSByZWZsZWN0aW9uRGF0YS5tYXJjb1xuICAgKiBAcGFyYW0ge3N0cmluZ30gcmVmbGVjdGlvbkRhdGEucmVzb3VyY2VfbmFtZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gcmVmbGVjdGlvbkRhdGEubmFtZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gcmVmbGVjdGlvbkRhdGEudGhyb3VnaFxuICAgKi9cbiAgY29uc3RydWN0b3IocmVmbGVjdGlvbkRhdGEpIHtcbiAgICB0aGlzLnJlZmxlY3Rpb25EYXRhID0gcmVmbGVjdGlvbkRhdGFcbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7c3RyaW5nfSAqL1xuICBmb3JlaWduS2V5KCkgeyByZXR1cm4gZGlnZyh0aGlzLCBcInJlZmxlY3Rpb25EYXRhXCIsIFwiZm9yZWlnbktleVwiKSB9XG5cbiAgLyoqIG1hY3JvLiAqL1xuICBtYWNybygpIHsgcmV0dXJuIGRpZ2codGhpcywgXCJyZWZsZWN0aW9uRGF0YVwiLCBcIm1hY3JvXCIpIH1cblxuICAvKiogQHJldHVybnMge3R5cGVvZiBpbXBvcnQoXCIuLi9iYXNlLW1vZGVsLmpzXCIpLmRlZmF1bHR9ICovXG4gIG1vZGVsQ2xhc3MoKSB7IHJldHVybiBtb2RlbENsYXNzUmVxdWlyZShpbmZsZWN0aW9uLnNpbmd1bGFyaXplKGluZmxlY3Rpb24uY2FtZWxpemUoZGlnZyh0aGlzLCBcInJlZmxlY3Rpb25EYXRhXCIsIFwicmVzb3VyY2VfbmFtZVwiKSkpKSB9XG5cbiAgLyoqIEByZXR1cm5zIHtzdHJpbmd9ICovXG4gIG5hbWUoKSB7IHJldHVybiBpbmZsZWN0aW9uLmNhbWVsaXplKGRpZ2codGhpcywgXCJyZWZsZWN0aW9uRGF0YVwiLCBcIm5hbWVcIiksIHRydWUpIH1cblxuICAvKiogQHJldHVybnMge3N0cmluZ30gKi9cbiAgdGhyb3VnaCgpIHsgcmV0dXJuIGRpZ2codGhpcywgXCJyZWZsZWN0aW9uRGF0YVwiLCBcInRocm91Z2hcIikgfVxufVxuIl19
@@ -1,3 +1,4 @@
1
+ /** ApiMakerBaseModelScope. */
1
2
  export default class ApiMakerBaseModelScope {
2
3
  /**
3
4
  * @param {object} scopeData
@@ -1 +1 @@
1
- {"version":3,"file":"scope.d.ts","sourceRoot":"/src/","sources":["base-model/scope.js"],"names":[],"mappings":"AAGA;IACE;;;OAGG;IACH,uBAFG;QAA0B,IAAI,EAAtB,MAAM;KAChB,EAGA;IADC;cAHS,MAAM;MAGW;IAG5B,wBAAwB;IACxB,QADc,MAAM,CAGnB;CACF"}
1
+ {"version":3,"file":"scope.d.ts","sourceRoot":"/src/","sources":["base-model/scope.js"],"names":[],"mappings":"AAGA,8BAA8B;AAC9B;IACE;;;OAGG;IACH,uBAFG;QAA0B,IAAI,EAAtB,MAAM;KAChB,EAGA;IADC;cAHS,MAAM;MAGW;IAG5B,wBAAwB;IACxB,QADc,MAAM,CAGnB;CACF"}
@@ -1,5 +1,6 @@
1
1
  import * as inflection from "inflection";
2
2
  import { digg } from "diggerize";
3
+ /** ApiMakerBaseModelScope. */
3
4
  export default class ApiMakerBaseModelScope {
4
5
  /**
5
6
  * @param {object} scopeData
@@ -13,4 +14,4 @@ export default class ApiMakerBaseModelScope {
13
14
  return inflection.camelize(digg(this, "scopeData", "name"), true);
14
15
  }
15
16
  }
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NvcGUuanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbImJhc2UtbW9kZWwvc2NvcGUuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLFVBQVUsTUFBTSxZQUFZLENBQUE7QUFDeEMsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLFdBQVcsQ0FBQTtBQUU5QixNQUFNLENBQUMsT0FBTyxPQUFPLHNCQUFzQjtJQUN6Qzs7O09BR0c7SUFDSCxZQUFZLFNBQVM7UUFDbkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUE7SUFDNUIsQ0FBQztJQUVELHdCQUF3QjtJQUN4QixJQUFJO1FBQ0YsT0FBTyxVQUFVLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLE1BQU0sQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFBO0lBQ25FLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGluZmxlY3Rpb24gZnJvbSBcImluZmxlY3Rpb25cIlxuaW1wb3J0IHtkaWdnfSBmcm9tIFwiZGlnZ2VyaXplXCJcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQXBpTWFrZXJCYXNlTW9kZWxTY29wZSB7XG4gIC8qKlxuICAgKiBAcGFyYW0ge29iamVjdH0gc2NvcGVEYXRhXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBzY29wZURhdGEubmFtZVxuICAgKi9cbiAgY29uc3RydWN0b3Ioc2NvcGVEYXRhKSB7XG4gICAgdGhpcy5zY29wZURhdGEgPSBzY29wZURhdGFcbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7c3RyaW5nfSAqL1xuICBuYW1lKCkge1xuICAgIHJldHVybiBpbmZsZWN0aW9uLmNhbWVsaXplKGRpZ2codGhpcywgXCJzY29wZURhdGFcIiwgXCJuYW1lXCIpLCB0cnVlKVxuICB9XG59XG4iXX0=
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NvcGUuanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbImJhc2UtbW9kZWwvc2NvcGUuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLFVBQVUsTUFBTSxZQUFZLENBQUE7QUFDeEMsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLFdBQVcsQ0FBQTtBQUU5Qiw4QkFBOEI7QUFDOUIsTUFBTSxDQUFDLE9BQU8sT0FBTyxzQkFBc0I7SUFDekM7OztPQUdHO0lBQ0gsWUFBWSxTQUFTO1FBQ25CLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFBO0lBQzVCLENBQUM7SUFFRCx3QkFBd0I7SUFDeEIsSUFBSTtRQUNGLE9BQU8sVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxNQUFNLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUNuRSxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBpbmZsZWN0aW9uIGZyb20gXCJpbmZsZWN0aW9uXCJcbmltcG9ydCB7ZGlnZ30gZnJvbSBcImRpZ2dlcml6ZVwiXG5cbi8qKiBBcGlNYWtlckJhc2VNb2RlbFNjb3BlLiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQXBpTWFrZXJCYXNlTW9kZWxTY29wZSB7XG4gIC8qKlxuICAgKiBAcGFyYW0ge29iamVjdH0gc2NvcGVEYXRhXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBzY29wZURhdGEubmFtZVxuICAgKi9cbiAgY29uc3RydWN0b3Ioc2NvcGVEYXRhKSB7XG4gICAgdGhpcy5zY29wZURhdGEgPSBzY29wZURhdGFcbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7c3RyaW5nfSAqL1xuICBuYW1lKCkge1xuICAgIHJldHVybiBpbmZsZWN0aW9uLmNhbWVsaXplKGRpZ2codGhpcywgXCJzY29wZURhdGFcIiwgXCJuYW1lXCIpLCB0cnVlKVxuICB9XG59XG4iXX0=