@kaspernj/api-maker 1.0.452 → 1.0.453

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 (348) hide show
  1. package/build/api.js +1 -1
  2. package/build/api.js.map +1 -0
  3. package/build/attribute-not-loaded-error.js +1 -1
  4. package/build/attribute-not-loaded-error.js.map +1 -0
  5. package/build/base-component.js +1 -1
  6. package/build/base-component.js.map +1 -0
  7. package/build/base-error.js +1 -1
  8. package/build/base-error.js.map +1 -0
  9. package/build/base-model/attribute.js +1 -1
  10. package/build/base-model/attribute.js.map +1 -0
  11. package/build/base-model/column.js +1 -1
  12. package/build/base-model/column.js.map +1 -0
  13. package/build/base-model/reflection.js +1 -1
  14. package/build/base-model/reflection.js.map +1 -0
  15. package/build/base-model/scope.js +1 -1
  16. package/build/base-model/scope.js.map +1 -0
  17. package/build/base-model.js +1 -1
  18. package/build/base-model.js.map +1 -0
  19. package/build/bootstrap/attribute-row/index.js +1 -1
  20. package/build/bootstrap/attribute-row/index.js.map +1 -0
  21. package/build/bootstrap/attribute-rows.js +1 -1
  22. package/build/bootstrap/attribute-rows.js.map +1 -0
  23. package/build/bootstrap/card.js +1 -1
  24. package/build/bootstrap/card.js.map +1 -0
  25. package/build/bootstrap/checkbox.js +1 -1
  26. package/build/bootstrap/checkbox.js.map +1 -0
  27. package/build/bootstrap/checkboxes.js +1 -1
  28. package/build/bootstrap/checkboxes.js.map +1 -0
  29. package/build/bootstrap/index.js +1 -1
  30. package/build/bootstrap/index.js.map +1 -0
  31. package/build/bootstrap/input.js +1 -1
  32. package/build/bootstrap/input.js.map +1 -0
  33. package/build/bootstrap/invalid-feedback.js +1 -1
  34. package/build/bootstrap/invalid-feedback.js.map +1 -0
  35. package/build/bootstrap/paginate.js +1 -1
  36. package/build/bootstrap/paginate.js.map +1 -0
  37. package/build/bootstrap/radio-buttons.js +1 -1
  38. package/build/bootstrap/radio-buttons.js.map +1 -0
  39. package/build/bootstrap/select.js +1 -1
  40. package/build/bootstrap/select.js.map +1 -0
  41. package/build/bootstrap/sort-link.js +1 -1
  42. package/build/bootstrap/sort-link.js.map +1 -0
  43. package/build/cable-connection-pool.js +1 -1
  44. package/build/cable-connection-pool.js.map +1 -0
  45. package/build/cable-subscription-pool.js +1 -1
  46. package/build/cable-subscription-pool.js.map +1 -0
  47. package/build/cable-subscription.js +1 -1
  48. package/build/cable-subscription.js.map +1 -0
  49. package/build/cache-key-generator.js +1 -1
  50. package/build/cache-key-generator.js.map +1 -0
  51. package/build/can-can.js +1 -1
  52. package/build/can-can.js.map +1 -0
  53. package/build/channels-consumer.js +1 -1
  54. package/build/channels-consumer.js.map +1 -0
  55. package/build/collection-loader.js +1 -1
  56. package/build/collection-loader.js.map +1 -0
  57. package/build/collection.js +1 -1
  58. package/build/collection.js.map +1 -0
  59. package/build/command-submit-data.js +1 -1
  60. package/build/command-submit-data.js.map +1 -0
  61. package/build/commands-pool.js +1 -1
  62. package/build/commands-pool.js.map +1 -0
  63. package/build/compose.js +1 -1
  64. package/build/compose.js.map +1 -0
  65. package/build/config.js +1 -1
  66. package/build/config.js.map +1 -0
  67. package/build/custom-error.js +1 -1
  68. package/build/custom-error.js.map +1 -0
  69. package/build/data-set-to-attributes.js +1 -1
  70. package/build/data-set-to-attributes.js.map +1 -0
  71. package/build/deserializer.js +1 -1
  72. package/build/deserializer.js.map +1 -0
  73. package/build/destroy-error.js +1 -1
  74. package/build/destroy-error.js.map +1 -0
  75. package/build/devise.js +1 -1
  76. package/build/devise.js.map +1 -0
  77. package/build/draggable-sort/controller.js +1 -1
  78. package/build/draggable-sort/controller.js.map +1 -0
  79. package/build/draggable-sort/index.js +1 -1
  80. package/build/draggable-sort/index.js.map +1 -0
  81. package/build/draggable-sort/item.js +1 -1
  82. package/build/draggable-sort/item.js.map +1 -0
  83. package/build/error-logger.js +1 -1
  84. package/build/error-logger.js.map +1 -0
  85. package/build/error-messages.js +1 -1
  86. package/build/error-messages.js.map +1 -0
  87. package/build/event-connection.js +1 -1
  88. package/build/event-connection.js.map +1 -0
  89. package/build/event-model-class.js +1 -1
  90. package/build/event-model-class.js.map +1 -0
  91. package/build/events.js +1 -1
  92. package/build/events.js.map +1 -0
  93. package/build/flash-message.js +1 -1
  94. package/build/flash-message.js.map +1 -0
  95. package/build/form.js +1 -1
  96. package/build/form.js.map +1 -0
  97. package/build/index.js +1 -1
  98. package/build/index.js.map +1 -0
  99. package/build/inputs/attachment.js +1 -1
  100. package/build/inputs/attachment.js.map +1 -0
  101. package/build/inputs/auto-submit.js +1 -1
  102. package/build/inputs/auto-submit.js.map +1 -0
  103. package/build/inputs/checkbox.js +1 -1
  104. package/build/inputs/checkbox.js.map +1 -0
  105. package/build/inputs/checkboxes.js +1 -1
  106. package/build/inputs/checkboxes.js.map +1 -0
  107. package/build/inputs/id-for-component.js +1 -1
  108. package/build/inputs/id-for-component.js.map +1 -0
  109. package/build/inputs/input-wrapper.js +1 -1
  110. package/build/inputs/input-wrapper.js.map +1 -0
  111. package/build/inputs/input.js +1 -1
  112. package/build/inputs/input.js.map +1 -0
  113. package/build/inputs/money.js +1 -1
  114. package/build/inputs/money.js.map +1 -0
  115. package/build/inputs/name-for-component.js +1 -1
  116. package/build/inputs/name-for-component.js.map +1 -0
  117. package/build/inputs/select.js +1 -1
  118. package/build/inputs/select.js.map +1 -0
  119. package/build/instance-of-class-name.js +1 -1
  120. package/build/instance-of-class-name.js.map +1 -0
  121. package/build/key-value-store.js +1 -1
  122. package/build/key-value-store.js.map +1 -0
  123. package/build/link.js +1 -1
  124. package/build/link.js.map +1 -0
  125. package/build/logger.js +1 -1
  126. package/build/logger.js.map +1 -0
  127. package/build/modal.js +1 -1
  128. package/build/modal.js.map +1 -0
  129. package/build/model-class-require.js +1 -1
  130. package/build/model-class-require.js.map +1 -0
  131. package/build/model-events.js +1 -1
  132. package/build/model-events.js.map +1 -0
  133. package/build/model-name.js +1 -1
  134. package/build/model-name.js.map +1 -0
  135. package/build/model-prop-type.js +1 -1
  136. package/build/model-prop-type.js.map +1 -0
  137. package/build/model-recipes-loader.js +1 -1
  138. package/build/model-recipes-loader.js.map +1 -0
  139. package/build/model-recipes-model-loader.js +1 -1
  140. package/build/model-recipes-model-loader.js.map +1 -0
  141. package/build/models-response-reader.js +1 -1
  142. package/build/models-response-reader.js.map +1 -0
  143. package/build/models.js +1 -1
  144. package/build/models.js.map +1 -0
  145. package/build/money-formatter.js +1 -1
  146. package/build/money-formatter.js.map +1 -0
  147. package/build/not-loaded-error.js +1 -1
  148. package/build/not-loaded-error.js.map +1 -0
  149. package/build/params.js +1 -1
  150. package/build/params.js.map +1 -0
  151. package/build/preloaded.js +1 -1
  152. package/build/preloaded.js.map +1 -0
  153. package/build/resize-observer.js +1 -1
  154. package/build/resize-observer.js.map +1 -0
  155. package/build/result.js +1 -1
  156. package/build/result.js.map +1 -0
  157. package/build/router/route.js +1 -1
  158. package/build/router/route.js.map +1 -0
  159. package/build/router/switch.js +1 -1
  160. package/build/router/switch.js.map +1 -0
  161. package/build/router.js +1 -1
  162. package/build/router.js.map +1 -0
  163. package/build/routes-native.js +1 -1
  164. package/build/routes-native.js.map +1 -0
  165. package/build/routes.js +1 -1
  166. package/build/routes.js.map +1 -0
  167. package/build/run-last.js +1 -1
  168. package/build/run-last.js.map +1 -0
  169. package/build/serializer.js +1 -1
  170. package/build/serializer.js.map +1 -0
  171. package/build/services.js +1 -1
  172. package/build/services.js.map +1 -0
  173. package/build/session-status-updater.js +1 -1
  174. package/build/session-status-updater.js.map +1 -0
  175. package/build/source-maps-loader.js +19 -8
  176. package/build/source-maps-loader.js.map +1 -0
  177. package/build/super-admin/config-reader.js +1 -1
  178. package/build/super-admin/config-reader.js.map +1 -0
  179. package/build/super-admin/edit-page/edit-attribute-checkbox.js +1 -1
  180. package/build/super-admin/edit-page/edit-attribute-checkbox.js.map +1 -0
  181. package/build/super-admin/edit-page/edit-attribute-content.js +1 -1
  182. package/build/super-admin/edit-page/edit-attribute-content.js.map +1 -0
  183. package/build/super-admin/edit-page/edit-attribute-input.js +1 -1
  184. package/build/super-admin/edit-page/edit-attribute-input.js.map +1 -0
  185. package/build/super-admin/edit-page/edit-attribute.js +1 -1
  186. package/build/super-admin/edit-page/edit-attribute.js.map +1 -0
  187. package/build/super-admin/edit-page.js +1 -1
  188. package/build/super-admin/edit-page.js.map +1 -0
  189. package/build/super-admin/has-edit-config.js +1 -1
  190. package/build/super-admin/has-edit-config.js.map +1 -0
  191. package/build/super-admin/index-page.js +1 -1
  192. package/build/super-admin/index-page.js.map +1 -0
  193. package/build/super-admin/index.js +1 -1
  194. package/build/super-admin/index.js.map +1 -0
  195. package/build/super-admin/layout/header/index.js +1 -1
  196. package/build/super-admin/layout/header/index.js.map +1 -0
  197. package/build/super-admin/layout/index.js +1 -1
  198. package/build/super-admin/layout/index.js.map +1 -0
  199. package/build/super-admin/layout/menu/index.js +1 -1
  200. package/build/super-admin/layout/menu/index.js.map +1 -0
  201. package/build/super-admin/layout/menu/menu-content.js +1 -1
  202. package/build/super-admin/layout/menu/menu-content.js.map +1 -0
  203. package/build/super-admin/layout/menu/menu-item.js +1 -1
  204. package/build/super-admin/layout/menu/menu-item.js.map +1 -0
  205. package/build/super-admin/layout/no-access.js +1 -1
  206. package/build/super-admin/layout/no-access.js.map +1 -0
  207. package/build/super-admin/model-class-table.js +1 -1
  208. package/build/super-admin/model-class-table.js.map +1 -0
  209. package/build/super-admin/models.js +1 -1
  210. package/build/super-admin/models.js.map +1 -0
  211. package/build/super-admin/show-nav.js +1 -1
  212. package/build/super-admin/show-nav.js.map +1 -0
  213. package/build/super-admin/show-page/belongs-to-attribute-row.js +1 -1
  214. package/build/super-admin/show-page/belongs-to-attribute-row.js.map +1 -0
  215. package/build/super-admin/show-page/index.js +1 -1
  216. package/build/super-admin/show-page/index.js.map +1 -0
  217. package/build/super-admin/show-reflection-actions.js +1 -1
  218. package/build/super-admin/show-reflection-actions.js.map +1 -0
  219. package/build/super-admin/show-reflection-link.js +1 -1
  220. package/build/super-admin/show-reflection-link.js.map +1 -0
  221. package/build/super-admin/show-reflection-page.js +1 -1
  222. package/build/super-admin/show-reflection-page.js.map +1 -0
  223. package/build/table/column-content.js +1 -1
  224. package/build/table/column-content.js.map +1 -0
  225. package/build/table/column-identifier.js +1 -1
  226. package/build/table/column-identifier.js.map +1 -0
  227. package/build/table/column-visible.js +1 -1
  228. package/build/table/column-visible.js.map +1 -0
  229. package/build/table/components/column.js +1 -1
  230. package/build/table/components/column.js.map +1 -0
  231. package/build/table/components/flat-list.js +1 -1
  232. package/build/table/components/flat-list.js.map +1 -0
  233. package/build/table/components/header.js +1 -1
  234. package/build/table/components/header.js.map +1 -0
  235. package/build/table/components/row.js +1 -1
  236. package/build/table/components/row.js.map +1 -0
  237. package/build/table/filters/attribute-element.js +1 -1
  238. package/build/table/filters/attribute-element.js.map +1 -0
  239. package/build/table/filters/filter-form.js +1 -1
  240. package/build/table/filters/filter-form.js.map +1 -0
  241. package/build/table/filters/filter.js +1 -1
  242. package/build/table/filters/filter.js.map +1 -0
  243. package/build/table/filters/index.js +1 -1
  244. package/build/table/filters/index.js.map +1 -0
  245. package/build/table/filters/load-search-modal.js +1 -1
  246. package/build/table/filters/load-search-modal.js.map +1 -0
  247. package/build/table/filters/reflection-element.js +1 -1
  248. package/build/table/filters/reflection-element.js.map +1 -0
  249. package/build/table/filters/save-search-modal.js +1 -1
  250. package/build/table/filters/save-search-modal.js.map +1 -0
  251. package/build/table/filters/scope-element.js +1 -1
  252. package/build/table/filters/scope-element.js.map +1 -0
  253. package/build/table/header-column-content.js +1 -1
  254. package/build/table/header-column-content.js.map +1 -0
  255. package/build/table/header-column.js +1 -1
  256. package/build/table/header-column.js.map +1 -0
  257. package/build/table/header-select.js +1 -1
  258. package/build/table/header-select.js.map +1 -0
  259. package/build/table/model-callback-args.js +1 -1
  260. package/build/table/model-callback-args.js.map +1 -0
  261. package/build/table/model-column.js +1 -1
  262. package/build/table/model-column.js.map +1 -0
  263. package/build/table/model-row.js +1 -1
  264. package/build/table/model-row.js.map +1 -0
  265. package/build/table/select-calculator.js +1 -1
  266. package/build/table/select-calculator.js.map +1 -0
  267. package/build/table/settings/column-row.js +1 -1
  268. package/build/table/settings/column-row.js.map +1 -0
  269. package/build/table/settings/download-action.js +1 -1
  270. package/build/table/settings/download-action.js.map +1 -0
  271. package/build/table/settings/index.js +1 -1
  272. package/build/table/settings/index.js.map +1 -0
  273. package/build/table/table-settings.js +1 -1
  274. package/build/table/table-settings.js.map +1 -0
  275. package/build/table/table.js +1 -1
  276. package/build/table/table.js.map +1 -0
  277. package/build/table/use-sorting.js +1 -1
  278. package/build/table/use-sorting.js.map +1 -0
  279. package/build/table/widths.js +1 -1
  280. package/build/table/widths.js.map +1 -0
  281. package/build/table/worker-plugins-check-all-checkbox.js +1 -1
  282. package/build/table/worker-plugins-check-all-checkbox.js.map +1 -0
  283. package/build/table/worker-plugins-checkbox.js +1 -1
  284. package/build/table/worker-plugins-checkbox.js.map +1 -0
  285. package/build/translated-attributes.js +1 -1
  286. package/build/translated-attributes.js.map +1 -0
  287. package/build/translated-collections.js +1 -1
  288. package/build/translated-collections.js.map +1 -0
  289. package/build/updated-attribute.js +1 -1
  290. package/build/updated-attribute.js.map +1 -0
  291. package/build/url-encode.js +1 -1
  292. package/build/url-encode.js.map +1 -0
  293. package/build/use-breakpoint.js +1 -1
  294. package/build/use-breakpoint.js.map +1 -0
  295. package/build/use-can-can.js +1 -1
  296. package/build/use-can-can.js.map +1 -0
  297. package/build/use-collection.js +1 -1
  298. package/build/use-collection.js.map +1 -0
  299. package/build/use-created-event.js +1 -1
  300. package/build/use-created-event.js.map +1 -0
  301. package/build/use-current-user.js +1 -1
  302. package/build/use-current-user.js.map +1 -0
  303. package/build/use-destroyed-event.js +1 -1
  304. package/build/use-destroyed-event.js.map +1 -0
  305. package/build/use-event-emitter.js +1 -1
  306. package/build/use-event-emitter.js.map +1 -0
  307. package/build/use-event-listener.js +1 -1
  308. package/build/use-event-listener.js.map +1 -0
  309. package/build/use-input.js +1 -1
  310. package/build/use-input.js.map +1 -0
  311. package/build/use-model-event.js +1 -1
  312. package/build/use-model-event.js.map +1 -0
  313. package/build/use-model.js +1 -1
  314. package/build/use-model.js.map +1 -0
  315. package/build/use-resize-observer.js +1 -1
  316. package/build/use-resize-observer.js.map +1 -0
  317. package/build/use-router.js +1 -1
  318. package/build/use-router.js.map +1 -0
  319. package/build/use-screen-layout.js +1 -1
  320. package/build/use-screen-layout.js.map +1 -0
  321. package/build/use-updated-event.js +1 -1
  322. package/build/use-updated-event.js.map +1 -0
  323. package/build/use-validation-errors.js +1 -1
  324. package/build/use-validation-errors.js.map +1 -0
  325. package/build/utils/card.js +1 -1
  326. package/build/utils/card.js.map +1 -0
  327. package/build/utils/checkbox.js +1 -1
  328. package/build/utils/checkbox.js.map +1 -0
  329. package/build/utils/default-style.js +1 -1
  330. package/build/utils/default-style.js.map +1 -0
  331. package/build/utils/modal.js +1 -1
  332. package/build/utils/modal.js.map +1 -0
  333. package/build/utils/text.js +1 -1
  334. package/build/utils/text.js.map +1 -0
  335. package/build/validation-error.js +1 -1
  336. package/build/validation-error.js.map +1 -0
  337. package/build/validation-errors.js +1 -1
  338. package/build/validation-errors.js.map +1 -0
  339. package/build/with-collection.js +1 -1
  340. package/build/with-collection.js.map +1 -0
  341. package/build/with-current-user.js +1 -1
  342. package/build/with-current-user.js.map +1 -0
  343. package/build/with-model.js +1 -1
  344. package/build/with-model.js.map +1 -0
  345. package/build/with-router.js +1 -1
  346. package/build/with-router.js.map +1 -0
  347. package/package.json +2 -2
  348. package/src/source-maps-loader.js +19 -7
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-name.js","names":["Config","inflection","ModelName","constructor","data","camelizedLower","modelClassData","human","args","argsToUse","count","countKey","key","i18nKey","defaultModelName","name","pluralize","getI18n","t","defaultValue","paramKey"],"sources":["../src/model-name.js"],"sourcesContent":["import Config from \"./config\"\nimport * as inflection from \"inflection\"\n\nexport default class ModelName {\n constructor(data) {\n this.data = data\n }\n\n camelizedLower = () => this.data.modelClassData.camelizedLower\n\n human(args) {\n let argsToUse = args\n\n if (!argsToUse) argsToUse = { count: 1 }\n\n let countKey\n\n if (argsToUse.count > 1 || argsToUse.count < 0) {\n countKey = \"other\"\n } else {\n countKey = \"one\"\n }\n\n const key = `activerecord.models.${this.data.modelClassData.i18nKey}.${countKey}`\n let defaultModelName = this.data.modelClassData.name\n\n if (args?.count > 1) defaultModelName = inflection.pluralize(defaultModelName)\n\n return Config.getI18n().t(key, {defaultValue: defaultModelName})\n }\n\n paramKey = () => this.data.modelClassData.paramKey\n}\n"],"mappings":"AAAA,OAAOA,MAAM,MAAM,UAAU;AAC7B,OAAO,KAAKC,UAAU,MAAM,YAAY;AAExC,eAAe,MAAMC,SAAS,CAAC;EAC7BC,WAAWA,CAACC,IAAI,EAAE;IAChB,IAAI,CAACA,IAAI,GAAGA,IAAI;EAClB;EAEAC,cAAc,GAAGA,CAAA,KAAM,IAAI,CAACD,IAAI,CAACE,cAAc,CAACD,cAAc;EAE9DE,KAAKA,CAACC,IAAI,EAAE;IACV,IAAIC,SAAS,GAAGD,IAAI;IAEpB,IAAI,CAACC,SAAS,EAAEA,SAAS,GAAG;MAAEC,KAAK,EAAE;IAAE,CAAC;IAExC,IAAIC,QAAQ;IAEZ,IAAIF,SAAS,CAACC,KAAK,GAAG,CAAC,IAAID,SAAS,CAACC,KAAK,GAAG,CAAC,EAAE;MAC9CC,QAAQ,GAAG,OAAO;IACpB,CAAC,MAAM;MACLA,QAAQ,GAAG,KAAK;IAClB;IAEA,MAAMC,GAAG,GAAG,uBAAuB,IAAI,CAACR,IAAI,CAACE,cAAc,CAACO,OAAO,IAAIF,QAAQ,EAAE;IACjF,IAAIG,gBAAgB,GAAG,IAAI,CAACV,IAAI,CAACE,cAAc,CAACS,IAAI;IAEpD,IAAIP,IAAI,EAAEE,KAAK,GAAG,CAAC,EAAEI,gBAAgB,GAAGb,UAAU,CAACe,SAAS,CAACF,gBAAgB,CAAC;IAE9E,OAAOd,MAAM,CAACiB,OAAO,CAAC,CAAC,CAACC,CAAC,CAACN,GAAG,EAAE;MAACO,YAAY,EAAEL;IAAgB,CAAC,CAAC;EAClE;EAEAM,QAAQ,GAAGA,CAAA,KAAM,IAAI,CAAChB,IAAI,CAACE,cAAc,CAACc,QAAQ;AACpD","ignoreList":[]}
@@ -98,4 +98,4 @@ export default class ApiMakerModelPropType {
98
98
  return this;
99
99
  }
100
100
  }
101
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJkaWdnIiwiSW5mbGVjdGlvbiIsIkFwaU1ha2VyTW9kZWxQcm9wVHlwZSIsIm9mTW9kZWwiLCJtb2RlbENsYXNzIiwibW9kZWxQcm9wVHlwZUluc3RhbmNlIiwid2l0aE1vZGVsVHlwZSIsImNvbnN0cnVjdG9yIiwiaXNOb3RSZXF1aXJlZCIsImJpbmQiLCJpc1JlcXVpcmVkIiwiX3dpdGhMb2FkZWRBc3NvY2lhdGlvbnMiLCJwcm9wcyIsInByb3BOYW1lIiwiX2NvbXBvbmVudE5hbWUiLCJtb2RlbCIsInZhbGlkYXRlIiwiRXJyb3IiLCJwcmV2aW91cyIsIl9wcmV2aW91c01vZGVsUHJvcFR5cGUiLCJzZXRQcmV2aW91c01vZGVsUHJvcFR5cGUiLCJwcmV2aW91c01vZGVsUHJvcFR5cGUiLCJfd2l0aE1vZGVsVHlwZSIsIm5hbWUiLCJfd2l0aExvYWRlZEFiaWxpdGllcyIsImFiaWxpdHlOYW1lIiwidW5kZXJzY29yZUFiaWxpdHlOYW1lIiwidW5kZXJzY29yZSIsImFiaWxpdGllcyIsImFzc29jaWF0aW9uTmFtZSIsImFzc29jaWF0aW9uTW9kZWxQcm9wVHlwZSIsInVuZGVyc2NvcmVBc3NvY2lhdGlvbk5hbWUiLCJyZWxhdGlvbnNoaXBzQ2FjaGUiLCJhc3NvY2lhdGlvbkNhY2hlIiwiQXJyYXkiLCJpc0FycmF5IiwicHJlbG9hZGVkTW9kZWwiLCJ2YWxpZGF0aW9uUmVzdWx0IiwiX3dpdGhMb2FkZWRBdHRyaWJ1dGVzIiwiaXNQZXJzaXN0ZWQiLCJhdHRyaWJ1dGVOYW1lIiwidW5kZXJzY29yZUF0dHJpYnV0ZU5hbWUiLCJtb2RlbERhdGEiLCJ3aXRoTG9hZGVkQWJpbGl0aWVzIiwiYXJyYXlPZkFiaWxpdGllcyIsIndpdGhMb2FkZWRBc3NvY2lhdGlvbiIsIndpdGhMb2FkZWRBdHRyaWJ1dGVzIiwiYXJyYXlPZkF0dHJpYnV0ZXMiXSwic291cmNlcyI6WyIuLi9zcmMvbW9kZWwtcHJvcC10eXBlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7ZGlnZ30gZnJvbSBcImRpZ2dlcml6ZVwiXG5pbXBvcnQgSW5mbGVjdGlvbiBmcm9tIFwiaW5mbGVjdGlvblwiXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEFwaU1ha2VyTW9kZWxQcm9wVHlwZSB7XG4gIHN0YXRpYyBvZk1vZGVsIChtb2RlbENsYXNzKSB7XG4gICAgY29uc3QgbW9kZWxQcm9wVHlwZUluc3RhbmNlID0gbmV3IEFwaU1ha2VyTW9kZWxQcm9wVHlwZSgpXG5cbiAgICBtb2RlbFByb3BUeXBlSW5zdGFuY2Uud2l0aE1vZGVsVHlwZShtb2RlbENsYXNzKVxuXG4gICAgcmV0dXJuIG1vZGVsUHJvcFR5cGVJbnN0YW5jZVxuICB9XG5cbiAgY29uc3RydWN0b3IgKCkge1xuICAgIHRoaXMuaXNOb3RSZXF1aXJlZCA9IHRoaXMuaXNOb3RSZXF1aXJlZC5iaW5kKHRoaXMpXG4gICAgdGhpcy5pc1JlcXVpcmVkID0gdGhpcy5pc1JlcXVpcmVkLmJpbmQodGhpcylcbiAgICB0aGlzLl93aXRoTG9hZGVkQXNzb2NpYXRpb25zID0ge31cbiAgfVxuXG4gIGlzTm90UmVxdWlyZWQgKHByb3BzLCBwcm9wTmFtZSwgX2NvbXBvbmVudE5hbWUpIHtcbiAgICBjb25zdCBtb2RlbCA9IHByb3BzW3Byb3BOYW1lXVxuXG4gICAgaWYgKG1vZGVsKSB7XG4gICAgICByZXR1cm4gdGhpcy52YWxpZGF0ZSh7bW9kZWwsIHByb3BOYW1lfSlcbiAgICB9XG4gIH1cblxuICBpc1JlcXVpcmVkIChwcm9wcywgcHJvcE5hbWUsIF9jb21wb25lbnROYW1lKSB7XG4gICAgY29uc3QgbW9kZWwgPSBwcm9wc1twcm9wTmFtZV1cblxuICAgIGlmICghbW9kZWwpIHJldHVybiBuZXcgRXJyb3IoYCR7cHJvcE5hbWV9IHdhcyByZXF1aXJlZCBidXQgbm90IGdpdmVuYClcblxuICAgIHJldHVybiB0aGlzLnZhbGlkYXRlKHttb2RlbCwgcHJvcE5hbWV9KVxuICB9XG5cbiAgcHJldmlvdXMgKCkge1xuICAgIGlmICghdGhpcy5fcHJldmlvdXNNb2RlbFByb3BUeXBlKSB0aHJvdyBuZXcgRXJyb3IoXCJObyBwcmV2aW91cyBtb2RlbCBwcm9wIHR5cGUgc2V0XCIpXG5cbiAgICByZXR1cm4gdGhpcy5fcHJldmlvdXNNb2RlbFByb3BUeXBlXG4gIH1cblxuICBzZXRQcmV2aW91c01vZGVsUHJvcFR5cGUgKHByZXZpb3VzTW9kZWxQcm9wVHlwZSkge1xuICAgIHRoaXMuX3ByZXZpb3VzTW9kZWxQcm9wVHlwZSA9IHByZXZpb3VzTW9kZWxQcm9wVHlwZVxuICB9XG5cbiAgd2l0aE1vZGVsVHlwZSAobW9kZWxDbGFzcykge1xuICAgIHRoaXMuX3dpdGhNb2RlbFR5cGUgPSBtb2RlbENsYXNzXG4gIH1cblxuICB2YWxpZGF0ZSAoe21vZGVsLCBwcm9wTmFtZX0pIHtcbiAgICBpZiAodGhpcy5fd2l0aE1vZGVsVHlwZSAmJiB0aGlzLl93aXRoTW9kZWxUeXBlLm5hbWUgIT0gbW9kZWwuY29uc3RydWN0b3IubmFtZSlcbiAgICAgIHJldHVybiBuZXcgRXJyb3IoYEV4cGVjdGVkICR7cHJvcE5hbWV9IHRvIGJlIG9mIHR5cGUgJHt0aGlzLl93aXRoTW9kZWxUeXBlLm5hbWV9IGJ1dCBpdCB3YXNuJ3Q6ICR7bW9kZWwuY29uc3RydWN0b3IubmFtZX1gKVxuXG4gICAgaWYgKHRoaXMuX3dpdGhMb2FkZWRBYmlsaXRpZXMpIHtcbiAgICAgIGZvciAoY29uc3QgYWJpbGl0eU5hbWUgb2YgdGhpcy5fd2l0aExvYWRlZEFiaWxpdGllcykge1xuICAgICAgICBjb25zdCB1bmRlcnNjb3JlQWJpbGl0eU5hbWUgPSBJbmZsZWN0aW9uLnVuZGVyc2NvcmUoYWJpbGl0eU5hbWUpXG5cbiAgICAgICAgaWYgKCEodW5kZXJzY29yZUFiaWxpdHlOYW1lIGluIG1vZGVsLmFiaWxpdGllcykpXG4gICAgICAgICAgcmV0dXJuIG5ldyBFcnJvcihgVGhlIGFiaWxpdHkgJHthYmlsaXR5TmFtZX0gd2FzIHJlcXVpcmVkIHRvIGJlIGxvYWRlZCBpbiAke3Byb3BOYW1lfSBvZiB0aGUgJHttb2RlbC5jb25zdHJ1Y3Rvci5uYW1lfSB0eXBlIGJ1dCBpdCB3YXNuJ3RgKVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0aGlzLl93aXRoTG9hZGVkQXNzb2NpYXRpb25zKSB7XG4gICAgICBmb3IgKGNvbnN0IGFzc29jaWF0aW9uTmFtZSBpbiB0aGlzLl93aXRoTG9hZGVkQXNzb2NpYXRpb25zKSB7XG4gICAgICAgIGNvbnN0IGFzc29jaWF0aW9uTW9kZWxQcm9wVHlwZSA9IGRpZ2codGhpcy5fd2l0aExvYWRlZEFzc29jaWF0aW9ucywgYXNzb2NpYXRpb25OYW1lKVxuICAgICAgICBjb25zdCB1bmRlcnNjb3JlQXNzb2NpYXRpb25OYW1lID0gSW5mbGVjdGlvbi51bmRlcnNjb3JlKGFzc29jaWF0aW9uTmFtZSlcblxuICAgICAgICBpZiAoISh1bmRlcnNjb3JlQXNzb2NpYXRpb25OYW1lIGluIG1vZGVsLnJlbGF0aW9uc2hpcHNDYWNoZSkpXG4gICAgICAgICAgcmV0dXJuIG5ldyBFcnJvcihgVGhlIGFzc29jaWF0aW9uICR7YXNzb2NpYXRpb25OYW1lfSB3YXMgcmVxdWlyZWQgdG8gYmUgbG9hZGVkIGluICR7cHJvcE5hbWV9IG9mIHRoZSAke21vZGVsLmNvbnN0cnVjdG9yLm5hbWV9IHR5cGUgYnV0IGl0IHdhc24ndGApXG5cbiAgICAgICAgY29uc3QgYXNzb2NpYXRpb25DYWNoZSA9IGRpZ2cobW9kZWwucmVsYXRpb25zaGlwc0NhY2hlLCB1bmRlcnNjb3JlQXNzb2NpYXRpb25OYW1lKVxuXG4gICAgICAgIC8vIEZpbmQgYSBtb2RlbCB0byBydW4gc3ViLW1vZGVsLXByb3AtdHlwZS12YWxpZGF0aW9ucyBvblxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShhc3NvY2lhdGlvbkNhY2hlKSkge1xuICAgICAgICAgIGZvciAoY29uc3QgcHJlbG9hZGVkTW9kZWwgb2YgYXNzb2NpYXRpb25DYWNoZSkge1xuICAgICAgICAgICAgY29uc3QgdmFsaWRhdGlvblJlc3VsdCA9IGFzc29jaWF0aW9uTW9kZWxQcm9wVHlwZS52YWxpZGF0ZSh7XG4gICAgICAgICAgICAgIG1vZGVsOiBwcmVsb2FkZWRNb2RlbCxcbiAgICAgICAgICAgICAgcHJvcE5hbWU6IGAke3Byb3BOYW1lfS4ke2Fzc29jaWF0aW9uTmFtZX1gXG4gICAgICAgICAgICB9KVxuXG4gICAgICAgICAgICBpZiAodmFsaWRhdGlvblJlc3VsdCkgcmV0dXJuIHZhbGlkYXRpb25SZXN1bHRcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAoYXNzb2NpYXRpb25DYWNoZSkge1xuICAgICAgICAgIGNvbnN0IHZhbGlkYXRpb25SZXN1bHQgPSBhc3NvY2lhdGlvbk1vZGVsUHJvcFR5cGUudmFsaWRhdGUoe1xuICAgICAgICAgICAgbW9kZWw6IGFzc29jaWF0aW9uQ2FjaGUsXG4gICAgICAgICAgICBwcm9wTmFtZTogYCR7cHJvcE5hbWV9LiR7YXNzb2NpYXRpb25OYW1lfWBcbiAgICAgICAgICB9KVxuXG4gICAgICAgICAgaWYgKHZhbGlkYXRpb25SZXN1bHQpIHJldHVybiB2YWxpZGF0aW9uUmVzdWx0XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodGhpcy5fd2l0aExvYWRlZEF0dHJpYnV0ZXMgJiYgbW9kZWwuaXNQZXJzaXN0ZWQoKSkge1xuICAgICAgZm9yIChjb25zdCBhdHRyaWJ1dGVOYW1lIG9mIHRoaXMuX3dpdGhMb2FkZWRBdHRyaWJ1dGVzKSB7XG4gICAgICAgIGNvbnN0IHVuZGVyc2NvcmVBdHRyaWJ1dGVOYW1lID0gSW5mbGVjdGlvbi51bmRlcnNjb3JlKGF0dHJpYnV0ZU5hbWUpXG5cbiAgICAgICAgaWYgKCEodW5kZXJzY29yZUF0dHJpYnV0ZU5hbWUgaW4gbW9kZWwubW9kZWxEYXRhKSkge1xuICAgICAgICAgIHJldHVybiBuZXcgRXJyb3IoYFRoZSBhdHRyaWJ1dGUgJHthdHRyaWJ1dGVOYW1lfSB3YXMgcmVxdWlyZWQgdG8gYmUgbG9hZGVkIGluICR7cHJvcE5hbWV9IG9mIHRoZSAke21vZGVsLmNvbnN0cnVjdG9yLm5hbWV9IHR5cGUgYnV0IGl0IHdhc24ndGApXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB3aXRoTG9hZGVkQWJpbGl0aWVzIChhcnJheU9mQWJpbGl0aWVzKSB7XG4gICAgdGhpcy5fd2l0aExvYWRlZEFiaWxpdGllcyA9IGFycmF5T2ZBYmlsaXRpZXNcblxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICB3aXRoTG9hZGVkQXNzb2NpYXRpb24gKGFzc29jaWF0aW9uTmFtZSkge1xuICAgIGNvbnN0IGFzc29jaWF0aW9uTW9kZWxQcm9wVHlwZSA9IG5ldyBBcGlNYWtlck1vZGVsUHJvcFR5cGUoKVxuXG4gICAgYXNzb2NpYXRpb25Nb2RlbFByb3BUeXBlLnNldFByZXZpb3VzTW9kZWxQcm9wVHlwZSh0aGlzKVxuICAgIHRoaXMuX3dpdGhMb2FkZWRBc3NvY2lhdGlvbnNbYXNzb2NpYXRpb25OYW1lXSA9IGFzc29jaWF0aW9uTW9kZWxQcm9wVHlwZVxuXG4gICAgcmV0dXJuIGFzc29jaWF0aW9uTW9kZWxQcm9wVHlwZVxuICB9XG5cbiAgd2l0aExvYWRlZEF0dHJpYnV0ZXMgKGFycmF5T2ZBdHRyaWJ1dGVzKSB7XG4gICAgdGhpcy5fd2l0aExvYWRlZEF0dHJpYnV0ZXMgPSBhcnJheU9mQXR0cmlidXRlc1xuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFRQSxJQUFJLFFBQU8sV0FBVztBQUM5QixPQUFPQyxVQUFVLE1BQU0sWUFBWTtBQUVuQyxlQUFlLE1BQU1DLHFCQUFxQixDQUFDO0VBQ3pDLE9BQU9DLE9BQU9BLENBQUVDLFVBQVUsRUFBRTtJQUMxQixNQUFNQyxxQkFBcUIsR0FBRyxJQUFJSCxxQkFBcUIsQ0FBQyxDQUFDO0lBRXpERyxxQkFBcUIsQ0FBQ0MsYUFBYSxDQUFDRixVQUFVLENBQUM7SUFFL0MsT0FBT0MscUJBQXFCO0VBQzlCO0VBRUFFLFdBQVdBLENBQUEsRUFBSTtJQUNi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
101
+ //# sourceMappingURL=model-prop-type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-prop-type.js","names":["digg","Inflection","ApiMakerModelPropType","ofModel","modelClass","modelPropTypeInstance","withModelType","constructor","isNotRequired","bind","isRequired","_withLoadedAssociations","props","propName","_componentName","model","validate","Error","previous","_previousModelPropType","setPreviousModelPropType","previousModelPropType","_withModelType","name","_withLoadedAbilities","abilityName","underscoreAbilityName","underscore","abilities","associationName","associationModelPropType","underscoreAssociationName","relationshipsCache","associationCache","Array","isArray","preloadedModel","validationResult","_withLoadedAttributes","isPersisted","attributeName","underscoreAttributeName","modelData","withLoadedAbilities","arrayOfAbilities","withLoadedAssociation","withLoadedAttributes","arrayOfAttributes"],"sources":["../src/model-prop-type.js"],"sourcesContent":["import {digg} from \"diggerize\"\nimport Inflection from \"inflection\"\n\nexport default class ApiMakerModelPropType {\n static ofModel (modelClass) {\n const modelPropTypeInstance = new ApiMakerModelPropType()\n\n modelPropTypeInstance.withModelType(modelClass)\n\n return modelPropTypeInstance\n }\n\n constructor () {\n this.isNotRequired = this.isNotRequired.bind(this)\n this.isRequired = this.isRequired.bind(this)\n this._withLoadedAssociations = {}\n }\n\n isNotRequired (props, propName, _componentName) {\n const model = props[propName]\n\n if (model) {\n return this.validate({model, propName})\n }\n }\n\n isRequired (props, propName, _componentName) {\n const model = props[propName]\n\n if (!model) return new Error(`${propName} was required but not given`)\n\n return this.validate({model, propName})\n }\n\n previous () {\n if (!this._previousModelPropType) throw new Error(\"No previous model prop type set\")\n\n return this._previousModelPropType\n }\n\n setPreviousModelPropType (previousModelPropType) {\n this._previousModelPropType = previousModelPropType\n }\n\n withModelType (modelClass) {\n this._withModelType = modelClass\n }\n\n validate ({model, propName}) {\n if (this._withModelType && this._withModelType.name != model.constructor.name)\n return new Error(`Expected ${propName} to be of type ${this._withModelType.name} but it wasn't: ${model.constructor.name}`)\n\n if (this._withLoadedAbilities) {\n for (const abilityName of this._withLoadedAbilities) {\n const underscoreAbilityName = Inflection.underscore(abilityName)\n\n if (!(underscoreAbilityName in model.abilities))\n return new Error(`The ability ${abilityName} was required to be loaded in ${propName} of the ${model.constructor.name} type but it wasn't`)\n }\n }\n\n if (this._withLoadedAssociations) {\n for (const associationName in this._withLoadedAssociations) {\n const associationModelPropType = digg(this._withLoadedAssociations, associationName)\n const underscoreAssociationName = Inflection.underscore(associationName)\n\n if (!(underscoreAssociationName in model.relationshipsCache))\n return new Error(`The association ${associationName} was required to be loaded in ${propName} of the ${model.constructor.name} type but it wasn't`)\n\n const associationCache = digg(model.relationshipsCache, underscoreAssociationName)\n\n // Find a model to run sub-model-prop-type-validations on\n if (Array.isArray(associationCache)) {\n for (const preloadedModel of associationCache) {\n const validationResult = associationModelPropType.validate({\n model: preloadedModel,\n propName: `${propName}.${associationName}`\n })\n\n if (validationResult) return validationResult\n }\n } else if (associationCache) {\n const validationResult = associationModelPropType.validate({\n model: associationCache,\n propName: `${propName}.${associationName}`\n })\n\n if (validationResult) return validationResult\n }\n }\n }\n\n if (this._withLoadedAttributes && model.isPersisted()) {\n for (const attributeName of this._withLoadedAttributes) {\n const underscoreAttributeName = Inflection.underscore(attributeName)\n\n if (!(underscoreAttributeName in model.modelData)) {\n return new Error(`The attribute ${attributeName} was required to be loaded in ${propName} of the ${model.constructor.name} type but it wasn't`)\n }\n }\n }\n }\n\n withLoadedAbilities (arrayOfAbilities) {\n this._withLoadedAbilities = arrayOfAbilities\n\n return this\n }\n\n withLoadedAssociation (associationName) {\n const associationModelPropType = new ApiMakerModelPropType()\n\n associationModelPropType.setPreviousModelPropType(this)\n this._withLoadedAssociations[associationName] = associationModelPropType\n\n return associationModelPropType\n }\n\n withLoadedAttributes (arrayOfAttributes) {\n this._withLoadedAttributes = arrayOfAttributes\n\n return this\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -29,4 +29,4 @@ export default class ModelRecipesLoader {
29
29
  return this.modelClasses;
30
30
  }
31
31
  }
32
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJkaWdnIiwiZGlncyIsIk1vZGVsUmVjaXBlc01vZGVsTG9hZGVyIiwiTW9kZWxSZWNpcGVzTG9hZGVyIiwiY29uc3RydWN0b3IiLCJyZWNpcGVzIiwibW9kZWxDbGFzc2VzIiwiZ2V0TW9kZWxDbGFzcyIsIm5hbWUiLCJsb2FkIiwibW9kZWxzIiwibW9kZWxOYW1lIiwibW9kZWxSZWNpcGUiLCJtb2RlbENsYXNzTG9hZGVyIiwibW9kZWxSZWNpcGVzTG9hZGVyIiwibW9kZWxDbGFzcyIsImNyZWF0ZUNsYXNzIl0sInNvdXJjZXMiOlsiLi4vc3JjL21vZGVsLXJlY2lwZXMtbG9hZGVyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7ZGlnZywgZGlnc30gZnJvbSBcImRpZ2dlcml6ZVwiXG5pbXBvcnQgTW9kZWxSZWNpcGVzTW9kZWxMb2FkZXIgZnJvbSBcIi4vbW9kZWwtcmVjaXBlcy1tb2RlbC1sb2FkZXJcIlxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBNb2RlbFJlY2lwZXNMb2FkZXIge1xuICBjb25zdHJ1Y3RvciAoe3JlY2lwZXN9KSB7XG4gICAgdGhpcy5tb2RlbENsYXNzZXMgPSB7fVxuICAgIHRoaXMucmVjaXBlcyA9IHJlY2lwZXNcbiAgfVxuXG4gIGdldE1vZGVsQ2xhc3MgKG5hbWUpIHtcbiAgICByZXR1cm4gZGlnZyh0aGlzLCBcIm1vZGVsQ2xhc3Nlc1wiLCBuYW1lKVxuICB9XG5cbiAgbG9hZCAoKSB7XG4gICAgY29uc3Qge3JlY2lwZXN9ID0gZGlncyh0aGlzLCBcInJlY2lwZXNcIilcbiAgICBjb25zdCB7bW9kZWxzfSA9IGRpZ3MocmVjaXBlcywgXCJtb2RlbHNcIilcblxuICAgIGZvciAoY29uc3QgbW9kZWxOYW1lIGluIG1vZGVscykge1xuICAgICAgY29uc3QgbW9kZWxSZWNpcGUgPSBtb2RlbHNbbW9kZWxOYW1lXVxuICAgICAgY29uc3QgbW9kZWxDbGFzc0xvYWRlciA9IG5ldyBNb2RlbFJlY2lwZXNNb2RlbExvYWRlcih7bW9kZWxSZWNpcGUsIG1vZGVsUmVjaXBlc0xvYWRlcjogdGhpc30pXG4gICAgICBjb25zdCBtb2RlbENsYXNzID0gbW9kZWxDbGFzc0xvYWRlci5jcmVhdGVDbGFzcygpXG5cbiAgICAgIHRoaXMubW9kZWxDbGFzc2VzW21vZGVsTmFtZV0gPSBtb2RlbENsYXNzXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMubW9kZWxDbGFzc2VzXG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBUUEsSUFBSSxFQUFFQyxJQUFJLFFBQU8sV0FBVztBQUNwQyxPQUFPQyx1QkFBdUIsTUFBTSw4QkFBOEI7QUFFbEUsZUFBZSxNQUFNQyxrQkFBa0IsQ0FBQztFQUN0Q0MsV0FBV0EsQ0FBRTtJQUFDQztFQUFPLENBQUMsRUFBRTtJQUN0QixJQUFJLENBQUNDLFlBQVksR0FBRyxDQUFDLENBQUM7SUFDdEIsSUFBSSxDQUFDRCxPQUFPLEdBQUdBLE9BQU87RUFDeEI7RUFFQUUsYUFBYUEsQ0FBRUMsSUFBSSxFQUFFO0lBQ25CLE9BQU9SLElBQUksQ0FBQyxJQUFJLEVBQUUsY0FBYyxFQUFFUSxJQUFJLENBQUM7RUFDekM7RUFFQUMsSUFBSUEsQ0FBQSxFQUFJO0lBQ04sTUFBTTtNQUFDSjtJQUFPLENBQUMsR0FBR0osSUFBSSxDQUFDLElBQUksRUFBRSxTQUFTLENBQUM7SUFDdkMsTUFBTTtNQUFDUztJQUFNLENBQUMsR0FBR1QsSUFBSSxDQUFDSSxPQUFPLEVBQUUsUUFBUSxDQUFDO0lBRXhDLEtBQUssTUFBTU0sU0FBUyxJQUFJRCxNQUFNLEVBQUU7TUFDOUIsTUFBTUUsV0FBVyxHQUFHRixNQUFNLENBQUNDLFNBQVMsQ0FBQztNQUNyQyxNQUFNRSxnQkFBZ0IsR0FBRyxJQUFJWCx1QkFBdUIsQ0FBQztRQUFDVSxXQUFXO1FBQUVFLGtCQUFrQixFQUFFO01BQUksQ0FBQyxDQUFDO01BQzdGLE1BQU1DLFVBQVUsR0FBR0YsZ0JBQWdCLENBQUNHLFdBQVcsQ0FBQyxDQUFDO01BRWpELElBQUksQ0FBQ1YsWUFBWSxDQUFDSyxTQUFTLENBQUMsR0FBR0ksVUFBVTtJQUMzQztJQUVBLE9BQU8sSUFBSSxDQUFDVCxZQUFZO0VBQzFCO0FBQ0YiLCJpZ25vcmVMaXN0IjpbXX0=
32
+ //# sourceMappingURL=model-recipes-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-recipes-loader.js","names":["digg","digs","ModelRecipesModelLoader","ModelRecipesLoader","constructor","recipes","modelClasses","getModelClass","name","load","models","modelName","modelRecipe","modelClassLoader","modelRecipesLoader","modelClass","createClass"],"sources":["../src/model-recipes-loader.js"],"sourcesContent":["import {digg, digs} from \"diggerize\"\nimport ModelRecipesModelLoader from \"./model-recipes-model-loader\"\n\nexport default class ModelRecipesLoader {\n constructor ({recipes}) {\n this.modelClasses = {}\n this.recipes = recipes\n }\n\n getModelClass (name) {\n return digg(this, \"modelClasses\", name)\n }\n\n load () {\n const {recipes} = digs(this, \"recipes\")\n const {models} = digs(recipes, \"models\")\n\n for (const modelName in models) {\n const modelRecipe = models[modelName]\n const modelClassLoader = new ModelRecipesModelLoader({modelRecipe, modelRecipesLoader: this})\n const modelClass = modelClassLoader.createClass()\n\n this.modelClasses[modelName] = modelClass\n }\n\n return this.modelClasses\n }\n}\n"],"mappings":"AAAA,SAAQA,IAAI,EAAEC,IAAI,QAAO,WAAW;AACpC,OAAOC,uBAAuB,MAAM,8BAA8B;AAElE,eAAe,MAAMC,kBAAkB,CAAC;EACtCC,WAAWA,CAAE;IAACC;EAAO,CAAC,EAAE;IACtB,IAAI,CAACC,YAAY,GAAG,CAAC,CAAC;IACtB,IAAI,CAACD,OAAO,GAAGA,OAAO;EACxB;EAEAE,aAAaA,CAAEC,IAAI,EAAE;IACnB,OAAOR,IAAI,CAAC,IAAI,EAAE,cAAc,EAAEQ,IAAI,CAAC;EACzC;EAEAC,IAAIA,CAAA,EAAI;IACN,MAAM;MAACJ;IAAO,CAAC,GAAGJ,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC;IACvC,MAAM;MAACS;IAAM,CAAC,GAAGT,IAAI,CAACI,OAAO,EAAE,QAAQ,CAAC;IAExC,KAAK,MAAMM,SAAS,IAAID,MAAM,EAAE;MAC9B,MAAME,WAAW,GAAGF,MAAM,CAACC,SAAS,CAAC;MACrC,MAAME,gBAAgB,GAAG,IAAIX,uBAAuB,CAAC;QAACU,WAAW;QAAEE,kBAAkB,EAAE;MAAI,CAAC,CAAC;MAC7F,MAAMC,UAAU,GAAGF,gBAAgB,CAACG,WAAW,CAAC,CAAC;MAEjD,IAAI,CAACV,YAAY,CAACK,SAAS,CAAC,GAAGI,UAAU;IAC3C;IAEA,OAAO,IAAI,CAACT,YAAY;EAC1B;AACF","ignoreList":[]}
@@ -354,4 +354,4 @@ export default class ApiMakerModelRecipesModelLoader {
354
354
  };
355
355
  }
356
356
  }
357
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCYXNlTW9kZWwiLCJDb2xsZWN0aW9uIiwiZGlnZyIsImRpZ3MiLCJpbmZsZWN0aW9uIiwiQXBpTWFrZXJNb2RlbFJlY2lwZXNNb2RlbExvYWRlciIsImNvbnN0cnVjdG9yIiwibW9kZWxSZWNpcGUiLCJtb2RlbFJlY2lwZXNMb2FkZXIiLCJFcnJvciIsImNyZWF0ZUNsYXNzIiwiYXR0cmlidXRlcyIsImNvbGxlY3Rpb25fY29tbWFuZHMiLCJjb2xsZWN0aW9uQ29tbWFuZHMiLCJtZW1iZXJfY29tbWFuZHMiLCJtZW1iZXJDb21tYW5kcyIsIm1vZGVsX2NsYXNzX2RhdGEiLCJtb2RlbENsYXNzRGF0YSIsInJlbGF0aW9uc2hpcHMiLCJuYW1lIiwibW9kZWxDbGFzc05hbWUiLCJNb2RlbENsYXNzIiwiQXBpTWFrZXJNb2RlbCIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5Iiwid3JpdGFibGUiLCJ2YWx1ZSIsInByb3RvdHlwZSIsImFkZEF0dHJpYnV0ZU1ldGhvZHNUb01vZGVsQ2xhc3MiLCJhZGRSZWxhdGlvbnNoaXBzVG9Nb2RlbENsYXNzIiwiYWRkUXVlcnlDb21tYW5kc1RvTW9kZWxDbGFzcyIsImFkZE1lbWJlckNvbW1hbmRzVG9Nb2RlbENsYXNzIiwiYXR0cmlidXRlTmFtZSIsImF0dHJpYnV0ZSIsIm1ldGhvZE5hbWUiLCJjYW1lbGl6ZSIsImhhc01ldGhvZE5hbWUiLCJyZWFkQXR0cmlidXRlVW5kZXJzY29yZSIsIl9pc1ByZXNlbnQiLCJjb2xsZWN0aW9uQ29tbWFuZE5hbWUiLCJhcmdzIiwiY29tbWFuZEFyZ3MiLCJfY2FsbENvbGxlY3Rpb25Db21tYW5kIiwiY29tbWFuZCIsImNvbGxlY3Rpb25OYW1lIiwidHlwZSIsIm1lbWJlckNvbW1hbmROYW1lIiwiX2NhbGxNZW1iZXJDb21tYW5kIiwicHJpbWFyeUtleSIsInJlbGF0aW9uc2hpcE5hbWUiLCJyZWxhdGlvbnNoaXAiLCJhY3RpdmVfcmVjb3JkIiwiYWN0aXZlUmVjb3JkTmFtZSIsInByaW1hcnlfa2V5IiwiYWN0aXZlUmVjb3JkUHJpbWFyeUtleSIsImNsYXNzX25hbWUiLCJjbGFzc05hbWUiLCJmb3JlaWduX2tleSIsImZvcmVpZ25LZXkiLCJrbGFzcyIsImtsYXNzUHJpbWFyeUtleSIsIm9wdGlvbnMiLCJhcyIsIm9wdGlvbnNBcyIsIm9wdGlvbnNQcmltYXJ5S2V5IiwidGhyb3VnaCIsIm9wdGlvbnNUaHJvdWdoIiwicmVzb3VyY2VfbmFtZSIsInJlc291cmNlTmFtZSIsImxvYWRNZXRob2ROYW1lIiwibW9kZWxNZXRob2ROYW1lIiwiZGVmaW5lQmVsb25nc1RvR2V0TWV0aG9kIiwiZGVmaW5lQmVsb25nc1RvTG9hZE1ldGhvZCIsImRlZmluZUhhc01hbnlHZXRNZXRob2QiLCJkZWZpbmVIYXNNYW55TG9hZE1ldGhvZCIsImRlZmluZUhhc09uZUdldE1ldGhkIiwiZGVmaW5lSGFzT25lTG9hZE1ldGhvZCIsIl9yZWFkQmVsb25nc1RvUmVmbGVjdGlvbiIsInJlZmxlY3Rpb25OYW1lIiwiZm9yZWlnbktleU1ldGhvZE5hbWUiLCJpZCIsIm1vZGVsQ2xhc3MiLCJnZXRNb2RlbENsYXNzIiwicmFuc2FjayIsInJhbnNhY2tJZFNlYXJjaEtleSIsIl9sb2FkQmVsb25nc1RvUmVmbGVjdGlvbiIsIm1vZGVsIiwiaGFzTWFueVBhcmFtZXRlcnMiLCJtb2RlbE5hbWUiLCJxdWVyeVBhcmFtZXRlcnMiLCJwYXJhbXMiLCJyZWZsZWN0aW9uIiwicHJpbWFyeUtleUNvbHVtbk5hbWUiLCJwcmltYXJ5S2V5TWV0aG9kTmFtZSIsIl9sb2FkSGFzTWFueVJlZmxlY3Rpb24iLCJfcmVhZEhhc09uZVJlZmxlY3Rpb24iLCJfbG9hZEhhc09uZVJlZmxlY3Rpb24iXSwic291cmNlcyI6WyIuLi9zcmMvbW9kZWwtcmVjaXBlcy1tb2RlbC1sb2FkZXIuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEJhc2VNb2RlbCBmcm9tIFwiLi9iYXNlLW1vZGVsXCJcbmltcG9ydCBDb2xsZWN0aW9uIGZyb20gXCIuL2NvbGxlY3Rpb25cIlxuaW1wb3J0IHtkaWdnLCBkaWdzfSBmcm9tIFwiZGlnZ2VyaXplXCJcbmltcG9ydCAqIGFzIGluZmxlY3Rpb24gZnJvbSBcImluZmxlY3Rpb25cIlxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBBcGlNYWtlck1vZGVsUmVjaXBlc01vZGVsTG9hZGVyIHtcbiAgY29uc3RydWN0b3IgKHttb2RlbFJlY2lwZSwgbW9kZWxSZWNpcGVzTG9hZGVyfSkge1xuICAgIGlmICghbW9kZWxSZWNpcGUpIHRocm93IG5ldyBFcnJvcihcIk5vICdtb2RlbFJlY2lwZScgd2FzIGdpdmVuXCIpXG5cbiAgICB0aGlzLm1vZGVsUmVjaXBlc0xvYWRlciA9IG1vZGVsUmVjaXBlc0xvYWRlclxuICAgIHRoaXMubW9kZWxSZWNpcGUgPSBtb2RlbFJlY2lwZVxuICB9XG5cbiAgY3JlYXRlQ2xhc3MgKCkge1xuICAgIGNvbnN0IHttb2RlbFJlY2lwZX0gPSBkaWdzKHRoaXMsIFwibW9kZWxSZWNpcGVcIilcbiAgICBjb25zdCB7XG4gICAgICBhdHRyaWJ1dGVzLFxuICAgICAgY29sbGVjdGlvbl9jb21tYW5kczogY29sbGVjdGlvbkNvbW1hbmRzLFxuICAgICAgbWVtYmVyX2NvbW1hbmRzOiBtZW1iZXJDb21tYW5kcyxcbiAgICAgIG1vZGVsX2NsYXNzX2RhdGE6IG1vZGVsQ2xhc3NEYXRhLFxuICAgICAgcmVsYXRpb25zaGlwc1xuICAgIH0gPSBkaWdzKFxuICAgICAgbW9kZWxSZWNpcGUsXG4gICAgICBcImF0dHJpYnV0ZXNcIixcbiAgICAgIFwiY29sbGVjdGlvbl9jb21tYW5kc1wiLFxuICAgICAgXCJtZW1iZXJfY29tbWFuZHNcIixcbiAgICAgIFwibW9kZWxfY2xhc3NfZGF0YVwiLFxuICAgICAgXCJyZWxhdGlvbnNoaXBzXCJcbiAgICApXG4gICAgY29uc3Qge25hbWU6IG1vZGVsQ2xhc3NOYW1lfSA9IGRpZ3MobW9kZWxDbGFzc0RhdGEsIFwibmFtZVwiKVxuICAgIGNvbnN0IE1vZGVsQ2xhc3MgPSBjbGFzcyBBcGlNYWtlck1vZGVsIGV4dGVuZHMgQmFzZU1vZGVsIHsgfVxuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE1vZGVsQ2xhc3MsIFwibmFtZVwiLCB7d3JpdGFibGU6IGZhbHNlLCB2YWx1ZTogbW9kZWxDbGFzc05hbWV9KVxuXG4gICAgTW9kZWxDbGFzcy5wcm90b3R5cGUuY29uc3RydWN0b3IubW9kZWxDbGFzc0RhdGEgPSAoKSA9PiBtb2RlbENsYXNzRGF0YVxuXG4gICAgdGhpcy5hZGRBdHRyaWJ1dGVNZXRob2RzVG9Nb2RlbENsYXNzKE1vZGVsQ2xhc3MsIGF0dHJpYnV0ZXMpXG4gICAgdGhpcy5hZGRSZWxhdGlvbnNoaXBzVG9Nb2RlbENsYXNzKE1vZGVsQ2xhc3MsIG1vZGVsQ2xhc3NEYXRhLCByZWxhdGlvbnNoaXBzKVxuICAgIHRoaXMuYWRkUXVlcnlDb21tYW5kc1RvTW9kZWxDbGFzcyhNb2RlbENsYXNzLCBjb2xsZWN0aW9uQ29tbWFuZHMpXG4gICAgdGhpcy5hZGRNZW1iZXJDb21tYW5kc1RvTW9kZWxDbGFzcyhNb2RlbENsYXNzLCBtZW1iZXJDb21tYW5kcylcblxuICAgIHJldHVybiBNb2RlbENsYXNzXG4gIH1cblxuICBhZGRBdHRyaWJ1dGVNZXRob2RzVG9Nb2RlbENsYXNzIChNb2RlbENsYXNzLCBhdHRyaWJ1dGVzKSB7XG4gICAgZm9yIChjb25zdCBhdHRyaWJ1dGVOYW1lIGluIGF0dHJpYnV0ZXMpIHtcbiAgICAgIGNvbnN0IGF0dHJpYnV0ZSA9IGF0dHJpYnV0ZXNbYXR0cmlidXRlTmFtZV1cbiAgICAgIGNvbnN0IHtuYW1lfSA9IGRpZ3MoYXR0cmlidXRlLCBcIm5hbWVcIilcbiAgICAgIGNvbnN0IG1ldGhvZE5hbWUgPSBpbmZsZWN0aW9uLmNhbWVsaXplKG5hbWUsIHRydWUpXG4gICAgICBjb25zdCBoYXNNZXRob2ROYW1lID0gaW5mbGVjdGlvbi5jYW1lbGl6ZShgaGFzXyR7bmFtZX1gLCB0cnVlKVxuXG4gICAgICBNb2RlbENsYXNzLnByb3RvdHlwZVttZXRob2ROYW1lXSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmVhZEF0dHJpYnV0ZVVuZGVyc2NvcmUoYXR0cmlidXRlTmFtZSlcbiAgICAgIH1cblxuICAgICAgTW9kZWxDbGFzcy5wcm90b3R5cGVbaGFzTWV0aG9kTmFtZV0gPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpc1ttZXRob2ROYW1lXSgpXG5cbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzUHJlc2VudCh2YWx1ZSlcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBhZGRRdWVyeUNvbW1hbmRzVG9Nb2RlbENsYXNzIChNb2RlbENsYXNzLCBjb2xsZWN0aW9uQ29tbWFuZHMpIHtcbiAgICBmb3IgKGNvbnN0IGNvbGxlY3Rpb25Db21tYW5kTmFtZSBpbiBjb2xsZWN0aW9uQ29tbWFuZHMpIHtcbiAgICAgIGNvbnN0IG1ldGhvZE5hbWUgPSBpbmZsZWN0aW9uLmNhbWVsaXplKGNvbGxlY3Rpb25Db21tYW5kTmFtZSwgdHJ1ZSlcblxuICAgICAgTW9kZWxDbGFzc1ttZXRob2ROYW1lXSA9IGZ1bmN0aW9uIChhcmdzLCBjb21tYW5kQXJncyA9IHt9KSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jYWxsQ29sbGVjdGlvbkNvbW1hbmQoXG4gICAgICAgICAge1xuICAgICAgICAgICAgYXJncyxcbiAgICAgICAgICAgIGNvbW1hbmQ6IGNvbGxlY3Rpb25Db21tYW5kTmFtZSxcbiAgICAgICAgICAgIGNvbGxlY3Rpb25OYW1lOiBkaWdnKHRoaXMubW9kZWxDbGFzc0RhdGEoKSwgXCJjb2xsZWN0aW9uTmFtZVwiKSxcbiAgICAgICAgICAgIHR5cGU6IFwiY29sbGVjdGlvblwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBjb21tYW5kQXJnc1xuICAgICAgICApXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgYWRkTWVtYmVyQ29tbWFuZHNUb01vZGVsQ2xhc3MgKE1vZGVsQ2xhc3MsIG1lbWJlckNvbW1hbmRzKSB7XG4gICAgZm9yIChjb25zdCBtZW1iZXJDb21tYW5kTmFtZSBpbiBtZW1iZXJDb21tYW5kcykge1xuICAgICAgY29uc3QgbWV0aG9kTmFtZSA9IGluZmxlY3Rpb24uY2FtZWxpemUobWVtYmVyQ29tbWFuZE5hbWUsIHRydWUpXG5cbiAgICAgIE1vZGVsQ2xhc3MucHJvdG90eXBlW21ldGhvZE5hbWVdID0gZnVuY3Rpb24gKGFyZ3MsIGNvbW1hbmRBcmdzID0ge30pIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NhbGxNZW1iZXJDb21tYW5kKFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGFyZ3MsXG4gICAgICAgICAgICBjb21tYW5kOiBtZW1iZXJDb21tYW5kTmFtZSxcbiAgICAgICAgICAgIHByaW1hcnlLZXk6IHRoaXMucHJpbWFyeUtleSgpLFxuICAgICAgICAgICAgY29sbGVjdGlvbk5hbWU6IHRoaXMubW9kZWxDbGFzc0RhdGEoKS5jb2xsZWN0aW9uTmFtZSxcbiAgICAgICAgICAgIHR5cGU6IFwibWVtYmVyXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIGNvbW1hbmRBcmdzXG4gICAgICAgIClcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBhZGRSZWxhdGlvbnNoaXBzVG9Nb2RlbENsYXNzIChNb2RlbENsYXNzLCBtb2RlbENsYXNzRGF0YSwgcmVsYXRpb25zaGlwcykge1xuICAgIGNvbnN0IHttb2RlbFJlY2lwZXNMb2FkZXJ9ID0gZGlncyh0aGlzLCBcIm1vZGVsUmVjaXBlc0xvYWRlclwiKVxuXG4gICAgZm9yIChjb25zdCByZWxhdGlvbnNoaXBOYW1lIGluIHJlbGF0aW9uc2hpcHMpIHtcbiAgICAgIGNvbnN0IHJlbGF0aW9uc2hpcCA9IHJlbGF0aW9uc2hpcHNbcmVsYXRpb25zaGlwTmFtZV1cbiAgICAgIGNvbnN0IHtcbiAgICAgICAgYWN0aXZlX3JlY29yZDoge1xuICAgICAgICAgIG5hbWU6IGFjdGl2ZVJlY29yZE5hbWUsXG4gICAgICAgICAgcHJpbWFyeV9rZXk6IGFjdGl2ZVJlY29yZFByaW1hcnlLZXlcbiAgICAgICAgfSxcbiAgICAgICAgY2xhc3NfbmFtZTogY2xhc3NOYW1lLFxuICAgICAgICBmb3JlaWduX2tleTogZm9yZWlnbktleSxcbiAgICAgICAga2xhc3M6IHtwcmltYXJ5X2tleToga2xhc3NQcmltYXJ5S2V5fSxcbiAgICAgICAgb3B0aW9uczoge2FzOiBvcHRpb25zQXMsIHByaW1hcnlfa2V5OiBvcHRpb25zUHJpbWFyeUtleSwgdGhyb3VnaDogb3B0aW9uc1Rocm91Z2h9LFxuICAgICAgICByZXNvdXJjZV9uYW1lOiByZXNvdXJjZU5hbWUsXG4gICAgICAgIHR5cGVcbiAgICAgIH0gPSBkaWdzKFxuICAgICAgICByZWxhdGlvbnNoaXAsXG4gICAgICAgIFwiYWN0aXZlX3JlY29yZFwiLFxuICAgICAgICBcImNsYXNzX25hbWVcIixcbiAgICAgICAgXCJmb3JlaWduX2tleVwiLFxuICAgICAgICBcImtsYXNzXCIsXG4gICAgICAgIFwib3B0aW9uc1wiLFxuICAgICAgICBcInJlc291cmNlX25hbWVcIixcbiAgICAgICAgXCJ0eXBlXCJcbiAgICAgIClcbiAgICAgIGNvbnN0IGxvYWRNZXRob2ROYW1lID0gaW5mbGVjdGlvbi5jYW1lbGl6ZShgbG9hZF8ke3JlbGF0aW9uc2hpcE5hbWV9YCwgdHJ1ZSlcbiAgICAgIGNvbnN0IG1vZGVsTWV0aG9kTmFtZSA9IGluZmxlY3Rpb24uY2FtZWxpemUocmVsYXRpb25zaGlwTmFtZSwgdHJ1ZSlcblxuICAgICAgaWYgKHR5cGUgPT0gXCJiZWxvbmdzX3RvXCIpIHtcbiAgICAgICAgdGhpcy5kZWZpbmVCZWxvbmdzVG9HZXRNZXRob2Qoe01vZGVsQ2xhc3MsIG1vZGVsTWV0aG9kTmFtZSwgcmVsYXRpb25zaGlwTmFtZX0pXG4gICAgICAgIHRoaXMuZGVmaW5lQmVsb25nc1RvTG9hZE1ldGhvZCh7XG4gICAgICAgICAgZm9yZWlnbktleSxcbiAgICAgICAgICBrbGFzc1ByaW1hcnlLZXksXG4gICAgICAgICAgbG9hZE1ldGhvZE5hbWUsXG4gICAgICAgICAgTW9kZWxDbGFzcyxcbiAgICAgICAgICBtb2RlbFJlY2lwZXNMb2FkZXIsXG4gICAgICAgICAgb3B0aW9uc1ByaW1hcnlLZXksXG4gICAgICAgICAgcmVsYXRpb25zaGlwTmFtZSxcbiAgICAgICAgICByZXNvdXJjZU5hbWVcbiAgICAgICAgfSlcbiAgICAgIH0gZWxzZSBpZiAodHlwZSA9PSBcImhhc19tYW55XCIpIHtcbiAgICAgICAgdGhpcy5kZWZpbmVIYXNNYW55R2V0TWV0aG9kKHtcbiAgICAgICAgICBhY3RpdmVSZWNvcmROYW1lLFxuICAgICAgICAgIGNsYXNzTmFtZSxcbiAgICAgICAgICBmb3JlaWduS2V5LFxuICAgICAgICAgIE1vZGVsQ2xhc3MsXG4gICAgICAgICAgbW9kZWxNZXRob2ROYW1lLFxuICAgICAgICAgIG1vZGVsUmVjaXBlc0xvYWRlcixcbiAgICAgICAgICBvcHRpb25zQXMsXG4gICAgICAgICAgb3B0aW9uc1ByaW1hcnlLZXksXG4gICAgICAgICAgb3B0aW9uc1Rocm91Z2gsXG4gICAgICAgICAgcmVsYXRpb25zaGlwTmFtZSxcbiAgICAgICAgICByZXNvdXJjZU5hbWVcbiAgICAgICAgfSlcbiAgICAgICAgdGhpcy5kZWZpbmVIYXNNYW55TG9hZE1ldGhvZCh7Zm9yZWlnbktleSwgbG9hZE1ldGhvZE5hbWUsIE1vZGVsQ2xhc3MsIG1vZGVsQ2xhc3NEYXRhLCBtb2RlbFJlY2lwZXNMb2FkZXIsIHJlbGF0aW9uc2hpcE5hbWUsIHJlc291cmNlTmFtZX0pXG4gICAgICB9IGVsc2UgaWYgKHR5cGUgPT0gXCJoYXNfb25lXCIpIHtcbiAgICAgICAgdGhpcy5kZWZpbmVIYXNPbmVHZXRNZXRoZCh7TW9kZWxDbGFzcywgbW9kZWxNZXRob2ROYW1lLCByZWxhdGlvbnNoaXBOYW1lfSlcbiAgICAgICAgdGhpcy5kZWZpbmVIYXNPbmVMb2FkTWV0aG9kKHtcbiAgICAgICAgICBhY3RpdmVSZWNvcmRQcmltYXJ5S2V5LFxuICAgICAgICAgIGZvcmVpZ25LZXksXG4gICAgICAgICAgbG9hZE1ldGhvZE5hbWUsXG4gICAgICAgICAgTW9kZWxDbGFzcyxcbiAgICAgICAgICBtb2RlbENsYXNzRGF0YSxcbiAgICAgICAgICBtb2RlbFJlY2lwZXNMb2FkZXIsXG4gICAgICAgICAgb3B0aW9uc1Rocm91Z2gsXG4gICAgICAgICAgcmVsYXRpb25zaGlwTmFtZSxcbiAgICAgICAgICByZXNvdXJjZU5hbWVcbiAgICAgICAgfSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5rbm93biByZWxhdGlvbnNoaXAgdHlwZTogJHt0eXBlfWApXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZGVmaW5lQmVsb25nc1RvR2V0TWV0aG9kICh7TW9kZWxDbGFzcywgbW9kZWxNZXRob2ROYW1lLCByZWxhdGlvbnNoaXBOYW1lfSkge1xuICAgIE1vZGVsQ2xhc3MucHJvdG90eXBlW21vZGVsTWV0aG9kTmFtZV0gPSBmdW5jdGlvbiAoKSB7XG4gICAgICByZXR1cm4gdGhpcy5fcmVhZEJlbG9uZ3NUb1JlZmxlY3Rpb24oe3JlZmxlY3Rpb25OYW1lOiByZWxhdGlvbnNoaXBOYW1lfSlcbiAgICB9XG4gIH1cblxuICBkZWZpbmVCZWxvbmdzVG9Mb2FkTWV0aG9kICh7Zm9yZWlnbktleSwga2xhc3NQcmltYXJ5S2V5LCBNb2RlbENsYXNzLCBtb2RlbFJlY2lwZXNMb2FkZXIsIGxvYWRNZXRob2ROYW1lLCBvcHRpb25zUHJpbWFyeUtleSwgcmVsYXRpb25zaGlwTmFtZSwgcmVzb3VyY2VOYW1lfSkge1xuICAgIE1vZGVsQ2xhc3MucHJvdG90eXBlW2xvYWRNZXRob2ROYW1lXSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IGZvcmVpZ25LZXlNZXRob2ROYW1lID0gaW5mbGVjdGlvbi5jYW1lbGl6ZShmb3JlaWduS2V5LCB0cnVlKVxuXG4gICAgICBpZiAoIShmb3JlaWduS2V5TWV0aG9kTmFtZSBpbiB0aGlzKSkgdGhyb3cgbmV3IEVycm9yKGBGb3JlaWduIGtleSBtZXRob2Qgd2Fzbid0IGRlZmluZWQ6ICR7Zm9yZWlnbktleU1ldGhvZE5hbWV9YClcblxuICAgICAgY29uc3QgaWQgPSB0aGlzW2ZvcmVpZ25LZXlNZXRob2ROYW1lXSgpXG4gICAgICBjb25zdCBtb2RlbENsYXNzID0gbW9kZWxSZWNpcGVzTG9hZGVyLmdldE1vZGVsQ2xhc3MocmVzb3VyY2VOYW1lKVxuICAgICAgY29uc3QgcmFuc2FjayA9IHt9XG4gICAgICBjb25zdCByYW5zYWNrSWRTZWFyY2hLZXkgPSBgJHtvcHRpb25zUHJpbWFyeUtleSB8fCBrbGFzc1ByaW1hcnlLZXl9X2VxYFxuXG4gICAgICByYW5zYWNrW3JhbnNhY2tJZFNlYXJjaEtleV0gPSBpZFxuXG4gICAgICByZXR1cm4gdGhpcy5fbG9hZEJlbG9uZ3NUb1JlZmxlY3Rpb24oXG4gICAgICAgIHtyZWZsZWN0aW9uTmFtZTogcmVsYXRpb25zaGlwTmFtZSwgbW9kZWw6IHRoaXMsIG1vZGVsQ2xhc3N9LFxuICAgICAgICB7cmFuc2Fja31cbiAgICAgIClcbiAgICB9XG4gIH1cblxuICBkZWZpbmVIYXNNYW55R2V0TWV0aG9kICh7XG4gICAgYWN0aXZlUmVjb3JkTmFtZSxcbiAgICBjbGFzc05hbWUsXG4gICAgZm9yZWlnbktleSxcbiAgICBNb2RlbENsYXNzLFxuICAgIG1vZGVsTWV0aG9kTmFtZSxcbiAgICBtb2RlbFJlY2lwZXNMb2FkZXIsXG4gICAgb3B0aW9uc0FzLFxuICAgIG9wdGlvbnNQcmltYXJ5S2V5LFxuICAgIG9wdGlvbnNUaHJvdWdoLFxuICAgIHJlbGF0aW9uc2hpcE5hbWUsXG4gICAgcmVzb3VyY2VOYW1lXG4gIH0pIHtcbiAgICBNb2RlbENsYXNzLnByb3RvdHlwZVttb2RlbE1ldGhvZE5hbWVdID0gZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgaWQgPSB0aGlzLnByaW1hcnlLZXkoKVxuICAgICAgY29uc3QgbW9kZWxDbGFzcyA9IG1vZGVsUmVjaXBlc0xvYWRlci5nZXRNb2RlbENsYXNzKHJlc291cmNlTmFtZSlcbiAgICAgIGNvbnN0IHJhbnNhY2sgPSB7fVxuXG4gICAgICByYW5zYWNrW2Ake2ZvcmVpZ25LZXl9X2VxYF0gPSBpZFxuXG4gICAgICBjb25zdCBoYXNNYW55UGFyYW1ldGVycyA9IHtcbiAgICAgICAgcmVmbGVjdGlvbk5hbWU6IHJlbGF0aW9uc2hpcE5hbWUsXG4gICAgICAgIG1vZGVsOiB0aGlzLFxuICAgICAgICBtb2RlbE5hbWU6IGNsYXNzTmFtZSxcbiAgICAgICAgbW9kZWxDbGFzc1xuICAgICAgfVxuXG4gICAgICBsZXQgcXVlcnlQYXJhbWV0ZXJzXG5cbiAgICAgIGlmIChvcHRpb25zVGhyb3VnaCkge1xuICAgICAgICBxdWVyeVBhcmFtZXRlcnMgPSB7XG4gICAgICAgICAgcGFyYW1zOiB7XG4gICAgICAgICAgICB0aHJvdWdoOiB7XG4gICAgICAgICAgICAgIG1vZGVsOiBhY3RpdmVSZWNvcmROYW1lLFxuICAgICAgICAgICAgICBpZDogdGhpcy5wcmltYXJ5S2V5KCksXG4gICAgICAgICAgICAgIHJlZmxlY3Rpb246IHJlbGF0aW9uc2hpcE5hbWVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IHJhbnNhY2sgPSB7fVxuICAgICAgICBjb25zdCBwcmltYXJ5S2V5Q29sdW1uTmFtZSA9IG9wdGlvbnNQcmltYXJ5S2V5IHx8IGRpZ2coTW9kZWxDbGFzcy5tb2RlbENsYXNzRGF0YSgpLCBcInByaW1hcnlLZXlcIilcbiAgICAgICAgY29uc3QgcHJpbWFyeUtleU1ldGhvZE5hbWUgPSBpbmZsZWN0aW9uLmNhbWVsaXplKHByaW1hcnlLZXlDb2x1bW5OYW1lLCB0cnVlKVxuXG4gICAgICAgIGlmICghKHByaW1hcnlLZXlNZXRob2ROYW1lIGluIHRoaXMpKSB0aHJvdyBuZXcgRXJyb3IoYE5vIHN1Y2ggcHJpbWFyeSBrZXkgbWV0aG9kOiAke3ByaW1hcnlLZXlNZXRob2ROYW1lfWApXG5cbiAgICAgICAgcmFuc2Fja1tgJHtmb3JlaWduS2V5fV9lcWBdID0gdGhpc1twcmltYXJ5S2V5TWV0aG9kTmFtZV0oKVxuXG4gICAgICAgIGlmIChvcHRpb25zQXMpIHtcbiAgICAgICAgICByYW5zYWNrW2Ake29wdGlvbnNBc31fdHlwZV9lcWBdID0gYWN0aXZlUmVjb3JkTmFtZVxuICAgICAgICB9XG5cbiAgICAgICAgcXVlcnlQYXJhbWV0ZXJzID0ge3JhbnNhY2t9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBuZXcgQ29sbGVjdGlvbihoYXNNYW55UGFyYW1ldGVycywgcXVlcnlQYXJhbWV0ZXJzKVxuICAgIH1cbiAgfVxuXG4gIGRlZmluZUhhc01hbnlMb2FkTWV0aG9kICh7Zm9yZWlnbktleSwgbG9hZE1ldGhvZE5hbWUsIE1vZGVsQ2xhc3MsIG1vZGVsQ2xhc3NEYXRhLCBtb2RlbFJlY2lwZXNMb2FkZXIsIG9wdGlvbnNUaHJvdWdoLCByZWxhdGlvbnNoaXBOYW1lLCByZXNvdXJjZU5hbWV9KSB7XG4gICAgTW9kZWxDbGFzcy5wcm90b3R5cGVbbG9hZE1ldGhvZE5hbWVdID0gZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgaWQgPSB0aGlzLnByaW1hcnlLZXkoKVxuICAgICAgY29uc3QgbW9kZWxDbGFzcyA9IG1vZGVsUmVjaXBlc0xvYWRlci5nZXRNb2RlbENsYXNzKHJlc291cmNlTmFtZSlcblxuICAgICAgaWYgKG9wdGlvbnNUaHJvdWdoKSB7XG4gICAgICAgIGNvbnN0IG1vZGVsQ2xhc3NOYW1lID0gZGlnZyhtb2RlbENsYXNzRGF0YSwgXCJjbGFzc05hbWVcIilcblxuICAgICAgICByZXR1cm4gdGhpcy5fbG9hZEhhc01hbnlSZWZsZWN0aW9uKFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHJlZmxlY3Rpb25OYW1lOiByZWxhdGlvbnNoaXBOYW1lLFxuICAgICAgICAgICAgbW9kZWw6IHRoaXMsXG4gICAgICAgICAgICBtb2RlbENsYXNzXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBwYXJhbXM6IHtcbiAgICAgICAgICAgICAgdGhyb3VnaDoge1xuICAgICAgICAgICAgICAgIG1vZGVsOiBtb2RlbENsYXNzTmFtZSxcbiAgICAgICAgICAgICAgICBpZCxcbiAgICAgICAgICAgICAgICByZWZsZWN0aW9uOiByZWxhdGlvbnNoaXBOYW1lXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIClcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IHJhbnNhY2sgPSB7fVxuXG4gICAgICAgIHJhbnNhY2tbYCR7Zm9yZWlnbktleX1fZXFgXSA9IGlkXG5cbiAgICAgICAgcmV0dXJuIHRoaXMuX2xvYWRIYXNNYW55UmVmbGVjdGlvbihcbiAgICAgICAgICB7XG4gICAgICAgICAgICByZWZsZWN0aW9uTmFtZTogcmVsYXRpb25zaGlwTmFtZSxcbiAgICAgICAgICAgIG1vZGVsOiB0aGlzLFxuICAgICAgICAgICAgbW9kZWxDbGFzc1xuICAgICAgICAgIH0sXG4gICAgICAgICAge3JhbnNhY2t9XG4gICAgICAgIClcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBkZWZpbmVIYXNPbmVHZXRNZXRoZCAoe01vZGVsQ2xhc3MsIG1vZGVsTWV0aG9kTmFtZSwgcmVsYXRpb25zaGlwTmFtZX0pIHtcbiAgICBNb2RlbENsYXNzLnByb3RvdHlwZVttb2RlbE1ldGhvZE5hbWVdID0gZnVuY3Rpb24gKCkge1xuICAgICAgcmV0dXJuIHRoaXMuX3JlYWRIYXNPbmVSZWZsZWN0aW9uKHtyZWZsZWN0aW9uTmFtZTogcmVsYXRpb25zaGlwTmFtZX0pXG4gICAgfVxuICB9XG5cbiAgZGVmaW5lSGFzT25lTG9hZE1ldGhvZCAoe1xuICAgIGFjdGl2ZVJlY29yZFByaW1hcnlLZXksXG4gICAgZm9yZWlnbktleSxcbiAgICBsb2FkTWV0aG9kTmFtZSxcbiAgICBNb2RlbENsYXNzLFxuICAgIG1vZGVsQ2xhc3NEYXRhLFxuICAgIG1vZGVsUmVjaXBlc0xvYWRlcixcbiAgICBvcHRpb25zVGhyb3VnaCxcbiAgICByZWxhdGlvbnNoaXBOYW1lLFxuICAgIHJlc291cmNlTmFtZVxuICB9KSB7XG4gICAgTW9kZWxDbGFzcy5wcm90b3R5cGVbbG9hZE1ldGhvZE5hbWVdID0gZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgcHJpbWFyeUtleU1ldGhvZE5hbWUgPSBpbmZsZWN0aW9uLmNhbWVsaXplKGFjdGl2ZVJlY29yZFByaW1hcnlLZXksIHRydWUpXG5cbiAgICAgIGlmICghKHByaW1hcnlLZXlNZXRob2ROYW1lIGluIHRoaXMpKSB0aHJvdyBuZXcgRXJyb3IoYFByaW1hcnkga2V5IG1ldGhvZCB3YXNuJ3QgZGVmaW5lZDogJHtwcmltYXJ5S2V5TWV0aG9kTmFtZX1gKVxuXG4gICAgICBjb25zdCBpZCA9IHRoaXNbcHJpbWFyeUtleU1ldGhvZE5hbWVdKClcbiAgICAgIGNvbnN0IG1vZGVsQ2xhc3MgPSBtb2RlbFJlY2lwZXNMb2FkZXIuZ2V0TW9kZWxDbGFzcyhyZXNvdXJjZU5hbWUpXG5cbiAgICAgIGlmIChvcHRpb25zVGhyb3VnaCkge1xuICAgICAgICBjb25zdCBtb2RlbENsYXNzTmFtZSA9IGRpZ2cobW9kZWxDbGFzc0RhdGEsIFwiY2xhc3NOYW1lXCIpXG5cbiAgICAgICAgcmV0dXJuIHRoaXMuX2xvYWRIYXNPbmVSZWZsZWN0aW9uKFxuICAgICAgICAgIHtyZWZsZWN0aW9uTmFtZTogcmVsYXRpb25zaGlwTmFtZSwgbW9kZWw6IHRoaXMsIG1vZGVsQ2xhc3N9LFxuICAgICAgICAgIHtwYXJhbXM6IHt0aHJvdWdoOiB7bW9kZWw6IG1vZGVsQ2xhc3NOYW1lLCBpZCwgcmVmbGVjdGlvbjogcmVsYXRpb25zaGlwTmFtZX19fVxuICAgICAgICApXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCByYW5zYWNrID0ge31cblxuICAgICAgICByYW5zYWNrW2Ake2ZvcmVpZ25LZXl9X2VxYF0gPSBpZFxuXG4gICAgICAgIHJldHVybiB0aGlzLl9sb2FkSGFzT25lUmVmbGVjdGlvbihcbiAgICAgICAgICB7XG4gICAgICAgICAgICByZWZsZWN0aW9uTmFtZTogcmVsYXRpb25zaGlwTmFtZSxcbiAgICAgICAgICAgIG1vZGVsOiB0aGlzLFxuICAgICAgICAgICAgbW9kZWxDbGFzc1xuICAgICAgICAgIH0sXG4gICAgICAgICAge3JhbnNhY2t9XG4gICAgICAgIClcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsU0FBUyxNQUFNLGNBQWM7QUFDcEMsT0FBT0MsVUFBVSxNQUFNLGNBQWM7QUFDckMsU0FBUUMsSUFBSSxFQUFFQyxJQUFJLFFBQU8sV0FBVztBQUNwQyxPQUFPLEtBQUtDLFVBQVUsTUFBTSxZQUFZO0FBRXhDLGVBQWUsTUFBTUMsK0JBQStCLENBQUM7RUFDbkRDLFdBQVdBLENBQUU7SUFBQ0MsV0FBVztJQUFFQztFQUFrQixDQUFDLEVBQUU7SUFDOUMsSUFBSSxDQUFDRCxXQUFXLEVBQUUsTUFBTSxJQUFJRSxLQUFLLENBQUMsNEJBQTRCLENBQUM7SUFFL0QsSUFBSSxDQUFDRCxrQkFBa0IsR0FBR0Esa0JBQWtCO0lBQzVDLElBQUksQ0FBQ0QsV0FBVyxHQUFHQSxXQUFXO0VBQ2hDO0VBRUFHLFdBQVdBLENBQUEsRUFBSTtJQUNiLE1BQU07TUFBQ0g7SUFBVyxDQUFDLEdBQUdKLElBQUksQ0FBQyxJQUFJLEVBQUUsYUFBYSxDQUFDO0lBQy9DLE1BQU07TUFDSlEsVUFBVTtNQUNWQyxtQkFBbUIsRUFBRUMsa0JBQWtCO01BQ3ZDQyxlQUFlLEVBQUVDLGNBQWM7TUFDL0JDLGdCQUFnQixFQUFFQyxjQUFjO01BQ2hDQztJQUNGLENBQUMsR0FBR2YsSUFBSSxDQUNOSSxXQUFXLEVBQ1gsWUFBWSxFQUNaLHFCQUFxQixFQUNyQixpQkFBaUIsRUFDakIsa0JBQWtCLEVBQ2xCLGVBQ0YsQ0FBQztJQUNELE1BQU07TUFBQ1ksSUFBSSxFQUFFQztJQUFjLENBQUMsR0FBR2pC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
357
+ //# sourceMappingURL=model-recipes-model-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-recipes-model-loader.js","names":["BaseModel","Collection","digg","digs","inflection","ApiMakerModelRecipesModelLoader","constructor","modelRecipe","modelRecipesLoader","Error","createClass","attributes","collection_commands","collectionCommands","member_commands","memberCommands","model_class_data","modelClassData","relationships","name","modelClassName","ModelClass","ApiMakerModel","Object","defineProperty","writable","value","prototype","addAttributeMethodsToModelClass","addRelationshipsToModelClass","addQueryCommandsToModelClass","addMemberCommandsToModelClass","attributeName","attribute","methodName","camelize","hasMethodName","readAttributeUnderscore","_isPresent","collectionCommandName","args","commandArgs","_callCollectionCommand","command","collectionName","type","memberCommandName","_callMemberCommand","primaryKey","relationshipName","relationship","active_record","activeRecordName","primary_key","activeRecordPrimaryKey","class_name","className","foreign_key","foreignKey","klass","klassPrimaryKey","options","as","optionsAs","optionsPrimaryKey","through","optionsThrough","resource_name","resourceName","loadMethodName","modelMethodName","defineBelongsToGetMethod","defineBelongsToLoadMethod","defineHasManyGetMethod","defineHasManyLoadMethod","defineHasOneGetMethd","defineHasOneLoadMethod","_readBelongsToReflection","reflectionName","foreignKeyMethodName","id","modelClass","getModelClass","ransack","ransackIdSearchKey","_loadBelongsToReflection","model","hasManyParameters","modelName","queryParameters","params","reflection","primaryKeyColumnName","primaryKeyMethodName","_loadHasManyReflection","_readHasOneReflection","_loadHasOneReflection"],"sources":["../src/model-recipes-model-loader.js"],"sourcesContent":["import BaseModel from \"./base-model\"\nimport Collection from \"./collection\"\nimport {digg, digs} from \"diggerize\"\nimport * as inflection from \"inflection\"\n\nexport default class ApiMakerModelRecipesModelLoader {\n constructor ({modelRecipe, modelRecipesLoader}) {\n if (!modelRecipe) throw new Error(\"No 'modelRecipe' was given\")\n\n this.modelRecipesLoader = modelRecipesLoader\n this.modelRecipe = modelRecipe\n }\n\n createClass () {\n const {modelRecipe} = digs(this, \"modelRecipe\")\n const {\n attributes,\n collection_commands: collectionCommands,\n member_commands: memberCommands,\n model_class_data: modelClassData,\n relationships\n } = digs(\n modelRecipe,\n \"attributes\",\n \"collection_commands\",\n \"member_commands\",\n \"model_class_data\",\n \"relationships\"\n )\n const {name: modelClassName} = digs(modelClassData, \"name\")\n const ModelClass = class ApiMakerModel extends BaseModel { }\n\n Object.defineProperty(ModelClass, \"name\", {writable: false, value: modelClassName})\n\n ModelClass.prototype.constructor.modelClassData = () => modelClassData\n\n this.addAttributeMethodsToModelClass(ModelClass, attributes)\n this.addRelationshipsToModelClass(ModelClass, modelClassData, relationships)\n this.addQueryCommandsToModelClass(ModelClass, collectionCommands)\n this.addMemberCommandsToModelClass(ModelClass, memberCommands)\n\n return ModelClass\n }\n\n addAttributeMethodsToModelClass (ModelClass, attributes) {\n for (const attributeName in attributes) {\n const attribute = attributes[attributeName]\n const {name} = digs(attribute, \"name\")\n const methodName = inflection.camelize(name, true)\n const hasMethodName = inflection.camelize(`has_${name}`, true)\n\n ModelClass.prototype[methodName] = function () {\n return this.readAttributeUnderscore(attributeName)\n }\n\n ModelClass.prototype[hasMethodName] = function () {\n const value = this[methodName]()\n\n return this._isPresent(value)\n }\n }\n }\n\n addQueryCommandsToModelClass (ModelClass, collectionCommands) {\n for (const collectionCommandName in collectionCommands) {\n const methodName = inflection.camelize(collectionCommandName, true)\n\n ModelClass[methodName] = function (args, commandArgs = {}) {\n return this._callCollectionCommand(\n {\n args,\n command: collectionCommandName,\n collectionName: digg(this.modelClassData(), \"collectionName\"),\n type: \"collection\"\n },\n commandArgs\n )\n }\n }\n }\n\n addMemberCommandsToModelClass (ModelClass, memberCommands) {\n for (const memberCommandName in memberCommands) {\n const methodName = inflection.camelize(memberCommandName, true)\n\n ModelClass.prototype[methodName] = function (args, commandArgs = {}) {\n return this._callMemberCommand(\n {\n args,\n command: memberCommandName,\n primaryKey: this.primaryKey(),\n collectionName: this.modelClassData().collectionName,\n type: \"member\"\n },\n commandArgs\n )\n }\n }\n }\n\n addRelationshipsToModelClass (ModelClass, modelClassData, relationships) {\n const {modelRecipesLoader} = digs(this, \"modelRecipesLoader\")\n\n for (const relationshipName in relationships) {\n const relationship = relationships[relationshipName]\n const {\n active_record: {\n name: activeRecordName,\n primary_key: activeRecordPrimaryKey\n },\n class_name: className,\n foreign_key: foreignKey,\n klass: {primary_key: klassPrimaryKey},\n options: {as: optionsAs, primary_key: optionsPrimaryKey, through: optionsThrough},\n resource_name: resourceName,\n type\n } = digs(\n relationship,\n \"active_record\",\n \"class_name\",\n \"foreign_key\",\n \"klass\",\n \"options\",\n \"resource_name\",\n \"type\"\n )\n const loadMethodName = inflection.camelize(`load_${relationshipName}`, true)\n const modelMethodName = inflection.camelize(relationshipName, true)\n\n if (type == \"belongs_to\") {\n this.defineBelongsToGetMethod({ModelClass, modelMethodName, relationshipName})\n this.defineBelongsToLoadMethod({\n foreignKey,\n klassPrimaryKey,\n loadMethodName,\n ModelClass,\n modelRecipesLoader,\n optionsPrimaryKey,\n relationshipName,\n resourceName\n })\n } else if (type == \"has_many\") {\n this.defineHasManyGetMethod({\n activeRecordName,\n className,\n foreignKey,\n ModelClass,\n modelMethodName,\n modelRecipesLoader,\n optionsAs,\n optionsPrimaryKey,\n optionsThrough,\n relationshipName,\n resourceName\n })\n this.defineHasManyLoadMethod({foreignKey, loadMethodName, ModelClass, modelClassData, modelRecipesLoader, relationshipName, resourceName})\n } else if (type == \"has_one\") {\n this.defineHasOneGetMethd({ModelClass, modelMethodName, relationshipName})\n this.defineHasOneLoadMethod({\n activeRecordPrimaryKey,\n foreignKey,\n loadMethodName,\n ModelClass,\n modelClassData,\n modelRecipesLoader,\n optionsThrough,\n relationshipName,\n resourceName\n })\n } else {\n throw new Error(`Unknown relationship type: ${type}`)\n }\n }\n }\n\n defineBelongsToGetMethod ({ModelClass, modelMethodName, relationshipName}) {\n ModelClass.prototype[modelMethodName] = function () {\n return this._readBelongsToReflection({reflectionName: relationshipName})\n }\n }\n\n defineBelongsToLoadMethod ({foreignKey, klassPrimaryKey, ModelClass, modelRecipesLoader, loadMethodName, optionsPrimaryKey, relationshipName, resourceName}) {\n ModelClass.prototype[loadMethodName] = function () {\n const foreignKeyMethodName = inflection.camelize(foreignKey, true)\n\n if (!(foreignKeyMethodName in this)) throw new Error(`Foreign key method wasn't defined: ${foreignKeyMethodName}`)\n\n const id = this[foreignKeyMethodName]()\n const modelClass = modelRecipesLoader.getModelClass(resourceName)\n const ransack = {}\n const ransackIdSearchKey = `${optionsPrimaryKey || klassPrimaryKey}_eq`\n\n ransack[ransackIdSearchKey] = id\n\n return this._loadBelongsToReflection(\n {reflectionName: relationshipName, model: this, modelClass},\n {ransack}\n )\n }\n }\n\n defineHasManyGetMethod ({\n activeRecordName,\n className,\n foreignKey,\n ModelClass,\n modelMethodName,\n modelRecipesLoader,\n optionsAs,\n optionsPrimaryKey,\n optionsThrough,\n relationshipName,\n resourceName\n }) {\n ModelClass.prototype[modelMethodName] = function () {\n const id = this.primaryKey()\n const modelClass = modelRecipesLoader.getModelClass(resourceName)\n const ransack = {}\n\n ransack[`${foreignKey}_eq`] = id\n\n const hasManyParameters = {\n reflectionName: relationshipName,\n model: this,\n modelName: className,\n modelClass\n }\n\n let queryParameters\n\n if (optionsThrough) {\n queryParameters = {\n params: {\n through: {\n model: activeRecordName,\n id: this.primaryKey(),\n reflection: relationshipName\n }\n }\n }\n } else {\n const ransack = {}\n const primaryKeyColumnName = optionsPrimaryKey || digg(ModelClass.modelClassData(), \"primaryKey\")\n const primaryKeyMethodName = inflection.camelize(primaryKeyColumnName, true)\n\n if (!(primaryKeyMethodName in this)) throw new Error(`No such primary key method: ${primaryKeyMethodName}`)\n\n ransack[`${foreignKey}_eq`] = this[primaryKeyMethodName]()\n\n if (optionsAs) {\n ransack[`${optionsAs}_type_eq`] = activeRecordName\n }\n\n queryParameters = {ransack}\n }\n\n return new Collection(hasManyParameters, queryParameters)\n }\n }\n\n defineHasManyLoadMethod ({foreignKey, loadMethodName, ModelClass, modelClassData, modelRecipesLoader, optionsThrough, relationshipName, resourceName}) {\n ModelClass.prototype[loadMethodName] = function () {\n const id = this.primaryKey()\n const modelClass = modelRecipesLoader.getModelClass(resourceName)\n\n if (optionsThrough) {\n const modelClassName = digg(modelClassData, \"className\")\n\n return this._loadHasManyReflection(\n {\n reflectionName: relationshipName,\n model: this,\n modelClass\n },\n {\n params: {\n through: {\n model: modelClassName,\n id,\n reflection: relationshipName\n }\n }\n }\n )\n } else {\n const ransack = {}\n\n ransack[`${foreignKey}_eq`] = id\n\n return this._loadHasManyReflection(\n {\n reflectionName: relationshipName,\n model: this,\n modelClass\n },\n {ransack}\n )\n }\n }\n }\n\n defineHasOneGetMethd ({ModelClass, modelMethodName, relationshipName}) {\n ModelClass.prototype[modelMethodName] = function () {\n return this._readHasOneReflection({reflectionName: relationshipName})\n }\n }\n\n defineHasOneLoadMethod ({\n activeRecordPrimaryKey,\n foreignKey,\n loadMethodName,\n ModelClass,\n modelClassData,\n modelRecipesLoader,\n optionsThrough,\n relationshipName,\n resourceName\n }) {\n ModelClass.prototype[loadMethodName] = function () {\n const primaryKeyMethodName = inflection.camelize(activeRecordPrimaryKey, true)\n\n if (!(primaryKeyMethodName in this)) throw new Error(`Primary key method wasn't defined: ${primaryKeyMethodName}`)\n\n const id = this[primaryKeyMethodName]()\n const modelClass = modelRecipesLoader.getModelClass(resourceName)\n\n if (optionsThrough) {\n const modelClassName = digg(modelClassData, \"className\")\n\n return this._loadHasOneReflection(\n {reflectionName: relationshipName, model: this, modelClass},\n {params: {through: {model: modelClassName, id, reflection: relationshipName}}}\n )\n } else {\n const ransack = {}\n\n ransack[`${foreignKey}_eq`] = id\n\n return this._loadHasOneReflection(\n {\n reflectionName: relationshipName,\n model: this,\n modelClass\n },\n {ransack}\n )\n }\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -37,4 +37,4 @@ export default class ModelsResponseReader {
37
37
  return models;
38
38
  }
39
39
  }
40
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJpbmZsZWN0aW9uIiwibW9kZWxDbGFzc1JlcXVpcmUiLCJQcmVsb2FkZWQiLCJNb2RlbHNSZXNwb25zZVJlYWRlciIsImZpcnN0IiwicmVzcG9uc2UiLCJjb2xsZWN0aW9uIiwicmVhZGVyIiwibW9kZWxzIiwiY29uc3RydWN0b3IiLCJhcmdzIiwicHJlbG9hZGVkIiwibW9kZWxUeXBlIiwiZGF0YSIsIm1vZGVsQ2xhc3NOYW1lIiwiY2xhc3NpZnkiLCJNb2RlbENsYXNzIiwiY29sbGVjdGlvbk5hbWUiLCJtb2RlbENsYXNzRGF0YSIsIm1vZGVsSWQiLCJtb2RlbERhdGEiLCJFcnJvciIsIm1vZGVsIiwiaXNOZXdSZWNvcmQiLCJfcmVhZFByZWxvYWRlZFJlbGF0aW9uc2hpcHMiLCJwdXNoIl0sInNvdXJjZXMiOlsiLi4vc3JjL21vZGVscy1yZXNwb25zZS1yZWFkZXIuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgaW5mbGVjdGlvbiBmcm9tIFwiaW5mbGVjdGlvblwiXG5pbXBvcnQgbW9kZWxDbGFzc1JlcXVpcmUgZnJvbSBcIi4vbW9kZWwtY2xhc3MtcmVxdWlyZVwiXG5pbXBvcnQgUHJlbG9hZGVkIGZyb20gXCIuL3ByZWxvYWRlZFwiXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE1vZGVsc1Jlc3BvbnNlUmVhZGVyIHtcbiAgc3RhdGljIGZpcnN0IChyZXNwb25zZSkge1xuICAgIHJldHVybiBNb2RlbHNSZXNwb25zZVJlYWRlci5jb2xsZWN0aW9uKHJlc3BvbnNlKVswXVxuICB9XG5cbiAgc3RhdGljIGNvbGxlY3Rpb24gKHJlc3BvbnNlKSB7XG4gICAgY29uc3QgcmVhZGVyID0gbmV3IE1vZGVsc1Jlc3BvbnNlUmVhZGVyKHtyZXNwb25zZX0pXG4gICAgcmV0dXJuIHJlYWRlci5tb2RlbHMoKVxuICB9XG5cbiAgY29uc3RydWN0b3IgKGFyZ3MpIHtcbiAgICB0aGlzLmNvbGxlY3Rpb24gPSBhcmdzLmNvbGxlY3Rpb25cbiAgICB0aGlzLnJlc3BvbnNlID0gYXJncy5yZXNwb25zZVxuICB9XG5cbiAgbW9kZWxzICgpIHtcbiAgICBjb25zdCBwcmVsb2FkZWQgPSBuZXcgUHJlbG9hZGVkKHRoaXMucmVzcG9uc2UpXG4gICAgY29uc3QgbW9kZWxzID0gW11cblxuICAgIGZvciAoY29uc3QgbW9kZWxUeXBlIGluIHRoaXMucmVzcG9uc2UuZGF0YSkge1xuICAgICAgY29uc3QgbW9kZWxDbGFzc05hbWUgPSBpbmZsZWN0aW9uLmNsYXNzaWZ5KG1vZGVsVHlwZSlcbiAgICAgIGNvbnN0IE1vZGVsQ2xhc3MgPSBtb2RlbENsYXNzUmVxdWlyZShtb2RlbENsYXNzTmFtZSlcbiAgICAgIGNvbnN0IGNvbGxlY3Rpb25OYW1lID0gTW9kZWxDbGFzcy5tb2RlbENsYXNzRGF0YSgpLmNvbGxlY3Rpb25OYW1lXG5cbiAgICAgIGZvciAoY29uc3QgbW9kZWxJZCBvZiB0aGlzLnJlc3BvbnNlLmRhdGFbbW9kZWxUeXBlXSkge1xuICAgICAgICBjb25zdCBtb2RlbERhdGEgPSB0aGlzLnJlc3BvbnNlLnByZWxvYWRlZFtjb2xsZWN0aW9uTmFtZV1bbW9kZWxJZF1cblxuICAgICAgICBpZiAoIW1vZGVsRGF0YSlcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENvdWxkbid0IGZpbmQgbW9kZWwgZGF0YSBmb3IgJHtjb2xsZWN0aW9uTmFtZX0oJHttb2RlbElkfSlgKVxuXG4gICAgICAgIGNvbnN0IG1vZGVsID0gbmV3IE1vZGVsQ2xhc3Moe1xuICAgICAgICAgIGNvbGxlY3Rpb246IHRoaXMuY29sbGVjdGlvbixcbiAgICAgICAgICBkYXRhOiBtb2RlbERhdGEsXG4gICAgICAgICAgaXNOZXdSZWNvcmQ6IGZhbHNlXG4gICAgICAgIH0pXG5cbiAgICAgICAgbW9kZWwuX3JlYWRQcmVsb2FkZWRSZWxhdGlvbnNoaXBzKHByZWxvYWRlZClcbiAgICAgICAgbW9kZWxzLnB1c2gobW9kZWwpXG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG1vZGVsc1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBS0EsVUFBVSxNQUFNLFlBQVk7QUFDeEMsT0FBT0MsaUJBQWlCLE1BQU0sdUJBQXVCO0FBQ3JELE9BQU9DLFNBQVMsTUFBTSxhQUFhO0FBRW5DLGVBQWUsTUFBTUMsb0JBQW9CLENBQUM7RUFDeEMsT0FBT0MsS0FBS0EsQ0FBRUMsUUFBUSxFQUFFO0lBQ3RCLE9BQU9GLG9CQUFvQixDQUFDRyxVQUFVLENBQUNELFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztFQUNyRDtFQUVBLE9BQU9DLFVBQVVBLENBQUVELFFBQVEsRUFBRTtJQUMzQixNQUFNRSxNQUFNLEdBQUcsSUFBSUosb0JBQW9CLENBQUM7TUFBQ0U7SUFBUSxDQUFDLENBQUM7SUFDbkQsT0FBT0UsTUFBTSxDQUFDQyxNQUFNLENBQUMsQ0FBQztFQUN4QjtFQUVBQyxXQUFXQSxDQUFFQyxJQUFJLEVBQUU7SUFDakIsSUFBSSxDQUFDSixVQUFVLEdBQUdJLElBQUksQ0FBQ0osVUFBVTtJQUNqQyxJQUFJLENBQUNELFFBQVEsR0FBR0ssSUFBSSxDQUFDTCxRQUFRO0VBQy9CO0VBRUFHLE1BQU1BLENBQUEsRUFBSTtJQUNSLE1BQU1HLFNBQVMsR0FBRyxJQUFJVCxTQUFTLENBQUMsSUFBSSxDQUFDRyxRQUFRLENBQUM7SUFDOUMsTUFBTUcsTUFBTSxHQUFHLEVBQUU7SUFFakIsS0FBSyxNQUFNSSxTQUFTLElBQUksSUFBSSxDQUFDUCxRQUFRLENBQUNRLElBQUksRUFBRTtNQUMxQyxNQUFNQyxjQUFjLEdBQUdkLFVBQVUsQ0FBQ2UsUUFBUSxDQUFDSCxTQUFTLENBQUM7TUFDckQsTUFBTUksVUFBVSxHQUFHZixpQkFBaUIsQ0FBQ2EsY0FBYyxDQUFDO01BQ3BELE1BQU1HLGNBQWMsR0FBR0QsVUFBVSxDQUFDRSxjQUFjLENBQUMsQ0FBQyxDQUFDRCxjQUFjO01BRWpFLEtBQUssTUFBTUUsT0FBTyxJQUFJLElBQUksQ0FBQ2QsUUFBUSxDQUFDUSxJQUFJLENBQUNELFNBQVMsQ0FBQyxFQUFFO1FBQ25ELE1BQU1RLFNBQVMsR0FBRyxJQUFJLENBQUNmLFFBQVEsQ0FBQ00sU0FBUyxDQUFDTSxjQUFjLENBQUMsQ0FBQ0UsT0FBTyxDQUFDO1FBRWxFLElBQUksQ0FBQ0MsU0FBUyxFQUNaLE1BQU0sSUFBSUMsS0FBSyxDQUFDLGdDQUFnQ0osY0FBYyxJQUFJRSxPQUFPLEdBQUcsQ0FBQztRQUUvRSxNQUFNRyxLQUFLLEdBQUcsSUFBSU4sVUFBVSxDQUFDO1VBQzNCVixVQUFVLEVBQUUsSUFBSSxDQUFDQSxVQUFVO1VBQzNCTyxJQUFJLEVBQUVPLFNBQVM7VUFDZkcsV0FBVyxFQUFFO1FBQ2YsQ0FBQyxDQUFDO1FBRUZELEtBQUssQ0FBQ0UsMkJBQTJCLENBQUNiLFNBQVMsQ0FBQztRQUM1Q0gsTUFBTSxDQUFDaUIsSUFBSSxDQUFDSCxLQUFLLENBQUM7TUFDcEI7SUFDRjtJQUVBLE9BQU9kLE1BQU07RUFDZjtBQUNGIiwiaWdub3JlTGlzdCI6W119
40
+ //# sourceMappingURL=models-response-reader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models-response-reader.js","names":["inflection","modelClassRequire","Preloaded","ModelsResponseReader","first","response","collection","reader","models","constructor","args","preloaded","modelType","data","modelClassName","classify","ModelClass","collectionName","modelClassData","modelId","modelData","Error","model","isNewRecord","_readPreloadedRelationships","push"],"sources":["../src/models-response-reader.js"],"sourcesContent":["import * as inflection from \"inflection\"\nimport modelClassRequire from \"./model-class-require\"\nimport Preloaded from \"./preloaded\"\n\nexport default class ModelsResponseReader {\n static first (response) {\n return ModelsResponseReader.collection(response)[0]\n }\n\n static collection (response) {\n const reader = new ModelsResponseReader({response})\n return reader.models()\n }\n\n constructor (args) {\n this.collection = args.collection\n this.response = args.response\n }\n\n models () {\n const preloaded = new Preloaded(this.response)\n const models = []\n\n for (const modelType in this.response.data) {\n const modelClassName = inflection.classify(modelType)\n const ModelClass = modelClassRequire(modelClassName)\n const collectionName = ModelClass.modelClassData().collectionName\n\n for (const modelId of this.response.data[modelType]) {\n const modelData = this.response.preloaded[collectionName][modelId]\n\n if (!modelData)\n throw new Error(`Couldn't find model data for ${collectionName}(${modelId})`)\n\n const model = new ModelClass({\n collection: this.collection,\n data: modelData,\n isNewRecord: false\n })\n\n model._readPreloadedRelationships(preloaded)\n models.push(model)\n }\n }\n\n return models\n }\n}\n"],"mappings":"AAAA,OAAO,KAAKA,UAAU,MAAM,YAAY;AACxC,OAAOC,iBAAiB,MAAM,uBAAuB;AACrD,OAAOC,SAAS,MAAM,aAAa;AAEnC,eAAe,MAAMC,oBAAoB,CAAC;EACxC,OAAOC,KAAKA,CAAEC,QAAQ,EAAE;IACtB,OAAOF,oBAAoB,CAACG,UAAU,CAACD,QAAQ,CAAC,CAAC,CAAC,CAAC;EACrD;EAEA,OAAOC,UAAUA,CAAED,QAAQ,EAAE;IAC3B,MAAME,MAAM,GAAG,IAAIJ,oBAAoB,CAAC;MAACE;IAAQ,CAAC,CAAC;IACnD,OAAOE,MAAM,CAACC,MAAM,CAAC,CAAC;EACxB;EAEAC,WAAWA,CAAEC,IAAI,EAAE;IACjB,IAAI,CAACJ,UAAU,GAAGI,IAAI,CAACJ,UAAU;IACjC,IAAI,CAACD,QAAQ,GAAGK,IAAI,CAACL,QAAQ;EAC/B;EAEAG,MAAMA,CAAA,EAAI;IACR,MAAMG,SAAS,GAAG,IAAIT,SAAS,CAAC,IAAI,CAACG,QAAQ,CAAC;IAC9C,MAAMG,MAAM,GAAG,EAAE;IAEjB,KAAK,MAAMI,SAAS,IAAI,IAAI,CAACP,QAAQ,CAACQ,IAAI,EAAE;MAC1C,MAAMC,cAAc,GAAGd,UAAU,CAACe,QAAQ,CAACH,SAAS,CAAC;MACrD,MAAMI,UAAU,GAAGf,iBAAiB,CAACa,cAAc,CAAC;MACpD,MAAMG,cAAc,GAAGD,UAAU,CAACE,cAAc,CAAC,CAAC,CAACD,cAAc;MAEjE,KAAK,MAAME,OAAO,IAAI,IAAI,CAACd,QAAQ,CAACQ,IAAI,CAACD,SAAS,CAAC,EAAE;QACnD,MAAMQ,SAAS,GAAG,IAAI,CAACf,QAAQ,CAACM,SAAS,CAACM,cAAc,CAAC,CAACE,OAAO,CAAC;QAElE,IAAI,CAACC,SAAS,EACZ,MAAM,IAAIC,KAAK,CAAC,gCAAgCJ,cAAc,IAAIE,OAAO,GAAG,CAAC;QAE/E,MAAMG,KAAK,GAAG,IAAIN,UAAU,CAAC;UAC3BV,UAAU,EAAE,IAAI,CAACA,UAAU;UAC3BO,IAAI,EAAEO,SAAS;UACfG,WAAW,EAAE;QACf,CAAC,CAAC;QAEFD,KAAK,CAACE,2BAA2B,CAACb,SAAS,CAAC;QAC5CH,MAAM,CAACiB,IAAI,CAACH,KAAK,CAAC;MACpB;IACF;IAEA,OAAOd,MAAM;EACf;AACF","ignoreList":[]}
package/build/models.js CHANGED
@@ -5,4 +5,4 @@ const loader = new ModelRecipesLoader({
5
5
  });
6
6
  const result = loader.load();
7
7
  export default result;
8
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJtb2RlbFJlY2lwZXMiLCJNb2RlbFJlY2lwZXNMb2FkZXIiLCJsb2FkZXIiLCJyZWNpcGVzIiwicmVzdWx0IiwibG9hZCJdLCJzb3VyY2VzIjpbIi4uL3NyYy9tb2RlbHMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IG1vZGVsUmVjaXBlcyBmcm9tIFwibW9kZWwtcmVjaXBlcy5qc29uXCJcbmltcG9ydCBNb2RlbFJlY2lwZXNMb2FkZXIgZnJvbSBcIi4vbW9kZWwtcmVjaXBlcy1sb2FkZXJcIlxuXG5jb25zdCBsb2FkZXIgPSBuZXcgTW9kZWxSZWNpcGVzTG9hZGVyKHtyZWNpcGVzOiBtb2RlbFJlY2lwZXN9KVxuY29uc3QgcmVzdWx0ID0gbG9hZGVyLmxvYWQoKVxuXG5leHBvcnQgZGVmYXVsdCByZXN1bHRcbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsWUFBWSxNQUFNLG9CQUFvQjtBQUM3QyxPQUFPQyxrQkFBa0IsTUFBTSx3QkFBd0I7QUFFdkQsTUFBTUMsTUFBTSxHQUFHLElBQUlELGtCQUFrQixDQUFDO0VBQUNFLE9BQU8sRUFBRUg7QUFBWSxDQUFDLENBQUM7QUFDOUQsTUFBTUksTUFBTSxHQUFHRixNQUFNLENBQUNHLElBQUksQ0FBQyxDQUFDO0FBRTVCLGVBQWVELE1BQU0iLCJpZ25vcmVMaXN0IjpbXX0=
8
+ //# sourceMappingURL=models.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models.js","names":["modelRecipes","ModelRecipesLoader","loader","recipes","result","load"],"sources":["../src/models.js"],"sourcesContent":["import modelRecipes from \"model-recipes.json\"\nimport ModelRecipesLoader from \"./model-recipes-loader\"\n\nconst loader = new ModelRecipesLoader({recipes: modelRecipes})\nconst result = loader.load()\n\nexport default result\n"],"mappings":"AAAA,OAAOA,YAAY,MAAM,oBAAoB;AAC7C,OAAOC,kBAAkB,MAAM,wBAAwB;AAEvD,MAAMC,MAAM,GAAG,IAAID,kBAAkB,CAAC;EAACE,OAAO,EAAEH;AAAY,CAAC,CAAC;AAC9D,MAAMI,MAAM,GAAGF,MAAM,CAACG,IAAI,CAAC,CAAC;AAE5B,eAAeD,MAAM","ignoreList":[]}
@@ -75,4 +75,4 @@ export default class MoneyFormatter {
75
75
  return `${this.currency.code} `;
76
76
  }
77
77
  }
78
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJJMThuT25TdGVyb2lkcyIsIk1vbmV5IiwiZm9ybWF0TnVtYmVyIiwicmVwbGFjZWFsbCIsIk1vbmV5Rm9ybWF0dGVyIiwiZnJvbU1vbmV5IiwibW9uZXkiLCJhcmdzIiwiZm9ybWF0IiwidG9TdHJpbmciLCJzdHJpbmdUb0Zsb2F0IiwibW9uZXlTdHJpbmciLCJ1bmZvcm1hdHRlZCIsImdldEN1cnJlbnQiLCJ0IiwiZmxvYXQiLCJwYXJzZUZsb2F0IiwiYW1vdW50RnJvbU1vbmV5IiwiYW1vdW50IiwiZnJhY3Rpb25hbCIsIkVycm9yIiwiSlNPTiIsInN0cmluZ2lmeSIsImN1cnJlbmN5RnJvbU1vbmV5IiwiY3VycmVuY3lTdHJpbmciLCJjdXJyZW5jeSIsImlkIiwiaXNvX2NvZGUiLCJjb2RlIiwibW9uZXlDdXJyZW5jeSIsInRvVXBwZXJDYXNlIiwiaXNNb25leSIsInZhbHVlIiwiT2JqZWN0Iiwia2V5cyIsImxlbmd0aCIsImNvbnN0cnVjdG9yIiwidG9GaXhlZCIsImRlY2ltYWxEaWdpdHMiLCJmb3JtYXRPcHRpb25zIiwicHJlZml4IiwiZGVjaW1hbCIsImludGVnZXJTZXBhcmF0b3IiLCJkZWNpbWFscyIsImRlY2ltYWxfZGlnaXRzIiwiZXhjbHVkZUN1cnJlbmN5Il0sInNvdXJjZXMiOlsiLi4vc3JjL21vbmV5LWZvcm1hdHRlci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgSTE4bk9uU3Rlcm9pZHMgZnJvbSBcImkxOG4tb24tc3Rlcm9pZHNcIlxuaW1wb3J0IE1vbmV5IGZyb20gXCJqcy1tb25leVwiXG5pbXBvcnQgZm9ybWF0TnVtYmVyIGZyb20gXCJmb3JtYXQtbnVtYmVyXCJcbmltcG9ydCByZXBsYWNlYWxsIGZyb20gXCJyZXBsYWNlYWxsXCJcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTW9uZXlGb3JtYXR0ZXIge1xuICBzdGF0aWMgZnJvbU1vbmV5IChtb25leSwgYXJncyA9IHt9KSB7XG4gICAgcmV0dXJuIG5ldyBNb25leUZvcm1hdHRlcihtb25leSwgYXJncylcbiAgfVxuXG4gIHN0YXRpYyBmb3JtYXQgKG1vbmV5LCBhcmdzID0ge30pIHtcbiAgICByZXR1cm4gTW9uZXlGb3JtYXR0ZXIuZnJvbU1vbmV5KG1vbmV5LCBhcmdzKS50b1N0cmluZygpXG4gIH1cblxuICBzdGF0aWMgc3RyaW5nVG9GbG9hdCAobW9uZXlTdHJpbmcpIHtcbiAgICBsZXQgdW5mb3JtYXR0ZWQgPSByZXBsYWNlYWxsKEkxOG5PblN0ZXJvaWRzLmdldEN1cnJlbnQoKS50KFwibnVtYmVyLmN1cnJlbmN5LmZvcm1hdC5kZWxpbWl0ZXJcIiksIFwiXCIsIG1vbmV5U3RyaW5nKVxuXG4gICAgdW5mb3JtYXR0ZWQgPSByZXBsYWNlYWxsKEkxOG5PblN0ZXJvaWRzLmdldEN1cnJlbnQoKS50KFwibnVtYmVyLmN1cnJlbmN5LmZvcm1hdC5zZXBhcmF0b3JcIiksIFwiLlwiLCB1bmZvcm1hdHRlZClcbiAgICBjb25zdCBmbG9hdCA9IHBhcnNlRmxvYXQodW5mb3JtYXR0ZWQpXG5cbiAgICByZXR1cm4gZmxvYXRcbiAgfVxuXG4gIHN0YXRpYyBhbW91bnRGcm9tTW9uZXkgKG1vbmV5KSB7XG4gICAgaWYgKFwiYW1vdW50XCIgaW4gbW9uZXkpIHtcbiAgICAgIHJldHVybiBwYXJzZUZsb2F0KG1vbmV5LmFtb3VudClcbiAgICB9IGVsc2UgaWYgKFwiZnJhY3Rpb25hbFwiIGluIG1vbmV5KSB7XG4gICAgICByZXR1cm4gcGFyc2VGbG9hdChtb25leS5mcmFjdGlvbmFsKVxuICAgIH1cblxuICAgIHRocm93IG5ldyBFcnJvcihgQ291bGRuJ3QgZmlndXJlIG91dCBhbW91bnQgZnJvbTogJHtKU09OLnN0cmluZ2lmeShtb25leSwgbnVsbCwgMil9YClcbiAgfVxuXG4gIHN0YXRpYyBjdXJyZW5jeUZyb21Nb25leSAobW9uZXkpIHtcbiAgICBsZXQgY3VycmVuY3lTdHJpbmdcblxuICAgIGlmICh0eXBlb2YgbW9uZXkuY3VycmVuY3kgPT0gXCJzdHJpbmdcIikge1xuICAgICAgY3VycmVuY3lTdHJpbmcgPSBtb25leS5jdXJyZW5jeVxuICAgIH0gZWxzZSBpZiAodHlwZW9mIG1vbmV5LmN1cnJlbmN5LmlkID09IFwic3RyaW5nXCIpIHtcbiAgICAgIGN1cnJlbmN5U3RyaW5nID0gbW9uZXkuY3VycmVuY3kuaWRcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBtb25leS5jdXJyZW5jeS5pc29fY29kZSA9PSBcInN0cmluZ1wiKSB7XG4gICAgICBjdXJyZW5jeVN0cmluZyA9IG1vbmV5LmN1cnJlbmN5Lmlzb19jb2RlXG4gICAgfSBlbHNlIGlmICh0eXBlb2YgbW9uZXkuY3VycmVuY3kuY29kZSA9PSBcInN0cmluZ1wiKSB7XG4gICAgICBjdXJyZW5jeVN0cmluZyA9IG1vbmV5LmN1cnJlbmN5LmNvZGVcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBDb3VsZG4ndCBmaWd1cmUgb3V0IGN1cnJlbmN5IGZyb206ICR7SlNPTi5zdHJpbmdpZnkobW9uZXksIG51bGwsIDIpfWApXG4gICAgfVxuXG4gICAgY29uc3QgbW9uZXlDdXJyZW5jeSA9IE1vbmV5W2N1cnJlbmN5U3RyaW5nLnRvVXBwZXJDYXNlKCldXG5cbiAgICBpZiAoIW1vbmV5Q3VycmVuY3kpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQ291bGQgbm90IGZpbmQgY3VycmVuY3kgJHtKU09OLnN0cmluZ2lmeShtb25leSwgbnVsbCwgMil9YClcbiAgICB9XG5cbiAgICByZXR1cm4gbW9uZXlDdXJyZW5jeVxuICB9XG5cbiAgc3RhdGljIGlzTW9uZXkodmFsdWUpIHtcbiAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBNb25leSkgcmV0dXJuIHRydWVcblxuICAgIGlmICh0eXBlb2YgdmFsdWUgPT0gXCJvYmplY3RcIiAmJiB2YWx1ZSAmJiBPYmplY3Qua2V5cyh2YWx1ZSkubGVuZ3RoID09IDIgJiYgXCJhbW91bnRcIiBpbiB2YWx1ZSAmJiBcImN1cnJlbmN5XCIgaW4gdmFsdWUpXG4gICAgICByZXR1cm4gdHJ1ZVxuXG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cblxuICBjb25zdHJ1Y3RvciAobW9uZXksIGFyZ3MgPSB7fSkge1xuICAgIHRoaXMuYXJncyA9IGFyZ3NcbiAgICB0aGlzLm1vbmV5ID0gbW9uZXlcbiAgICB0aGlzLmFtb3VudCA9IE1vbmV5Rm9ybWF0dGVyLmFtb3VudEZyb21Nb25leShtb25leSlcbiAgICB0aGlzLmN1cnJlbmN5ID0gTW9uZXlGb3JtYXR0ZXIuY3VycmVuY3lGcm9tTW9uZXkobW9uZXkpXG4gIH1cblxuICB0b1N0cmluZyAoKSB7XG4gICAgY29uc3QgYW1vdW50ID0gKHRoaXMuYW1vdW50IC8gMTAwKS50b0ZpeGVkKHRoaXMuZGVjaW1hbERpZ2l0cygpKVxuICAgIGNvbnN0IGZvcm1hdE9wdGlvbnMgPSB7XG4gICAgICBwcmVmaXg6IHRoaXMucHJlZml4KCksXG4gICAgICBkZWNpbWFsOiBJMThuT25TdGVyb2lkcy5nZXRDdXJyZW50KCkudChcIm51bWJlci5jdXJyZW5jeS5mb3JtYXQuc2VwYXJhdG9yXCIpLFxuICAgICAgaW50ZWdlclNlcGFyYXRvcjogSTE4bk9uU3Rlcm9pZHMuZ2V0Q3VycmVudCgpLnQoXCJudW1iZXIuY3VycmVuY3kuZm9ybWF0LmRlbGltaXRlclwiKVxuICAgIH1cblxuICAgIHJldHVybiBmb3JtYXROdW1iZXIoZm9ybWF0T3B0aW9ucykoYW1vdW50KVxuICB9XG5cbiAgZGVjaW1hbERpZ2l0cyAoKSB7XG4gICAgaWYgKHRoaXMuYXJncy5kZWNpbWFscyAhPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHRoaXMuYXJncy5kZWNpbWFsc1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmN1cnJlbmN5LmRlY2ltYWxfZGlnaXRzXG4gIH1cblxuICBwcmVmaXggKCkge1xuICAgIGlmICh0aGlzLmFyZ3MuZXhjbHVkZUN1cnJlbmN5KSB7XG4gICAgICByZXR1cm4gXCJcIlxuICAgIH1cblxuICAgIHJldHVybiBgJHt0aGlzLmN1cnJlbmN5LmNvZGV9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
78
+ //# sourceMappingURL=money-formatter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"money-formatter.js","names":["I18nOnSteroids","Money","formatNumber","replaceall","MoneyFormatter","fromMoney","money","args","format","toString","stringToFloat","moneyString","unformatted","getCurrent","t","float","parseFloat","amountFromMoney","amount","fractional","Error","JSON","stringify","currencyFromMoney","currencyString","currency","id","iso_code","code","moneyCurrency","toUpperCase","isMoney","value","Object","keys","length","constructor","toFixed","decimalDigits","formatOptions","prefix","decimal","integerSeparator","decimals","decimal_digits","excludeCurrency"],"sources":["../src/money-formatter.js"],"sourcesContent":["import I18nOnSteroids from \"i18n-on-steroids\"\nimport Money from \"js-money\"\nimport formatNumber from \"format-number\"\nimport replaceall from \"replaceall\"\n\nexport default class MoneyFormatter {\n static fromMoney (money, args = {}) {\n return new MoneyFormatter(money, args)\n }\n\n static format (money, args = {}) {\n return MoneyFormatter.fromMoney(money, args).toString()\n }\n\n static stringToFloat (moneyString) {\n let unformatted = replaceall(I18nOnSteroids.getCurrent().t(\"number.currency.format.delimiter\"), \"\", moneyString)\n\n unformatted = replaceall(I18nOnSteroids.getCurrent().t(\"number.currency.format.separator\"), \".\", unformatted)\n const float = parseFloat(unformatted)\n\n return float\n }\n\n static amountFromMoney (money) {\n if (\"amount\" in money) {\n return parseFloat(money.amount)\n } else if (\"fractional\" in money) {\n return parseFloat(money.fractional)\n }\n\n throw new Error(`Couldn't figure out amount from: ${JSON.stringify(money, null, 2)}`)\n }\n\n static currencyFromMoney (money) {\n let currencyString\n\n if (typeof money.currency == \"string\") {\n currencyString = money.currency\n } else if (typeof money.currency.id == \"string\") {\n currencyString = money.currency.id\n } else if (typeof money.currency.iso_code == \"string\") {\n currencyString = money.currency.iso_code\n } else if (typeof money.currency.code == \"string\") {\n currencyString = money.currency.code\n } else {\n throw new Error(`Couldn't figure out currency from: ${JSON.stringify(money, null, 2)}`)\n }\n\n const moneyCurrency = Money[currencyString.toUpperCase()]\n\n if (!moneyCurrency) {\n throw new Error(`Could not find currency ${JSON.stringify(money, null, 2)}`)\n }\n\n return moneyCurrency\n }\n\n static isMoney(value) {\n if (value instanceof Money) return true\n\n if (typeof value == \"object\" && value && Object.keys(value).length == 2 && \"amount\" in value && \"currency\" in value)\n return true\n\n return false\n }\n\n constructor (money, args = {}) {\n this.args = args\n this.money = money\n this.amount = MoneyFormatter.amountFromMoney(money)\n this.currency = MoneyFormatter.currencyFromMoney(money)\n }\n\n toString () {\n const amount = (this.amount / 100).toFixed(this.decimalDigits())\n const formatOptions = {\n prefix: this.prefix(),\n decimal: I18nOnSteroids.getCurrent().t(\"number.currency.format.separator\"),\n integerSeparator: I18nOnSteroids.getCurrent().t(\"number.currency.format.delimiter\")\n }\n\n return formatNumber(formatOptions)(amount)\n }\n\n decimalDigits () {\n if (this.args.decimals !== null) {\n return this.args.decimals\n }\n\n return this.currency.decimal_digits\n }\n\n prefix () {\n if (this.args.excludeCurrency) {\n return \"\"\n }\n\n return `${this.currency.code} `\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +1,2 @@
1
1
  export default class NotLoadedError extends Error {}
2
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJOb3RMb2FkZWRFcnJvciIsIkVycm9yIl0sInNvdXJjZXMiOlsiLi4vc3JjL25vdC1sb2FkZWQtZXJyb3IuanMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQgY2xhc3MgTm90TG9hZGVkRXJyb3IgZXh0ZW5kcyBFcnJvciB7fVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxlQUFlLE1BQU1BLGNBQWMsU0FBU0MsS0FBSyxDQUFDIiwiaWdub3JlTGlzdCI6W119
2
+ //# sourceMappingURL=not-loaded-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"not-loaded-error.js","names":["NotLoadedError","Error"],"sources":["../src/not-loaded-error.js"],"sourcesContent":["export default class NotLoadedError extends Error {}\n"],"mappings":"AAAA,eAAe,MAAMA,cAAc,SAASC,KAAK,CAAC","ignoreList":[]}
package/build/params.js CHANGED
@@ -57,4 +57,4 @@ export default class Params {
57
57
  }
58
58
  }
59
59
  }
60
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb25maWciLCJmb3JtU2VyaWFsaXplIiwiSW5jb3Jwb3JhdG9yIiwicXMiLCJ1cmxFbmNvZGUiLCJQYXJhbXMiLCJwYXJzZSIsImdsb2JhbFRoaXMiLCJsb2NhdGlvbiIsInNlYXJjaCIsInN1YnN0ciIsImNoYW5nZSIsImdpdmVuIiwiaW5jb3Jwb3JhdG9yIiwib2JqZWN0cyIsInJlcGxhY2VBcnJheUlmRXhpc3RzIiwibWVyZ2UiLCJ3aXRoUGFyYW1zIiwicGFyYW1zIiwibmV3UGFyYW1zIiwic3RyaW5naWZ5IiwiZW5jb2RlciIsIm5ld1BhdGgiLCJwYXRobmFtZSIsImNoYW5nZVBhcmFtcyIsIm9wdHMiLCJhcHBIaXN0b3J5IiwiZ2V0SGlzdG9yeSIsIkFwcEhpc3RvcnkiLCJwdXNoIiwic2VyaWFsaXplRm9ybSIsImZvcm0iLCJoYXNoIiwiZW1wdHkiLCJzZXRVbmRlZmluZWQiLCJBcnJheSIsImlzQXJyYXkiLCJsZW5ndGgiLCJ1bmRlZmluZWQiLCJtYXAiLCJnaXZlbkkiLCJPYmplY3QiLCJrZXlzIiwibmV3R2l2ZW4iLCJrZXkiXSwic291cmNlcyI6WyIuLi9zcmMvcGFyYW1zLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBjb25maWcgZnJvbSBcIi4vY29uZmlnXCJcbmltcG9ydCBmb3JtU2VyaWFsaXplIGZyb20gXCJmb3JtLXNlcmlhbGl6ZVwiXG5pbXBvcnQgSW5jb3Jwb3JhdG9yIGZyb20gXCJpbmNvcnBvcmF0b3JcIlxuaW1wb3J0IHFzIGZyb20gXCJxc1wiXG5pbXBvcnQgdXJsRW5jb2RlIGZyb20gXCIuL3VybC1lbmNvZGVcIlxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBQYXJhbXMge1xuICBzdGF0aWMgcGFyc2UoKSB7XG4gICAgcmV0dXJuIHFzLnBhcnNlKGdsb2JhbFRoaXMubG9jYXRpb24uc2VhcmNoLnN1YnN0cigxKSlcbiAgfVxuXG4gIHN0YXRpYyBjaGFuZ2UoZ2l2ZW4pIHtcbiAgICBjb25zdCBpbmNvcnBvcmF0b3IgPSBuZXcgSW5jb3Jwb3JhdG9yKHtvYmplY3RzOiBbUGFyYW1zLnBhcnNlKCksIGdpdmVuXX0pXG5cbiAgICBpbmNvcnBvcmF0b3IucmVwbGFjZUFycmF5SWZFeGlzdHModHJ1ZSlcblxuICAgIHJldHVybiBpbmNvcnBvcmF0b3IubWVyZ2UoKVxuICB9XG5cbiAgc3RhdGljIHdpdGhQYXJhbXMocGFyYW1zKSB7XG4gICAgY29uc3QgbmV3UGFyYW1zID0gcXMuc3RyaW5naWZ5KHBhcmFtcywge2VuY29kZXI6IHVybEVuY29kZX0pXG4gICAgY29uc3QgbmV3UGF0aCA9IGAke2xvY2F0aW9uLnBhdGhuYW1lfT8ke25ld1BhcmFtc31gXG5cbiAgICByZXR1cm4gbmV3UGF0aFxuICB9XG5cbiAgc3RhdGljIGNoYW5nZVBhcmFtcyhnaXZlbiwgb3B0cyA9IHt9KSB7XG4gICAgY29uc3QgcGFyYW1zID0gUGFyYW1zLmNoYW5nZShnaXZlbilcbiAgICBjb25zdCBuZXdQYXJhbXMgPSBxcy5zdHJpbmdpZnkocGFyYW1zLCB7ZW5jb2RlcjogdXJsRW5jb2RlfSlcbiAgICBjb25zdCBuZXdQYXRoID0gYCR7bG9jYXRpb24ucGF0aG5hbWV9PyR7bmV3UGFyYW1zfWBcbiAgICBjb25zdCBhcHBIaXN0b3J5ID0gb3B0cy5hcHBIaXN0b3J5IHx8IGNvbmZpZy5nZXRIaXN0b3J5KCkgfHwgQXBwSGlzdG9yeVxuXG4gICAgYXBwSGlzdG9yeS5wdXNoKG5ld1BhdGgpXG4gIH1cblxuICBzdGF0aWMgc2VyaWFsaXplRm9ybShmb3JtKSB7XG4gICAgY29uc3QgaGFzaCA9IGZvcm1TZXJpYWxpemUoZm9ybSwge2VtcHR5OiB0cnVlLCBoYXNoOiB0cnVlfSlcbiAgICByZXR1cm4gUGFyYW1zLnNldFVuZGVmaW5lZChoYXNoKVxuICB9XG5cbiAgLy8gVGhpcyBpcyB1c2VkIHRvIHNldCBhbGwgZW1wdHkgdmFsdWVzIHRvICd1bmRlZmluZWQnIHdoaWNoIG1ha2VzIHFzIHJlbW92ZWQgdGhvc2UgZWxlbWVudHMgZnJvbSB0aGUgcXVlcnkgc3RyaW5nXG4gIHN0YXRpYyBzZXRVbmRlZmluZWQoZ2l2ZW4pIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShnaXZlbikpIHtcbiAgICAgIGlmIChnaXZlbi5sZW5ndGggPT0gMClcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuXG4gICAgICByZXR1cm4gZ2l2ZW4ubWFwKChnaXZlbkkpID0+IFBhcmFtcy5zZXRVbmRlZmluZWQoZ2l2ZW5JKSlcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBnaXZlbiA9PT0gXCJvYmplY3RcIikge1xuICAgICAgaWYgKE9iamVjdC5rZXlzKGdpdmVuKS5sZW5ndGggPT0gMClcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuXG4gICAgICBjb25zdCBuZXdHaXZlbiA9IHt9XG4gICAgICBmb3IgKGNvbnN0IGtleSBpbiBnaXZlbikge1xuICAgICAgICBuZXdHaXZlbltrZXldID0gUGFyYW1zLnNldFVuZGVmaW5lZChnaXZlbltrZXldKVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gbmV3R2l2ZW5cbiAgICB9IGVsc2UgaWYgKGdpdmVuID09PSBcIlwiKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBnaXZlblxuICAgIH1cbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxNQUFNLE1BQU0sVUFBVTtBQUM3QixPQUFPQyxhQUFhLE1BQU0sZ0JBQWdCO0FBQzFDLE9BQU9DLFlBQVksTUFBTSxjQUFjO0FBQ3ZDLE9BQU9DLEVBQUUsTUFBTSxJQUFJO0FBQ25CLE9BQU9DLFNBQVMsTUFBTSxjQUFjO0FBRXBDLGVBQWUsTUFBTUMsTUFBTSxDQUFDO0VBQzFCLE9BQU9DLEtBQUtBLENBQUEsRUFBRztJQUNiLE9BQU9ILEVBQUUsQ0FBQ0csS0FBSyxDQUFDQyxVQUFVLENBQUNDLFFBQVEsQ0FBQ0MsTUFBTSxDQUFDQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7RUFDdkQ7RUFFQSxPQUFPQyxNQUFNQSxDQUFD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
60
+ //# sourceMappingURL=params.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"params.js","names":["config","formSerialize","Incorporator","qs","urlEncode","Params","parse","globalThis","location","search","substr","change","given","incorporator","objects","replaceArrayIfExists","merge","withParams","params","newParams","stringify","encoder","newPath","pathname","changeParams","opts","appHistory","getHistory","AppHistory","push","serializeForm","form","hash","empty","setUndefined","Array","isArray","length","undefined","map","givenI","Object","keys","newGiven","key"],"sources":["../src/params.js"],"sourcesContent":["import config from \"./config\"\nimport formSerialize from \"form-serialize\"\nimport Incorporator from \"incorporator\"\nimport qs from \"qs\"\nimport urlEncode from \"./url-encode\"\n\nexport default class Params {\n static parse() {\n return qs.parse(globalThis.location.search.substr(1))\n }\n\n static change(given) {\n const incorporator = new Incorporator({objects: [Params.parse(), given]})\n\n incorporator.replaceArrayIfExists(true)\n\n return incorporator.merge()\n }\n\n static withParams(params) {\n const newParams = qs.stringify(params, {encoder: urlEncode})\n const newPath = `${location.pathname}?${newParams}`\n\n return newPath\n }\n\n static changeParams(given, opts = {}) {\n const params = Params.change(given)\n const newParams = qs.stringify(params, {encoder: urlEncode})\n const newPath = `${location.pathname}?${newParams}`\n const appHistory = opts.appHistory || config.getHistory() || AppHistory\n\n appHistory.push(newPath)\n }\n\n static serializeForm(form) {\n const hash = formSerialize(form, {empty: true, hash: true})\n return Params.setUndefined(hash)\n }\n\n // This is used to set all empty values to 'undefined' which makes qs removed those elements from the query string\n static setUndefined(given) {\n if (Array.isArray(given)) {\n if (given.length == 0)\n return undefined\n\n return given.map((givenI) => Params.setUndefined(givenI))\n } else if (typeof given === \"object\") {\n if (Object.keys(given).length == 0)\n return undefined\n\n const newGiven = {}\n for (const key in given) {\n newGiven[key] = Params.setUndefined(given[key])\n }\n\n return newGiven\n } else if (given === \"\") {\n return undefined\n } else {\n return given\n }\n }\n}\n"],"mappings":"AAAA,OAAOA,MAAM,MAAM,UAAU;AAC7B,OAAOC,aAAa,MAAM,gBAAgB;AAC1C,OAAOC,YAAY,MAAM,cAAc;AACvC,OAAOC,EAAE,MAAM,IAAI;AACnB,OAAOC,SAAS,MAAM,cAAc;AAEpC,eAAe,MAAMC,MAAM,CAAC;EAC1B,OAAOC,KAAKA,CAAA,EAAG;IACb,OAAOH,EAAE,CAACG,KAAK,CAACC,UAAU,CAACC,QAAQ,CAACC,MAAM,CAACC,MAAM,CAAC,CAAC,CAAC,CAAC;EACvD;EAEA,OAAOC,MAAMA,CAACC,KAAK,EAAE;IACnB,MAAMC,YAAY,GAAG,IAAIX,YAAY,CAAC;MAACY,OAAO,EAAE,CAACT,MAAM,CAACC,KAAK,CAAC,CAAC,EAAEM,KAAK;IAAC,CAAC,CAAC;IAEzEC,YAAY,CAACE,oBAAoB,CAAC,IAAI,CAAC;IAEvC,OAAOF,YAAY,CAACG,KAAK,CAAC,CAAC;EAC7B;EAEA,OAAOC,UAAUA,CAACC,MAAM,EAAE;IACxB,MAAMC,SAAS,GAAGhB,EAAE,CAACiB,SAAS,CAACF,MAAM,EAAE;MAACG,OAAO,EAAEjB;IAAS,CAAC,CAAC;IAC5D,MAAMkB,OAAO,GAAG,GAAGd,QAAQ,CAACe,QAAQ,IAAIJ,SAAS,EAAE;IAEnD,OAAOG,OAAO;EAChB;EAEA,OAAOE,YAAYA,CAACZ,KAAK,EAAEa,IAAI,GAAG,CAAC,CAAC,EAAE;IACpC,MAAMP,MAAM,GAAGb,MAAM,CAACM,MAAM,CAACC,KAAK,CAAC;IACnC,MAAMO,SAAS,GAAGhB,EAAE,CAACiB,SAAS,CAACF,MAAM,EAAE;MAACG,OAAO,EAAEjB;IAAS,CAAC,CAAC;IAC5D,MAAMkB,OAAO,GAAG,GAAGd,QAAQ,CAACe,QAAQ,IAAIJ,SAAS,EAAE;IACnD,MAAMO,UAAU,GAAGD,IAAI,CAACC,UAAU,IAAI1B,MAAM,CAAC2B,UAAU,CAAC,CAAC,IAAIC,UAAU;IAEvEF,UAAU,CAACG,IAAI,CAACP,OAAO,CAAC;EAC1B;EAEA,OAAOQ,aAAaA,CAACC,IAAI,EAAE;IACzB,MAAMC,IAAI,GAAG/B,aAAa,CAAC8B,IAAI,EAAE;MAACE,KAAK,EAAE,IAAI;MAAED,IAAI,EAAE;IAAI,CAAC,CAAC;IAC3D,OAAO3B,MAAM,CAAC6B,YAAY,CAACF,IAAI,CAAC;EAClC;;EAEA;EACA,OAAOE,YAAYA,CAACtB,KAAK,EAAE;IACzB,IAAIuB,KAAK,CAACC,OAAO,CAACxB,KAAK,CAAC,EAAE;MACxB,IAAIA,KAAK,CAACyB,MAAM,IAAI,CAAC,EACnB,OAAOC,SAAS;MAElB,OAAO1B,KAAK,CAAC2B,GAAG,CAAEC,MAAM,IAAKnC,MAAM,CAAC6B,YAAY,CAACM,MAAM,CAAC,CAAC;IAC3D,CAAC,MAAM,IAAI,OAAO5B,KAAK,KAAK,QAAQ,EAAE;MACpC,IAAI6B,MAAM,CAACC,IAAI,CAAC9B,KAAK,CAAC,CAACyB,MAAM,IAAI,CAAC,EAChC,OAAOC,SAAS;MAElB,MAAMK,QAAQ,GAAG,CAAC,CAAC;MACnB,KAAK,MAAMC,GAAG,IAAIhC,KAAK,EAAE;QACvB+B,QAAQ,CAACC,GAAG,CAAC,GAAGvC,MAAM,CAAC6B,YAAY,CAACtB,KAAK,CAACgC,GAAG,CAAC,CAAC;MACjD;MAEA,OAAOD,QAAQ;IACjB,CAAC,MAAM,IAAI/B,KAAK,KAAK,EAAE,EAAE;MACvB,OAAO0B,SAAS;IAClB,CAAC,MAAM;MACL,OAAO1B,KAAK;IACd;EACF;AACF","ignoreList":[]}
@@ -35,4 +35,4 @@ export default class ApiMakerPreloaded {
35
35
  return this.preloaded[type][id];
36
36
  }
37
37
  }
38
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJpbmZsZWN0aW9uIiwibW9kZWxDbGFzc1JlcXVpcmUiLCJBcGlNYWtlclByZWxvYWRlZCIsImNvbnN0cnVjdG9yIiwicmVzcG9uc2UiLCJsb2FkUHJlbG9hZGVkTW9kZWxzIiwicHJlbG9hZGVkIiwicHJlbG9hZGVkVHlwZSIsIm1vZGVsQ2xhc3NOYW1lIiwiY2xhc3NpZnkiLCJNb2RlbENsYXNzIiwicHJlbG9hZGVkSWQiLCJwcmVsb2FkZWREYXRhIiwibW9kZWwiLCJkYXRhIiwiaXNOZXdSZWNvcmQiLCJtb2RlbFR5cGUiLCJtb2RlbElkIiwiX3JlYWRQcmVsb2FkZWRSZWxhdGlvbnNoaXBzIiwiZ2V0TW9kZWwiLCJ0eXBlIiwiaWQiLCJFcnJvciJdLCJzb3VyY2VzIjpbIi4uL3NyYy9wcmVsb2FkZWQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgaW5mbGVjdGlvbiBmcm9tIFwiaW5mbGVjdGlvblwiXG5pbXBvcnQgbW9kZWxDbGFzc1JlcXVpcmUgZnJvbSBcIi4vbW9kZWwtY2xhc3MtcmVxdWlyZVwiXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEFwaU1ha2VyUHJlbG9hZGVkIHtcbiAgY29uc3RydWN0b3IgKHJlc3BvbnNlKSB7XG4gICAgdGhpcy5yZXNwb25zZSA9IHJlc3BvbnNlXG4gICAgdGhpcy5sb2FkUHJlbG9hZGVkTW9kZWxzKClcbiAgfVxuXG4gIGxvYWRQcmVsb2FkZWRNb2RlbHMgKCkge1xuICAgIHRoaXMucHJlbG9hZGVkID0ge31cblxuICAgIGZvciAoY29uc3QgcHJlbG9hZGVkVHlwZSBpbiB0aGlzLnJlc3BvbnNlLnByZWxvYWRlZCkge1xuICAgICAgY29uc3QgbW9kZWxDbGFzc05hbWUgPSBpbmZsZWN0aW9uLmNsYXNzaWZ5KHByZWxvYWRlZFR5cGUpXG4gICAgICBjb25zdCBNb2RlbENsYXNzID0gbW9kZWxDbGFzc1JlcXVpcmUobW9kZWxDbGFzc05hbWUpXG5cbiAgICAgIGZvciAoY29uc3QgcHJlbG9hZGVkSWQgaW4gdGhpcy5yZXNwb25zZS5wcmVsb2FkZWRbcHJlbG9hZGVkVHlwZV0pIHtcbiAgICAgICAgY29uc3QgcHJlbG9hZGVkRGF0YSA9IHRoaXMucmVzcG9uc2UucHJlbG9hZGVkW3ByZWxvYWRlZFR5cGVdW3ByZWxvYWRlZElkXVxuICAgICAgICBjb25zdCBtb2RlbCA9IG5ldyBNb2RlbENsYXNzKHtkYXRhOiBwcmVsb2FkZWREYXRhLCBpc05ld1JlY29yZDogZmFsc2V9KVxuXG4gICAgICAgIGlmICghdGhpcy5wcmVsb2FkZWRbcHJlbG9hZGVkVHlwZV0pIHtcbiAgICAgICAgICB0aGlzLnByZWxvYWRlZFtwcmVsb2FkZWRUeXBlXSA9IHt9XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnByZWxvYWRlZFtwcmVsb2FkZWRUeXBlXVtwcmVsb2FkZWRJZF0gPSBtb2RlbFxuICAgICAgfVxuICAgIH1cblxuICAgIGZvciAoY29uc3QgbW9kZWxUeXBlIGluIHRoaXMucHJlbG9hZGVkKSB7XG4gICAgICBmb3IgKGNvbnN0IG1vZGVsSWQgaW4gdGhpcy5wcmVsb2FkZWRbbW9kZWxUeXBlXSkge1xuICAgICAgICB0aGlzLnByZWxvYWRlZFttb2RlbFR5cGVdW21vZGVsSWRdLl9yZWFkUHJlbG9hZGVkUmVsYXRpb25zaGlwcyh0aGlzKVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGdldE1vZGVsICh0eXBlLCBpZCkge1xuICAgIGlmICghdGhpcy5wcmVsb2FkZWRbdHlwZV0gfHwgIXRoaXMucHJlbG9hZGVkW3R5cGVdW2lkXSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBDb3VsZCBub3QgZmluZCBhICR7dHlwZX0gYnkgdGhhdCBJRDogJHtpZH1gKVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnByZWxvYWRlZFt0eXBlXVtpZF1cbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUtBLFVBQVUsTUFBTSxZQUFZO0FBQ3hDLE9BQU9DLGlCQUFpQixNQUFNLHVCQUF1QjtBQUVyRCxlQUFlLE1BQU1DLGlCQUFpQixDQUFDO0VBQ3JDQyxXQUFXQSxDQUFFQyxRQUFRLEVBQUU7SUFDckIsSUFBSSxDQUFDQSxRQUFRLEdBQUdBLFFBQVE7SUFDeEIsSUFBSSxDQUFDQyxtQkFBbUIsQ0FBQyxDQUFDO0VBQzVCO0VBRUFBLG1CQUFtQkEsQ0FBQSxFQUFJO0lBQ3JCLElBQUksQ0FBQ0MsU0FBUyxHQUFHLENBQUMsQ0FBQztJQUVuQixLQUFLLE1BQU1DLGFBQWEsSUFBSSxJQUFJLENBQUNILFFBQVEsQ0FBQ0UsU0FBUyxFQUFFO01BQ25ELE1BQU1FLGNBQWMsR0FBR1IsVUFBVSxDQUFDUyxRQUFRLENBQUNGLGFBQWEsQ0FBQztNQUN6RCxNQUFNRyxVQUFVLEdBQUdULGlCQUFpQixDQUFDTyxjQUFjLENBQUM7TUFFcEQsS0FBSyxNQUFNRyxXQUFXLElBQUksSUFBSSxDQUFDUCxRQUFRLENBQUNFLFNBQVMsQ0FBQ0MsYUFBYSxDQUFDLEVBQUU7UUFDaEUsTUFBTUssYUFBYSxHQUFHLElBQUksQ0FBQ1IsUUFBUSxDQUFDRSxTQUFTLENBQUNDLGFBQWEsQ0FBQyxDQUFDSSxXQUFXLENBQUM7UUFDekUsTUFBTUUsS0FBSyxHQUFHLElBQUlILFVBQVUsQ0FBQztVQUFDSSxJQUFJLEVBQUVGLGFBQWE7VUFBRUcsV0FBVyxFQUFFO1FBQUssQ0FBQyxDQUFDO1FBRXZFLElBQUksQ0FBQyxJQUFJLENBQUNULFNBQVMsQ0FBQ0MsYUFBYSxDQUFDLEVBQUU7VUFDbEMsSUFBSSxDQUFDRCxTQUFTLENBQUNDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNwQztRQUVBLElBQUksQ0FBQ0QsU0FBUyxDQUFDQyxhQUFhLENBQUMsQ0FBQ0ksV0FBVyxDQUFDLEdBQUdFLEtBQUs7TUFDcEQ7SUFDRjtJQUVBLEtBQUssTUFBTUcsU0FBUyxJQUFJLElBQUksQ0FBQ1YsU0FBUyxFQUFFO01BQ3RDLEtBQUssTUFBTVcsT0FBTyxJQUFJLElBQUksQ0FBQ1gsU0FBUyxDQUFDVSxTQUFTLENBQUMsRUFBRTtRQUMvQyxJQUFJLENBQUNWLFNBQVMsQ0FBQ1UsU0FBUyxDQUFDLENBQUNDLE9BQU8sQ0FBQyxDQUFDQywyQkFBMkIsQ0FBQyxJQUFJLENBQUM7TUFDdEU7SUFDRjtFQUNGO0VBRUFDLFFBQVFBLENBQUVDLElBQUksRUFBRUMsRUFBRSxFQUFFO0lBQ2xCLElBQUksQ0FBQyxJQUFJLENBQUNmLFNBQVMsQ0FBQ2MsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUNkLFNBQVMsQ0FBQ2MsSUFBSSxDQUFDLENBQUNDLEVBQUUsQ0FBQyxFQUFFO01BQ3RELE1BQU0sSUFBSUMsS0FBSyxDQUFDLG9CQUFvQkYsSUFBSSxnQkFBZ0JDLEVBQUUsRUFBRSxDQUFDO0lBQy9EO0lBRUEsT0FBTyxJQUFJLENBQUNmLFNBQVMsQ0FBQ2MsSUFBSSxDQUFDLENBQUNDLEVBQUUsQ0FBQztFQUNqQztBQUNGIiwiaWdub3JlTGlzdCI6W119
38
+ //# sourceMappingURL=preloaded.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preloaded.js","names":["inflection","modelClassRequire","ApiMakerPreloaded","constructor","response","loadPreloadedModels","preloaded","preloadedType","modelClassName","classify","ModelClass","preloadedId","preloadedData","model","data","isNewRecord","modelType","modelId","_readPreloadedRelationships","getModel","type","id","Error"],"sources":["../src/preloaded.js"],"sourcesContent":["import * as inflection from \"inflection\"\nimport modelClassRequire from \"./model-class-require\"\n\nexport default class ApiMakerPreloaded {\n constructor (response) {\n this.response = response\n this.loadPreloadedModels()\n }\n\n loadPreloadedModels () {\n this.preloaded = {}\n\n for (const preloadedType in this.response.preloaded) {\n const modelClassName = inflection.classify(preloadedType)\n const ModelClass = modelClassRequire(modelClassName)\n\n for (const preloadedId in this.response.preloaded[preloadedType]) {\n const preloadedData = this.response.preloaded[preloadedType][preloadedId]\n const model = new ModelClass({data: preloadedData, isNewRecord: false})\n\n if (!this.preloaded[preloadedType]) {\n this.preloaded[preloadedType] = {}\n }\n\n this.preloaded[preloadedType][preloadedId] = model\n }\n }\n\n for (const modelType in this.preloaded) {\n for (const modelId in this.preloaded[modelType]) {\n this.preloaded[modelType][modelId]._readPreloadedRelationships(this)\n }\n }\n }\n\n getModel (type, id) {\n if (!this.preloaded[type] || !this.preloaded[type][id]) {\n throw new Error(`Could not find a ${type} by that ID: ${id}`)\n }\n\n return this.preloaded[type][id]\n }\n}\n"],"mappings":"AAAA,OAAO,KAAKA,UAAU,MAAM,YAAY;AACxC,OAAOC,iBAAiB,MAAM,uBAAuB;AAErD,eAAe,MAAMC,iBAAiB,CAAC;EACrCC,WAAWA,CAAEC,QAAQ,EAAE;IACrB,IAAI,CAACA,QAAQ,GAAGA,QAAQ;IACxB,IAAI,CAACC,mBAAmB,CAAC,CAAC;EAC5B;EAEAA,mBAAmBA,CAAA,EAAI;IACrB,IAAI,CAACC,SAAS,GAAG,CAAC,CAAC;IAEnB,KAAK,MAAMC,aAAa,IAAI,IAAI,CAACH,QAAQ,CAACE,SAAS,EAAE;MACnD,MAAME,cAAc,GAAGR,UAAU,CAACS,QAAQ,CAACF,aAAa,CAAC;MACzD,MAAMG,UAAU,GAAGT,iBAAiB,CAACO,cAAc,CAAC;MAEpD,KAAK,MAAMG,WAAW,IAAI,IAAI,CAACP,QAAQ,CAACE,SAAS,CAACC,aAAa,CAAC,EAAE;QAChE,MAAMK,aAAa,GAAG,IAAI,CAACR,QAAQ,CAACE,SAAS,CAACC,aAAa,CAAC,CAACI,WAAW,CAAC;QACzE,MAAME,KAAK,GAAG,IAAIH,UAAU,CAAC;UAACI,IAAI,EAAEF,aAAa;UAAEG,WAAW,EAAE;QAAK,CAAC,CAAC;QAEvE,IAAI,CAAC,IAAI,CAACT,SAAS,CAACC,aAAa,CAAC,EAAE;UAClC,IAAI,CAACD,SAAS,CAACC,aAAa,CAAC,GAAG,CAAC,CAAC;QACpC;QAEA,IAAI,CAACD,SAAS,CAACC,aAAa,CAAC,CAACI,WAAW,CAAC,GAAGE,KAAK;MACpD;IACF;IAEA,KAAK,MAAMG,SAAS,IAAI,IAAI,CAACV,SAAS,EAAE;MACtC,KAAK,MAAMW,OAAO,IAAI,IAAI,CAACX,SAAS,CAACU,SAAS,CAAC,EAAE;QAC/C,IAAI,CAACV,SAAS,CAACU,SAAS,CAAC,CAACC,OAAO,CAAC,CAACC,2BAA2B,CAAC,IAAI,CAAC;MACtE;IACF;EACF;EAEAC,QAAQA,CAAEC,IAAI,EAAEC,EAAE,EAAE;IAClB,IAAI,CAAC,IAAI,CAACf,SAAS,CAACc,IAAI,CAAC,IAAI,CAAC,IAAI,CAACd,SAAS,CAACc,IAAI,CAAC,CAACC,EAAE,CAAC,EAAE;MACtD,MAAM,IAAIC,KAAK,CAAC,oBAAoBF,IAAI,gBAAgBC,EAAE,EAAE,CAAC;IAC/D;IAEA,OAAO,IAAI,CAACf,SAAS,CAACc,IAAI,CAAC,CAACC,EAAE,CAAC;EACjC;AACF","ignoreList":[]}
@@ -8,4 +8,4 @@ const ApiMakerResizeObserver = memo(({
8
8
  return null;
9
9
  });
10
10
  export default ApiMakerResizeObserver;
11
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJtZW1vIiwidXNlUmVzaXplT2JzZXJ2ZXIiLCJBcGlNYWtlclJlc2l6ZU9ic2VydmVyIiwiZWxlbWVudCIsIm9uUmVzaXplIl0sInNvdXJjZXMiOlsiLi4vc3JjL3Jlc2l6ZS1vYnNlcnZlci5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IG1lbW8gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL3NyYy9tZW1vXCJcbmltcG9ydCB1c2VSZXNpemVPYnNlcnZlciBmcm9tIFwiLi91c2UtcmVzaXplLW9ic2VydmVyXCJcblxuY29uc3QgQXBpTWFrZXJSZXNpemVPYnNlcnZlciA9IG1lbW8oKHtlbGVtZW50LCBvblJlc2l6ZX0pID0+IHtcbiAgdXNlUmVzaXplT2JzZXJ2ZXIoZWxlbWVudCwgb25SZXNpemUpXG5cbiAgcmV0dXJuIG51bGxcbn0pXG5cbmV4cG9ydCBkZWZhdWx0IEFwaU1ha2VyUmVzaXplT2JzZXJ2ZXJcbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsSUFBSSxNQUFNLDRCQUE0QjtBQUM3QyxPQUFPQyxpQkFBaUIsTUFBTSx1QkFBdUI7QUFFckQsTUFBTUMsc0JBQXNCLEdBQUdGLElBQUksQ0FBQyxDQUFDO0VBQUNHLE9BQU87RUFBRUM7QUFBUSxDQUFDLEtBQUs7RUFDM0RILGlCQUFpQixDQUFDRSxPQUFPLEVBQUVDLFFBQVEsQ0FBQztFQUVwQyxPQUFPLElBQUk7QUFDYixDQUFDLENBQUM7QUFFRixlQUFlRixzQkFBc0IiLCJpZ25vcmVMaXN0IjpbXX0=
11
+ //# sourceMappingURL=resize-observer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resize-observer.js","names":["memo","useResizeObserver","ApiMakerResizeObserver","element","onResize"],"sources":["../src/resize-observer.jsx"],"sourcesContent":["import memo from \"set-state-compare/src/memo\"\nimport useResizeObserver from \"./use-resize-observer\"\n\nconst ApiMakerResizeObserver = memo(({element, onResize}) => {\n useResizeObserver(element, onResize)\n\n return null\n})\n\nexport default ApiMakerResizeObserver\n"],"mappings":"AAAA,OAAOA,IAAI,MAAM,4BAA4B;AAC7C,OAAOC,iBAAiB,MAAM,uBAAuB;AAErD,MAAMC,sBAAsB,GAAGF,IAAI,CAAC,CAAC;EAACG,OAAO;EAAEC;AAAQ,CAAC,KAAK;EAC3DH,iBAAiB,CAACE,OAAO,EAAEC,QAAQ,CAAC;EAEpC,OAAO,IAAI;AACb,CAAC,CAAC;AAEF,eAAeF,sBAAsB","ignoreList":[]}
package/build/result.js CHANGED
@@ -10,4 +10,4 @@ export default class ApiMakerResult {
10
10
  totalCount = () => this.data.response.meta.totalCount;
11
11
  totalPages = () => this.data.response.meta.totalPages;
12
12
  }
13
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJBcGlNYWtlclJlc3VsdCIsImNvbnN0cnVjdG9yIiwiZGF0YSIsImNvdW50IiwicmVzcG9uc2UiLCJtZXRhIiwiY3VycmVudFBhZ2UiLCJtb2RlbHMiLCJtb2RlbENsYXNzIiwiY29sbGVjdGlvbiIsInBlclBhZ2UiLCJ0b3RhbENvdW50IiwidG90YWxQYWdlcyJdLCJzb3VyY2VzIjpbIi4uL3NyYy9yZXN1bHQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQgY2xhc3MgQXBpTWFrZXJSZXN1bHQge1xuICBjb25zdHJ1Y3RvciAoZGF0YSkge1xuICAgIHRoaXMuZGF0YSA9IGRhdGFcbiAgfVxuXG4gIGNvdW50ID0gKCkgPT4gdGhpcy5kYXRhLnJlc3BvbnNlLm1ldGEuY291bnRcbiAgY3VycmVudFBhZ2UgPSAoKSA9PiB0aGlzLmRhdGEucmVzcG9uc2UubWV0YS5jdXJyZW50UGFnZVxuICBtb2RlbHMgPSAoKSA9PiB0aGlzLmRhdGEubW9kZWxzXG4gIG1vZGVsQ2xhc3MgPSAoKSA9PiB0aGlzLmRhdGEuY29sbGVjdGlvbi5tb2RlbENsYXNzKClcbiAgcGVyUGFnZSA9ICgpID0+IHRoaXMuZGF0YS5yZXNwb25zZS5tZXRhLnBlclBhZ2VcbiAgdG90YWxDb3VudCA9ICgpID0+IHRoaXMuZGF0YS5yZXNwb25zZS5tZXRhLnRvdGFsQ291bnRcbiAgdG90YWxQYWdlcyA9ICgpID0+IHRoaXMuZGF0YS5yZXNwb25zZS5tZXRhLnRvdGFsUGFnZXNcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsZUFBZSxNQUFNQSxjQUFjLENBQUM7RUFDbENDLFdBQVdBLENBQUVDLElBQUksRUFBRTtJQUNqQixJQUFJLENBQUNBLElBQUksR0FBR0EsSUFBSTtFQUNsQjtFQUVBQyxLQUFLLEdBQUdBLENBQUEsS0FBTSxJQUFJLENBQUNELElBQUksQ0FBQ0UsUUFBUSxDQUFDQyxJQUFJLENBQUNGLEtBQUs7RUFDM0NHLFdBQVcsR0FBR0EsQ0FBQSxLQUFNLElBQUksQ0FBQ0osSUFBSSxDQUFDRSxRQUFRLENBQUNDLElBQUksQ0FBQ0MsV0FBVztFQUN2REMsTUFBTSxHQUFHQSxDQUFBLEtBQU0sSUFBSSxDQUFDTCxJQUFJLENBQUNLLE1BQU07RUFDL0JDLFVBQVUsR0FBR0EsQ0FBQSxLQUFNLElBQUksQ0FBQ04sSUFBSSxDQUFDTyxVQUFVLENBQUNELFVBQVUsQ0FBQyxDQUFDO0VBQ3BERSxPQUFPLEdBQUdBLENBQUEsS0FBTSxJQUFJLENBQUNSLElBQUksQ0FBQ0UsUUFBUSxDQUFDQyxJQUFJLENBQUNLLE9BQU87RUFDL0NDLFVBQVUsR0FBR0EsQ0FBQSxLQUFNLElBQUksQ0FBQ1QsSUFBSSxDQUFDRSxRQUFRLENBQUNDLElBQUksQ0FBQ00sVUFBVTtFQUNyREMsVUFBVSxHQUFHQSxDQUFBLEtBQU0sSUFBSSxDQUFDVixJQUFJLENBQUNFLFFBQVEsQ0FBQ0MsSUFBSSxDQUFDTyxVQUFVO0FBQ3ZEIiwiaWdub3JlTGlzdCI6W119
13
+ //# sourceMappingURL=result.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"result.js","names":["ApiMakerResult","constructor","data","count","response","meta","currentPage","models","modelClass","collection","perPage","totalCount","totalPages"],"sources":["../src/result.js"],"sourcesContent":["export default class ApiMakerResult {\n constructor (data) {\n this.data = data\n }\n\n count = () => this.data.response.meta.count\n currentPage = () => this.data.response.meta.currentPage\n models = () => this.data.models\n modelClass = () => this.data.collection.modelClass()\n perPage = () => this.data.response.meta.perPage\n totalCount = () => this.data.response.meta.totalCount\n totalPages = () => this.data.response.meta.totalPages\n}\n"],"mappings":"AAAA,eAAe,MAAMA,cAAc,CAAC;EAClCC,WAAWA,CAAEC,IAAI,EAAE;IACjB,IAAI,CAACA,IAAI,GAAGA,IAAI;EAClB;EAEAC,KAAK,GAAGA,CAAA,KAAM,IAAI,CAACD,IAAI,CAACE,QAAQ,CAACC,IAAI,CAACF,KAAK;EAC3CG,WAAW,GAAGA,CAAA,KAAM,IAAI,CAACJ,IAAI,CAACE,QAAQ,CAACC,IAAI,CAACC,WAAW;EACvDC,MAAM,GAAGA,CAAA,KAAM,IAAI,CAACL,IAAI,CAACK,MAAM;EAC/BC,UAAU,GAAGA,CAAA,KAAM,IAAI,CAACN,IAAI,CAACO,UAAU,CAACD,UAAU,CAAC,CAAC;EACpDE,OAAO,GAAGA,CAAA,KAAM,IAAI,CAACR,IAAI,CAACE,QAAQ,CAACC,IAAI,CAACK,OAAO;EAC/CC,UAAU,GAAGA,CAAA,KAAM,IAAI,CAACT,IAAI,CAACE,QAAQ,CAACC,IAAI,CAACM,UAAU;EACrDC,UAAU,GAAGA,CAAA,KAAM,IAAI,CAACV,IAAI,CAACE,QAAQ,CAACC,IAAI,CAACO,UAAU;AACvD","ignoreList":[]}
@@ -267,4 +267,4 @@ const Route = memo(shapeComponent(class Route extends BaseComponent {
267
267
  }));
268
268
  export { RequireComponentContext, RouteContext, Switch, useParams };
269
269
  export default Route;
270
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCYXNlQ29tcG9uZW50IiwiY3JlYXRlQ29udGV4dCIsInVzZUNvbnRleHQiLCJ1c2VNZW1vIiwibWVtbyIsIlByb3BUeXBlcyIsInByb3BUeXBlc0V4YWN0Iiwic2hhcGVDb21wb25lbnQiLCJTd2l0Y2giLCJDdXJyZW50U3dpdGNoQ29udGV4dCIsInVzZUkxOG4iLCJDdXJyZW50UGF0aENvbnRleHQiLCJQYXJhbXNDb250ZXh0IiwiUmVxdWlyZUNvbXBvbmVudENvbnRleHQiLCJSb3V0ZUNvbnRleHQiLCJ1c2VQYXJhbXMiLCJSb3V0ZSIsImRlZmF1bHRQcm9wcyIsImV4YWN0IiwiZmFsbGJhY2siLCJpbmNsdWRlSW5QYXRoIiwicHJvcFR5cGVzIiwiY2hpbGRyZW4iLCJub2RlIiwiY29tcG9uZW50Iiwic3RyaW5nIiwiY29tcG9uZW50UGF0aCIsImJvb2wiLCJpc1JlcXVpcmVkIiwib25NYXRjaCIsImZ1bmMiLCJwYXRoIiwib25lT2ZUeXBlIiwiaW5zdGFuY2VPZiIsIlJlZ0V4cCIsIm1hdGNoIiwibmV3UGFyYW1zIiwicGF0aFBhcnRzIiwic2V0dXAiLCJ0IiwibmFtZXNwYWNlIiwicHJvcHMiLCJwYXRoc01hdGNoZWQiLCJzd2l0Y2hHcm91cCIsImdpdmVuUm91dGUiLCJwYXRoU2hvd24iLCJzIiwiZGVidWciLCJsb2ciLCJyZXF1aXJlQ29tcG9uZW50IiwiY3VycmVudFBhcmFtcyIsImN1cnJlbnRQYXRoIiwicm91dGVQYXJ0cyIsInNwbGl0IiwibmV3Um91dGVQYXJ0cyIsInNsaWNlIiwibGVuZ3RoIiwiY29uY2F0IiwidXNlU3RhdGVzIiwiQ29tcG9uZW50IiwiY29tcG9uZW50Tm90Rm91bmQiLCJtYXRjaGVzIiwibG9hZE1hdGNoZXMiLCJoYXNTd2l0Y2hNYXRjaCIsImxvYWRDb21wb25lbnQiLCJwYXRoSWQiLCJwIiwidHQiLCJwYXJhbXMiLCJjb21wb25lbnRQYXRoUGFydHMiLCJKU09OIiwic3RyaW5naWZ5IiwicGF0aFBhcnRJbmRleCIsInBhdGhQYXJ0IiwidHJhbnNsYXRlZFBhdGhQYXJ0IiwiZGVmYXVsdFZhbHVlIiwicm91dGVQYXJ0IiwiZGVjb2RlVVJJQ29tcG9uZW50Iiwic3RhcnRzV2l0aCIsInBhcmFtTmFtZSIsInB1c2giLCJtYXRjaElkIiwiT2JqZWN0IiwiYXNzaWduIiwic2V0SW5zdGFuY2UiLCJzZXRTdGF0ZSIsInNldFBhdGhNYXRjaGVkIiwiYWN0dWFsQ29tcG9uZW50UGF0aCIsImpvaW4iLCJjb21wb25lbnRJbXBvcnQiLCJyb3V0ZURlZmluaXRpb24iLCJkZWZhdWx0IiwiZXJyb3IiLCJjb25zb2xlIiwiY2FsbGJhY2tBcmdzIiwiYXJncyIsIkFycmF5IiwiaXNBcnJheSIsInJlbmRlciIsIlJlYWN0IiwiY3JlYXRlRWxlbWVudCIsIlByb3ZpZGVyIiwidmFsdWUiLCJuYW1lIiwic2luZ2xlIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3JvdXRlci9yb3V0ZS5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEJhc2VDb21wb25lbnQgZnJvbSBcIi4uL2Jhc2UtY29tcG9uZW50XCJcbmltcG9ydCB7Y3JlYXRlQ29udGV4dCwgdXNlQ29udGV4dCwgdXNlTWVtb30gZnJvbSBcInJlYWN0XCJcbmltcG9ydCBtZW1vIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9zcmMvbWVtb1wiXG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCJcbmltcG9ydCBwcm9wVHlwZXNFeGFjdCBmcm9tIFwicHJvcC10eXBlcy1leGFjdFwiXG5pbXBvcnQge3NoYXBlQ29tcG9uZW50fSBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvc3JjL3NoYXBlLWNvbXBvbmVudFwiXG5pbXBvcnQgU3dpdGNoLCB7Q3VycmVudFN3aXRjaENvbnRleHR9IGZyb20gXCIuL3N3aXRjaFwiXG5pbXBvcnQgdXNlSTE4biBmcm9tIFwiaTE4bi1vbi1zdGVyb2lkcy9zcmMvdXNlLWkxOG5cIlxuXG5jb25zdCBDdXJyZW50UGF0aENvbnRleHQgPSBjcmVhdGVDb250ZXh0KFtdKVxuY29uc3QgUGFyYW1zQ29udGV4dCA9IGNyZWF0ZUNvbnRleHQoe30pXG5jb25zdCBSZXF1aXJlQ29tcG9uZW50Q29udGV4dCA9IGNyZWF0ZUNvbnRleHQobnVsbClcbmNvbnN0IFJvdXRlQ29udGV4dCA9IGNyZWF0ZUNvbnRleHQobnVsbClcbmNvbnN0IHVzZVBhcmFtcyA9ICgpID0+IHVzZUNvbnRleHQoUGFyYW1zQ29udGV4dClcblxuY29uc3QgUm91dGUgPSBtZW1vKHNoYXBlQ29tcG9uZW50KGNsYXNzIFJvdXRlIGV4dGVuZHMgQmFzZUNvbXBvbmVudCB7XG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgZXhhY3Q6IGZhbHNlLFxuICAgIGZhbGxiYWNrOiBmYWxzZSxcbiAgICBpbmNsdWRlSW5QYXRoOiB0cnVlXG4gIH1cblxuICBzdGF0aWMgcHJvcFR5cGVzID0gcHJvcFR5cGVzRXhhY3Qoe1xuICAgIGNoaWxkcmVuOiBQcm9wVHlwZXMubm9kZSxcbiAgICBjb21wb25lbnQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgY29tcG9uZW50UGF0aDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBleGFjdDogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBmYWxsYmFjazogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBpbmNsdWRlSW5QYXRoOiBQcm9wVHlwZXMuYm9vbC5pc1JlcXVpcmVkLFxuICAgIG9uTWF0Y2g6IFByb3BUeXBlcy5mdW5jLFxuICAgIHBhdGg6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1Byb3BUeXBlcy5zdHJpbmcsIFByb3BUeXBlcy5pbnN0YW5jZU9mKFJlZ0V4cCldKVxuICB9KVxuXG4gIG1hdGNoID0gbnVsbFxuICBuZXdQYXJhbXMgPSBudWxsXG4gIHBhdGhQYXJ0cyA9IG51bGxcblxuICBzZXR1cCgpIHtcbiAgICBjb25zdCB7dH0gPSB1c2VJMThuKHtuYW1lc3BhY2U6IFwianMuYXBpX21ha2VyLnJvdXRlci5yb3V0ZVwifSlcbiAgICBjb25zdCB7cGF0aH0gPSB0aGlzLnByb3BzXG4gICAgY29uc3Qge3BhdGhzTWF0Y2hlZCwgc3dpdGNoR3JvdXB9ID0gdXNlQ29udGV4dChDdXJyZW50U3dpdGNoQ29udGV4dClcbiAgICBjb25zdCBnaXZlblJvdXRlID0gdXNlQ29udGV4dChSb3V0ZUNvbnRleHQpXG4gICAgY29uc3Qge3BhdGhTaG93bn0gPSBzd2l0Y2hHcm91cC5zXG5cbiAgICB0aGlzLmRlYnVnID0gZmFsc2VcbiAgICB0aGlzLmxvZygoKSA9PiAoe2dpdmVuUm91dGV9KSlcbiAgICB0aGlzLnQgPSB0XG5cbiAgICB0aGlzLnJlcXVpcmVDb21wb25lbnQgPSB1c2VDb250ZXh0KFJlcXVpcmVDb21wb25lbnRDb250ZXh0KVxuICAgIHRoaXMuY3VycmVudFBhcmFtcyA9IHVzZUNvbnRleHQoUGFyYW1zQ29udGV4dClcbiAgICB0aGlzLmN1cnJlbnRQYXRoID0gdXNlQ29udGV4dChDdXJyZW50UGF0aENvbnRleHQpXG4gICAgdGhpcy5zd2l0Y2hHcm91cCA9IHN3aXRjaEdyb3VwXG4gICAgdGhpcy5yb3V0ZVBhcnRzID0gdXNlTWVtbygoKSA9PiBnaXZlblJvdXRlPy5zcGxpdChcIi9cIiksIFtwYXRoLCBnaXZlblJvdXRlXSlcbiAgICB0aGlzLnBhdGhQYXJ0cyA9IHVzZU1lbW8oKCkgPT4gcGF0aD8uc3BsaXQoXCIvXCIpLCBbcGF0aF0pXG5cbiAgICB0aGlzLm5ld1JvdXRlUGFydHMgPSB1c2VNZW1vKFxuICAgICAgKCkgPT4ge1xuICAgICAgICBpZiAoIXBhdGgpIHtcbiAgICAgICAgICBpZiAoZ2l2ZW5Sb3V0ZSA9PSBcIlwiKSB7XG4gICAgICAgICAgICByZXR1cm4gW11cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMucm91dGVQYXJ0c1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLnJvdXRlUGFydHMuc2xpY2UodGhpcy5wYXRoUGFydHMubGVuZ3RoLCB0aGlzLnJvdXRlUGFydHMubGVuZ3RoKVxuICAgICAgfSxcbiAgICAgIFtnaXZlblJvdXRlXS5jb25jYXQodGhpcy5wYXRoUGFydHMpXG4gICAgKVxuXG4gICAgdGhpcy51c2VTdGF0ZXMoe0NvbXBvbmVudDogbnVsbCwgY29tcG9uZW50Tm90Rm91bmQ6IG51bGwsIG1hdGNoZXM6IGZhbHNlfSlcblxuICAgIHVzZU1lbW8oKCkgPT4ge1xuICAgICAgdGhpcy5sb2FkTWF0Y2hlcygpXG4gICAgfSwgW2dpdmVuUm91dGUsIHBhdGgsIHBhdGhzTWF0Y2hlZF0pXG5cbiAgICB1c2VNZW1vKCgpID0+IHtcbiAgICAgIGlmICh0aGlzLmhhc1N3aXRjaE1hdGNoKCkgJiYgIXRoaXMucy5Db21wb25lbnQgJiYgdGhpcy5zLm1hdGNoZXMpIHtcbiAgICAgICAgaWYgKHRoaXMucHJvcHMub25NYXRjaCkge1xuICAgICAgICAgIHRoaXMucHJvcHMub25NYXRjaCgpXG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXRoaXMucHJvcHMuY2hpbGRyZW4gJiYgKHRoaXMucHJvcHMucGF0aCB8fCB0aGlzLnByb3BzLmNvbXBvbmVudCB8fCB0aGlzLnByb3BzLmNvbXBvbmVudFBhdGgpKSB7XG4gICAgICAgICAgdGhpcy5sb2FkQ29tcG9uZW50KClcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sIFtwYXRoLCBwYXRoU2hvd24sIHRoaXMucy5tYXRjaGVzXSlcbiAgfVxuXG4gIGhhc1N3aXRjaE1hdGNoID0gKCkgPT4gdGhpcy5zd2l0Y2hHcm91cC5zLnBhdGhTaG93biAmJiB0aGlzLnN3aXRjaEdyb3VwLnMucGF0aFNob3duID09IHRoaXMucGF0aElkKClcblxuICBwYXRoSWQoKSB7XG4gICAgY29uc3Qge2ZhbGxiYWNrfSA9IHRoaXMucFxuICAgIGNvbnN0IHtwYXRofSA9IHRoaXMucHJvcHNcbiAgICBsZXQgcGF0aElkXG5cbiAgICBpZiAoZmFsbGJhY2spIHtcbiAgICAgIHBhdGhJZCA9IFwiW0ZBTExCQUNLXVwiXG4gICAgfSBlbHNlIGlmICghcGF0aCkge1xuICAgICAgcGF0aElkID0gXCJbUEFUSC1FTVBUWV1cIlxuICAgIH0gZWxzZSB7XG4gICAgICBwYXRoSWQgPSBwYXRoXG4gICAgfVxuXG4gICAgcmV0dXJuIHBhdGhJZFxuICB9XG5cbiAgbG9hZE1hdGNoZXMoKSB7XG4gICAgY29uc3Qge25ld1JvdXRlUGFydHMsIHR9ID0gdGhpcy50dFxuICAgIGNvbnN0IHtjb21wb25lbnQsIHBhdGh9ID0gdGhpcy5wcm9wc1xuICAgIGNvbnN0IHtleGFjdCwgaW5jbHVkZUluUGF0aCwgZmFsbGJhY2t9ID0gdGhpcy5wXG5cbiAgICBsZXQgbWF0Y2hlcyA9IHRydWVcbiAgICBjb25zdCBwYXJhbXMgPSB7fVxuICAgIGNvbnN0IGNvbXBvbmVudFBhdGhQYXJ0cyA9IFsuLi50aGlzLmN1cnJlbnRQYXRoXVxuXG4gICAgdGhpcy5sb2coKCkgPT4gW3RoaXMucHJvcHMucGF0aCwgXCJTdGFydCBnZW5lcmF0aW5nIGNvbXBvbmVudCBwYXRoc1wiLCBKU09OLnN0cmluZ2lmeShjb21wb25lbnRQYXRoUGFydHMpXSlcblxuICAgIGZvciAoY29uc3QgcGF0aFBhcnRJbmRleCBpbiB0aGlzLnBhdGhQYXJ0cykge1xuICAgICAgY29uc3QgcGF0aFBhcnQgPSB0aGlzLnBhdGhQYXJ0c1twYXRoUGFydEluZGV4XVxuICAgICAgY29uc3QgdHJhbnNsYXRlZFBhdGhQYXJ0ID0gdChgcm91dGVzLiR7cGF0aFBhcnR9YCwge2RlZmF1bHRWYWx1ZTogcGF0aFBhcnR9KVxuXG4gICAgICBpZiAoIShwYXRoUGFydEluZGV4IGluIHRoaXMucm91dGVQYXJ0cykpIHtcbiAgICAgICAgdGhpcy5sb2coKCkgPT4gYE5vIG1hdGNoIGZvcjogJHtwYXRoUGFydEluZGV4fWApXG4gICAgICAgIG1hdGNoZXMgPSBmYWxzZVxuICAgICAgICBicmVha1xuICAgICAgfVxuXG4gICAgICBjb25zdCByb3V0ZVBhcnQgPSBkZWNvZGVVUklDb21wb25lbnQodGhpcy5yb3V0ZVBhcnRzW3BhdGhQYXJ0SW5kZXhdKVxuXG4gICAgICBpZiAocGF0aFBhcnQuc3RhcnRzV2l0aChcIjpcIikgJiYgcm91dGVQYXJ0KSB7XG4gICAgICAgIGNvbnN0IHBhcmFtTmFtZSA9IHBhdGhQYXJ0LnNsaWNlKDEsIHBhdGhQYXJ0Lmxlbmd0aClcblxuICAgICAgICBwYXJhbXNbcGFyYW1OYW1lXSA9IHJvdXRlUGFydFxuICAgICAgfSBlbHNlIGlmICh0cmFuc2xhdGVkUGF0aFBhcnQgIT0gcm91dGVQYXJ0KSB7XG4gICAgICAgIG1hdGNoZXMgPSBmYWxzZVxuICAgICAgICBicmVha1xuICAgICAgfSBlbHNlIGlmICghY29tcG9uZW50ICYmIGluY2x1ZGVJblBhdGgpIHtcbiAgICAgICAgY29tcG9uZW50UGF0aFBhcnRzLnB1c2gocGF0aFBhcnQpXG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGV4YWN0ICYmIG5ld1JvdXRlUGFydHMubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5sb2coKCkgPT4gW1wiRXhhY3QgYW5kIG1vcmUgcm91dGUgcGFydHNcIiwge25ld1JvdXRlUGFydHMsIHBhdGhQYXJ0czogdGhpcy5wYXRoUGFydHMsIHJvdXRlUGFydHM6IHRoaXMucm91dGVQYXJ0c31dKVxuICAgICAgbWF0Y2hlcyA9IGZhbHNlXG4gICAgfSBlbHNlIGlmIChtYXRjaGVzICYmIHBhdGgpIHtcbiAgICAgIG1hdGNoZXMgPSB0cnVlXG4gICAgfSBlbHNlIGlmICh0aGlzLnJvdXRlUGFydHMubGVuZ3RoID09IDApIHtcbiAgICAgIG1hdGNoZXMgPSB0cnVlXG4gICAgfVxuXG4gICAgY29uc3QgbWF0Y2hJZCA9IHRoaXMucGF0aElkKClcblxuICAgIGlmICghbWF0Y2hlcyAmJiBmYWxsYmFjaykge1xuICAgICAgbWF0Y2hlcyA9IHRydWVcbiAgICB9XG5cbiAgICB0aGlzLmxvZygoKSA9PiBbdGhpcy5wcm9wcy5wYXRoLCBcIkVuZCBnZW5lcmF0aW5nIGNvbXBvbmVudCBwYXRoc1wiLCBKU09OLnN0cmluZ2lmeShjb21wb25lbnRQYXRoUGFydHMpLCB7bWF0Y2hlc31dKVxuXG4gICAgaWYgKG1hdGNoZXMpIHtcbiAgICAgIGlmIChjb21wb25lbnQgJiYgaW5jbHVkZUluUGF0aCkge1xuICAgICAgICBjb21wb25lbnRQYXRoUGFydHMucHVzaChjb21wb25lbnQpXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IG5ld1BhcmFtcyA9IE9iamVjdC5hc3NpZ24oe30sIHRoaXMuY3VycmVudFBhcmFtcywgcGFyYW1zKVxuXG4gICAgICB0aGlzLnNldEluc3RhbmNlKHtjb21wb25lbnRQYXRoUGFydHMsIG1hdGNoOiB7cGFyYW1zfSwgbmV3UGFyYW1zfSlcbiAgICAgIHRoaXMuc2V0U3RhdGUoe21hdGNoZXN9KVxuICAgICAgdGhpcy5zd2l0Y2hHcm91cD8uc2V0UGF0aE1hdGNoZWQobWF0Y2hJZCwgdHJ1ZSlcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZXRJbnN0YW5jZSh7Y29tcG9uZW50UGF0aFBhcnRzOiBudWxsLCBtYXRjaDogbnVsbCwgbmV3UGFyYW1zOiBudWxsfSlcbiAgICAgIHRoaXMuc2V0U3RhdGUoe21hdGNoZXN9KVxuICAgICAgdGhpcy5zd2l0Y2hHcm91cD8uc2V0UGF0aE1hdGNoZWQobWF0Y2hJZCwgZmFsc2UpXG4gICAgfVxuICB9XG5cbiAgYXN5bmMgbG9hZENvbXBvbmVudCgpIHtcbiAgICBjb25zdCBhY3R1YWxDb21wb25lbnRQYXRoID0gdGhpcy5wcm9wcy5jb21wb25lbnRQYXRoIHx8IHRoaXMudHQuY29tcG9uZW50UGF0aFBhcnRzLmpvaW4oXCIvXCIpXG4gICAgbGV0IENvbXBvbmVudFxuXG4gICAgdGhpcy5sb2coKCkgPT4gW1wibG9hZENvbXBvbmVudFwiLCB7Y29tcG9uZW50UGF0aDogdGhpcy5wcm9wcy5jb21wb25lbnRQYXRoLCBjb21wb25lbnRQYXRoUGFydHM6IHRoaXMuY29tcG9uZW50UGF0aFBhcnRzLCBhY3R1YWxDb21wb25lbnRQYXRofV0pXG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgY29tcG9uZW50SW1wb3J0ID0gYXdhaXQgdGhpcy50dC5yZXF1aXJlQ29tcG9uZW50KHtyb3V0ZURlZmluaXRpb246IHtjb21wb25lbnQ6IGFjdHVhbENvbXBvbmVudFBhdGh9fSlcblxuICAgICAgQ29tcG9uZW50ID0gY29tcG9uZW50SW1wb3J0LmRlZmF1bHRcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcihgQ291bGRuJ3QgZmluZCBjb21wb25lbnQ6ICR7YWN0dWFsQ29tcG9uZW50UGF0aH1gKVxuXG4gICAgICB0aHJvdyBlcnJvclxuICAgIH1cblxuICAgIHRoaXMuc2V0U3RhdGUoe0NvbXBvbmVudCwgY29tcG9uZW50Tm90Rm91bmQ6ICFDb21wb25lbnR9KVxuICB9XG5cbiAgbG9nKGNhbGxiYWNrQXJncykge1xuICAgIGlmICh0aGlzLmRlYnVnKSB7XG4gICAgICBsZXQgYXJncyA9IGNhbGxiYWNrQXJncygpXG5cbiAgICAgIGlmICghQXJyYXkuaXNBcnJheShhcmdzKSkgYXJncyA9IFthcmdzXVxuXG4gICAgICBjb25zb2xlLmxvZyguLi5hcmdzKVxuICAgIH1cbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7Y29tcG9uZW50UGF0aFBhcnRzLCBtYXRjaCwgbmV3UGFyYW1zLCBuZXdSb3V0ZVBhcnRzfSA9IHRoaXMudHRcbiAgICBjb25zdCB7Y2hpbGRyZW4sIGNvbXBvbmVudCwgcGF0aH0gPSB0aGlzLnByb3BzXG4gICAgY29uc3Qge0NvbXBvbmVudCwgY29tcG9uZW50Tm90Rm91bmQsIG1hdGNoZXN9ID0gdGhpcy5zXG5cbiAgICBpZiAoIW1hdGNoZXMgfHwgIXRoaXMuaGFzU3dpdGNoTWF0Y2goKSkge1xuICAgICAgLy8gUm91dGUgaXNuJ3QgbWF0Y2hpbmcgYW5kIHNob3VsZG4ndCBiZSByZW5kZXJlZCBhdCBhbGwuXG4gICAgICByZXR1cm4gbnVsbFxuICAgIH1cblxuICAgIGlmICghQ29tcG9uZW50ICYmICFjaGlsZHJlbiAmJiAhY29tcG9uZW50Tm90Rm91bmQpIHtcbiAgICAgIC8vIFJvdXRlIGlzIG1hdGNoaW5nIGJ1dCBoYXNuJ3QgYmVlbiBsb2FkZWQgeWV0LlxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPGRpdj5cbiAgICAgICAgICBMb2FkaW5nIHtjb21wb25lbnQgfHwgdGhpcy5wcm9wcy5jb21wb25lbnRQYXRoIHx8IGNvbXBvbmVudFBhdGhQYXJ0cy5qb2luKFwiL1wiKX1cbiAgICAgICAgPC9kaXY+XG4gICAgICApXG4gICAgfVxuXG4gICAgaWYgKCFDb21wb25lbnQgJiYgIWNoaWxkcmVuICYmIGNvbXBvbmVudE5vdEZvdW5kKSB7XG4gICAgICAvLyBEb24ndCByZW5kZXIgYW55dGhpbmcgaWYgdGhlIGNvbXBvbmVudCBjb3VsZG4ndCBiZSBmb3VuZC5cbiAgICAgIHJldHVybiBudWxsXG4gICAgfVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxDdXJyZW50UGF0aENvbnRleHQuUHJvdmlkZXIgdmFsdWU9e2NvbXBvbmVudFBhdGhQYXJ0c30+XG4gICAgICAgIDxSb3V0ZUNvbnRleHQuUHJvdmlkZXIgdmFsdWU9e25ld1JvdXRlUGFydHMuam9pbihcIi9cIil9PlxuICAgICAgICAgIDxQYXJhbXNDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXtuZXdQYXJhbXN9PlxuICAgICAgICAgICAgPFN3aXRjaCBuYW1lPXtgcm91dGUtZ3JvdXAtJHtwYXRofWB9IHNpbmdsZT17ZmFsc2V9PlxuICAgICAgICAgICAgICB7Q29tcG9uZW50ICYmIDxDb21wb25lbnQgbWF0Y2g9e21hdGNofSAvPn1cbiAgICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgICAgPC9Td2l0Y2g+XG4gICAgICAgICAgPC9QYXJhbXNDb250ZXh0LlByb3ZpZGVyPlxuICAgICAgICA8L1JvdXRlQ29udGV4dC5Qcm92aWRlcj5cbiAgICAgIDwvQ3VycmVudFBhdGhDb250ZXh0LlByb3ZpZGVyPlxuICAgIClcbiAgfVxufSkpXG5cbmV4cG9ydCB7UmVxdWlyZUNvbXBvbmVudENvbnRleHQsIFJvdXRlQ29udGV4dCwgU3dpdGNoLCB1c2VQYXJhbXN9XG5leHBvcnQgZGVmYXVsdCBSb3V0ZVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxhQUFhLE1BQU0sbUJBQW1CO0FBQzdDLFNBQVFDLGFBQWEsRUFBRUMsVUFBVSxFQUFFQyxPQUFPLFFBQU8sT0FBTztBQUN4RCxPQUFPQyxJQUFJLE1BQU0sNEJBQTRCO0FBQzdDLE9BQU9DLFNBQVMsTUFBTSxZQUFZO0FBQ2xDLE9BQU9DLGNBQWMsTUFBTSxrQkFBa0I7QUFDN0MsU0FBUUMsY0FBYyxRQUFPLHVDQUF1QztBQUNwRSxPQUFPQyxNQUFNLElBQUdDLG9CQUFvQixRQUFPLFVBQVU7QUFDckQsT0FBT0MsT0FBTyxNQUFNLCtCQUErQjtBQUVuRCxNQUFNQyxrQkFBa0IsZ0JBQUdWLGFBQWEsQ0FBQyxFQUFFLENBQUM7QUFDNUMsTUFBTVcsYUFBYSxnQkFBR1gsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3ZDLE1BQU1ZLHVCQUF1QixnQkFBR1osYUFBYSxDQUFDLElBQUksQ0FBQztBQUNuRCxNQUFNYSxZQUFZLGdCQUFHYixhQUFhLENBQUMsSUFBSSxDQUFDO0FBQ3hDLE1BQU1jLFNBQVMsR0FBR0EsQ0FBQSxLQUFNYixVQUFVLENBQUNVLGFBQWEsQ0FBQztBQUVqRCxNQUFNSSxLQUFLLEdBQUdaLElBQUksQ0FBQ0csY0FBYyxDQUFDLE1BQU1TLEtBQUssU0FBU2hCLGFBQWEsQ0FBQztFQUNsRSxPQUFPaUIsWUFBWSxHQUFHO0lBQ3BCQyxLQUFLLEVBQUUsS0FBSztJQUNaQyxRQUFRLEVBQUUsS0FBSztJQUNmQyxhQUFhLEVBQUU7RUFDakIsQ0FBQztFQUVELE9BQU9DLFNBQVMsR0FBR2YsY0FBYyxDQUFDO0lBQ2hDZ0IsUUFBUSxFQUFFakIsU0FBUyxDQUFDa0IsSUFBSTtJQUN4QkMsU0FBUyxFQUFFbkIsU0FBUyxDQUFDb0IsTUFBTTtJQUMzQkMsYUFBYSxF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UUFBUTtNQUFFRSxTQUFTO01BQUVPO0lBQUksQ0FBQyxHQUFHLElBQUksQ0FBQ1UsS0FBSztJQUM5QyxNQUFNO01BQUNrQixTQUFTO01BQUVDLGlCQUFpQjtNQUFFQztJQUFPLENBQUMsR0FBRyxJQUFJLENBQUNmLENBQUM7SUFFdEQsSUFBSSxDQUFDZSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUNFLGNBQWMsQ0FBQyxDQUFDLEVBQUU7TUFDdEM7TUFDQSxPQUFPLElBQUk7SUFDYjtJQUVBLElBQUksQ0FBQ0osU0FBUyxJQUFJLENBQUNyQyxRQUFRLElBQUksQ0FBQ3NDLGlCQUFpQixFQUFFO01BQ2pEO01BQ0Esb0JBQ0V1QyxLQUFBLENBQUFDLGFBQUEsY0FBSyxVQUNLLEVBQUM1RSxTQUFTLElBQUksSUFBSSxDQUFDaUIsS0FBSyxDQUFDZixhQUFhLElBQUkyQyxrQkFBa0IsQ0FBQ21CLElBQUksQ0FBQyxHQUFHLENBQzFFLENBQUM7SUFFVjtJQUVBLElBQUksQ0FBQzdCLFNBQVMsSUFBSSxDQUFDckMsUUFBUSxJQUFJc0MsaUJBQWlCLEVBQUU7TUFDaEQ7TUFDQSxPQUFPLElBQUk7SUFDYjtJQUVBLG9CQUNFdUMsS0FBQSxDQUFBQyxhQUFBLENBQUN6RixrQkFBa0IsQ0FBQzBGLFFBQVE7TUFBQ0MsS0FBSyxFQUFFakM7SUFBbUIsZ0JBQ3JEOEIsS0FBQSxDQUFBQyxhQUFBLENBQUN0RixZQUFZLENBQUN1RixRQUFRO01BQUNDLEtBQUssRUFBRWhELGFBQWEsQ0FBQ2tDLElBQUksQ0FBQyxHQUFHO0lBQUUsZ0JBQ3BEVyxLQUFBLENBQUFDLGFBQUEsQ0FBQ3hGLGFBQWEsQ0FBQ3lGLFFBQVE7TUFBQ0MsS0FBSyxFQUFFbEU7SUFBVSxnQkFDdkMrRCxLQUFBLENBQUFDLGFBQUEsQ0FBQzVGLE1BQU07TUFBQytGLElBQUksRUFBRSxlQUFleEUsSUFBSSxFQUFHO01BQUN5RSxNQUFNLEVBQUU7SUFBTSxHQUNoRDdDLFNBQVMsaUJBQUl3QyxLQUFBLENBQUFDLGFBQUEsQ0FBQ3pDLFNBQVM7TUFBQ3hCLEtBQUssRUFBRUE7SUFBTSxDQUFFLENBQUMsRUFDeENiLFFBQ0ssQ0FDYyxDQUNILENBQ0ksQ0FBQztFQUVsQztBQUNGLENBQUMsQ0FBQyxDQUFDO0FBRUgsU0FBUVQsdUJBQXVCLEVBQUVDLFlBQVksRUFBRU4sTUFBTSxFQUFFTyxTQUFTO0FBQ2hFLGVBQWVDLEtBQUsiLCJpZ25vcmVMaXN0IjpbXX0=
270
+ //# sourceMappingURL=route.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"route.js","names":["BaseComponent","createContext","useContext","useMemo","memo","PropTypes","propTypesExact","shapeComponent","Switch","CurrentSwitchContext","useI18n","CurrentPathContext","ParamsContext","RequireComponentContext","RouteContext","useParams","Route","defaultProps","exact","fallback","includeInPath","propTypes","children","node","component","string","componentPath","bool","isRequired","onMatch","func","path","oneOfType","instanceOf","RegExp","match","newParams","pathParts","setup","t","namespace","props","pathsMatched","switchGroup","givenRoute","pathShown","s","debug","log","requireComponent","currentParams","currentPath","routeParts","split","newRouteParts","slice","length","concat","useStates","Component","componentNotFound","matches","loadMatches","hasSwitchMatch","loadComponent","pathId","p","tt","params","componentPathParts","JSON","stringify","pathPartIndex","pathPart","translatedPathPart","defaultValue","routePart","decodeURIComponent","startsWith","paramName","push","matchId","Object","assign","setInstance","setState","setPathMatched","actualComponentPath","join","componentImport","routeDefinition","default","error","console","callbackArgs","args","Array","isArray","render","React","createElement","Provider","value","name","single"],"sources":["../../src/router/route.jsx"],"sourcesContent":["import BaseComponent from \"../base-component\"\nimport {createContext, useContext, useMemo} from \"react\"\nimport memo from \"set-state-compare/src/memo\"\nimport PropTypes from \"prop-types\"\nimport propTypesExact from \"prop-types-exact\"\nimport {shapeComponent} from \"set-state-compare/src/shape-component\"\nimport Switch, {CurrentSwitchContext} from \"./switch\"\nimport useI18n from \"i18n-on-steroids/src/use-i18n\"\n\nconst CurrentPathContext = createContext([])\nconst ParamsContext = createContext({})\nconst RequireComponentContext = createContext(null)\nconst RouteContext = createContext(null)\nconst useParams = () => useContext(ParamsContext)\n\nconst Route = memo(shapeComponent(class Route extends BaseComponent {\n static defaultProps = {\n exact: false,\n fallback: false,\n includeInPath: true\n }\n\n static propTypes = propTypesExact({\n children: PropTypes.node,\n component: PropTypes.string,\n componentPath: PropTypes.string,\n exact: PropTypes.bool.isRequired,\n fallback: PropTypes.bool.isRequired,\n includeInPath: PropTypes.bool.isRequired,\n onMatch: PropTypes.func,\n path: PropTypes.oneOfType([PropTypes.string, PropTypes.instanceOf(RegExp)])\n })\n\n match = null\n newParams = null\n pathParts = null\n\n setup() {\n const {t} = useI18n({namespace: \"js.api_maker.router.route\"})\n const {path} = this.props\n const {pathsMatched, switchGroup} = useContext(CurrentSwitchContext)\n const givenRoute = useContext(RouteContext)\n const {pathShown} = switchGroup.s\n\n this.debug = false\n this.log(() => ({givenRoute}))\n this.t = t\n\n this.requireComponent = useContext(RequireComponentContext)\n this.currentParams = useContext(ParamsContext)\n this.currentPath = useContext(CurrentPathContext)\n this.switchGroup = switchGroup\n this.routeParts = useMemo(() => givenRoute?.split(\"/\"), [path, givenRoute])\n this.pathParts = useMemo(() => path?.split(\"/\"), [path])\n\n this.newRouteParts = useMemo(\n () => {\n if (!path) {\n if (givenRoute == \"\") {\n return []\n } else {\n return this.routeParts\n }\n }\n\n return this.routeParts.slice(this.pathParts.length, this.routeParts.length)\n },\n [givenRoute].concat(this.pathParts)\n )\n\n this.useStates({Component: null, componentNotFound: null, matches: false})\n\n useMemo(() => {\n this.loadMatches()\n }, [givenRoute, path, pathsMatched])\n\n useMemo(() => {\n if (this.hasSwitchMatch() && !this.s.Component && this.s.matches) {\n if (this.props.onMatch) {\n this.props.onMatch()\n }\n\n if (!this.props.children && (this.props.path || this.props.component || this.props.componentPath)) {\n this.loadComponent()\n }\n }\n }, [path, pathShown, this.s.matches])\n }\n\n hasSwitchMatch = () => this.switchGroup.s.pathShown && this.switchGroup.s.pathShown == this.pathId()\n\n pathId() {\n const {fallback} = this.p\n const {path} = this.props\n let pathId\n\n if (fallback) {\n pathId = \"[FALLBACK]\"\n } else if (!path) {\n pathId = \"[PATH-EMPTY]\"\n } else {\n pathId = path\n }\n\n return pathId\n }\n\n loadMatches() {\n const {newRouteParts, t} = this.tt\n const {component, path} = this.props\n const {exact, includeInPath, fallback} = this.p\n\n let matches = true\n const params = {}\n const componentPathParts = [...this.currentPath]\n\n this.log(() => [this.props.path, \"Start generating component paths\", JSON.stringify(componentPathParts)])\n\n for (const pathPartIndex in this.pathParts) {\n const pathPart = this.pathParts[pathPartIndex]\n const translatedPathPart = t(`routes.${pathPart}`, {defaultValue: pathPart})\n\n if (!(pathPartIndex in this.routeParts)) {\n this.log(() => `No match for: ${pathPartIndex}`)\n matches = false\n break\n }\n\n const routePart = decodeURIComponent(this.routeParts[pathPartIndex])\n\n if (pathPart.startsWith(\":\") && routePart) {\n const paramName = pathPart.slice(1, pathPart.length)\n\n params[paramName] = routePart\n } else if (translatedPathPart != routePart) {\n matches = false\n break\n } else if (!component && includeInPath) {\n componentPathParts.push(pathPart)\n }\n }\n\n if (exact && newRouteParts.length > 0) {\n this.log(() => [\"Exact and more route parts\", {newRouteParts, pathParts: this.pathParts, routeParts: this.routeParts}])\n matches = false\n } else if (matches && path) {\n matches = true\n } else if (this.routeParts.length == 0) {\n matches = true\n }\n\n const matchId = this.pathId()\n\n if (!matches && fallback) {\n matches = true\n }\n\n this.log(() => [this.props.path, \"End generating component paths\", JSON.stringify(componentPathParts), {matches}])\n\n if (matches) {\n if (component && includeInPath) {\n componentPathParts.push(component)\n }\n\n const newParams = Object.assign({}, this.currentParams, params)\n\n this.setInstance({componentPathParts, match: {params}, newParams})\n this.setState({matches})\n this.switchGroup?.setPathMatched(matchId, true)\n } else {\n this.setInstance({componentPathParts: null, match: null, newParams: null})\n this.setState({matches})\n this.switchGroup?.setPathMatched(matchId, false)\n }\n }\n\n async loadComponent() {\n const actualComponentPath = this.props.componentPath || this.tt.componentPathParts.join(\"/\")\n let Component\n\n this.log(() => [\"loadComponent\", {componentPath: this.props.componentPath, componentPathParts: this.componentPathParts, actualComponentPath}])\n\n try {\n const componentImport = await this.tt.requireComponent({routeDefinition: {component: actualComponentPath}})\n\n Component = componentImport.default\n } catch (error) {\n console.error(`Couldn't find component: ${actualComponentPath}`)\n\n throw error\n }\n\n this.setState({Component, componentNotFound: !Component})\n }\n\n log(callbackArgs) {\n if (this.debug) {\n let args = callbackArgs()\n\n if (!Array.isArray(args)) args = [args]\n\n console.log(...args)\n }\n }\n\n render() {\n const {componentPathParts, match, newParams, newRouteParts} = this.tt\n const {children, component, path} = this.props\n const {Component, componentNotFound, matches} = this.s\n\n if (!matches || !this.hasSwitchMatch()) {\n // Route isn't matching and shouldn't be rendered at all.\n return null\n }\n\n if (!Component && !children && !componentNotFound) {\n // Route is matching but hasn't been loaded yet.\n return (\n <div>\n Loading {component || this.props.componentPath || componentPathParts.join(\"/\")}\n </div>\n )\n }\n\n if (!Component && !children && componentNotFound) {\n // Don't render anything if the component couldn't be found.\n return null\n }\n\n return (\n <CurrentPathContext.Provider value={componentPathParts}>\n <RouteContext.Provider value={newRouteParts.join(\"/\")}>\n <ParamsContext.Provider value={newParams}>\n <Switch name={`route-group-${path}`} single={false}>\n {Component && <Component match={match} />}\n {children}\n </Switch>\n </ParamsContext.Provider>\n </RouteContext.Provider>\n </CurrentPathContext.Provider>\n )\n }\n}))\n\nexport {RequireComponentContext, RouteContext, Switch, useParams}\nexport default Route\n"],"mappings":"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","ignoreList":[]}
@@ -69,4 +69,4 @@ const Switch = memo(shapeComponent(class Switch extends BaseComponent {
69
69
  }));
70
70
  export { CurrentSwitchContext };
71
71
  export default Switch;
72
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCYXNlQ29tcG9uZW50IiwiY3JlYXRlQ29udGV4dCIsIm1lbW8iLCJQcm9wVHlwZXMiLCJwcm9wVHlwZXNFeGFjdCIsInNoYXBlQ29tcG9uZW50IiwiQ3VycmVudFN3aXRjaENvbnRleHQiLCJTd2l0Y2giLCJkZWZhdWx0UHJvcHMiLCJuYW1lIiwic2luZ2xlIiwicHJvcFR5cGVzIiwiY2hpbGRyZW4iLCJub2RlIiwic3RyaW5nIiwiYm9vbCIsInBhdGhzTWF0Y2hlZEtleXMiLCJzZXR1cCIsInVzZVN0YXRlcyIsImxhc3RVcGRhdGUiLCJEYXRlIiwicGF0aFNob3duIiwidW5kZWZpbmVkIiwicGF0aHNNYXRjaGVkIiwicmVuZGVyIiwicyIsIlJlYWN0IiwiY3JlYXRlRWxlbWVudCIsIlByb3ZpZGVyIiwidmFsdWUiLCJzd2l0Y2hHcm91cCIsInByb3BzIiwicGF0aE1hdGNoZWQiLCJ0dCIsImlzUGF0aE1hdGNoZWQiLCJzZXRQYXRoTWF0Y2hlZCIsInBhdGgiLCJtYXRjaGVkIiwiRXJyb3IiLCJpbmNsdWRlcyIsInB1c2giLCJuZXdQYXRoc01hdGNoZWQiLCJzZXRTdGF0ZSIsIk1hdGgiLCJyYW5kb20iLCJnZXRUaW1lIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3JvdXRlci9zd2l0Y2guanN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBCYXNlQ29tcG9uZW50IGZyb20gXCIuLi9iYXNlLWNvbXBvbmVudFwiXG5pbXBvcnQge2NyZWF0ZUNvbnRleHR9IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQgbWVtbyBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvc3JjL21lbW9cIlxuaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiXG5pbXBvcnQgcHJvcFR5cGVzRXhhY3QgZnJvbSBcInByb3AtdHlwZXMtZXhhY3RcIlxuaW1wb3J0IHtzaGFwZUNvbXBvbmVudH0gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL3NyYy9zaGFwZS1jb21wb25lbnRcIlxuXG5jb25zdCBDdXJyZW50U3dpdGNoQ29udGV4dCA9IGNyZWF0ZUNvbnRleHQoW10pXG5cbmNvbnN0IFN3aXRjaCA9IG1lbW8oc2hhcGVDb21wb25lbnQoY2xhc3MgU3dpdGNoIGV4dGVuZHMgQmFzZUNvbXBvbmVudCB7XG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgbmFtZTogXCJbbm8gbmFtZV1cIixcbiAgICBzaW5nbGU6IHRydWVcbiAgfVxuXG4gIHN0YXRpYyBwcm9wVHlwZXMgPSBwcm9wVHlwZXNFeGFjdCh7XG4gICAgY2hpbGRyZW46IFByb3BUeXBlcy5ub2RlLFxuICAgIG5hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgc2luZ2xlOiBQcm9wVHlwZXMuYm9vbFxuICB9KVxuXG4gIHBhdGhzTWF0Y2hlZEtleXMgPSBbXVxuXG4gIHNldHVwKCkge1xuICAgIHRoaXMudXNlU3RhdGVzKHtcbiAgICAgIGxhc3RVcGRhdGU6IG5ldyBEYXRlKCksXG4gICAgICBwYXRoU2hvd246IHVuZGVmaW5lZCxcbiAgICAgIHBhdGhzTWF0Y2hlZDoge31cbiAgICB9KVxuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHtwYXRoU2hvd24sIHBhdGhzTWF0Y2hlZH0gPSB0aGlzLnNcblxuICAgIHJldHVybiAoXG4gICAgICA8Q3VycmVudFN3aXRjaENvbnRleHQuUHJvdmlkZXIgdmFsdWU9e3twYXRoU2hvd24sIHBhdGhzTWF0Y2hlZCwgc3dpdGNoR3JvdXA6IHRoaXN9fT5cbiAgICAgICAge3RoaXMucHJvcHMuY2hpbGRyZW59XG4gICAgICA8L0N1cnJlbnRTd2l0Y2hDb250ZXh0LlByb3ZpZGVyPlxuICAgIClcbiAgfVxuXG4gIHBhdGhTaG93bihwYXRoc01hdGNoZWQpIHtcbiAgICBmb3IgKGNvbnN0IHBhdGhNYXRjaGVkIG9mIHRoaXMudHQucGF0aHNNYXRjaGVkS2V5cykge1xuICAgICAgY29uc3QgaXNQYXRoTWF0Y2hlZCA9IHBhdGhzTWF0Y2hlZFtwYXRoTWF0Y2hlZF1cblxuICAgICAgaWYgKGlzUGF0aE1hdGNoZWQpIHtcbiAgICAgICAgcmV0dXJuIHBhdGhNYXRjaGVkXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc2V0UGF0aE1hdGNoZWQocGF0aCwgbWF0Y2hlZCkge1xuICAgIGNvbnN0IHtwYXRoc01hdGNoZWRLZXlzfSA9IHRoaXMudHRcbiAgICBjb25zdCB7cGF0aHNNYXRjaGVkfSA9IHRoaXMuc1xuXG4gICAgaWYgKCFwYXRoKSB0aHJvdyBuZXcgRXJyb3IoXCJObyAncGF0aCcgZ2l2ZW5cIilcbiAgICBpZiAocGF0aHNNYXRjaGVkW3BhdGhdID09IG1hdGNoZWQpIHJldHVyblxuXG4gICAgaWYgKCFwYXRoc01hdGNoZWRLZXlzLmluY2x1ZGVzKHBhdGgpKSB7XG4gICAgICBwYXRoc01hdGNoZWRLZXlzLnB1c2gocGF0aClcbiAgICB9XG5cbiAgICBjb25zdCBuZXdQYXRoc01hdGNoZWQgPSB7Li4udGhpcy5zLnBhdGhzTWF0Y2hlZH1cblxuICAgIG5ld1BhdGhzTWF0Y2hlZFtwYXRoXSA9IG1hdGNoZWRcblxuICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgbGFzdFVwZGF0ZTogTWF0aC5yYW5kb20oKSArIG5ldyBEYXRlKCkuZ2V0VGltZSgpLFxuICAgICAgcGF0aFNob3duOiB0aGlzLnBhdGhTaG93bihuZXdQYXRoc01hdGNoZWQpLFxuICAgICAgcGF0aHNNYXRjaGVkOiBuZXdQYXRoc01hdGNoZWRcbiAgICB9KVxuICB9XG59KSlcblxuZXhwb3J0IHtDdXJyZW50U3dpdGNoQ29udGV4dH1cbmV4cG9ydCBkZWZhdWx0IFN3aXRjaFxuIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxhQUFhLE1BQU0sbUJBQW1CO0FBQzdDLFNBQVFDLGFBQWEsUUFBTyxPQUFPO0FBQ25DLE9BQU9DLElBQUksTUFBTSw0QkFBNEI7QUFDN0MsT0FBT0MsU0FBUyxNQUFNLFlBQVk7QUFDbEMsT0FBT0MsY0FBYyxNQUFNLGtCQUFrQjtBQUM3QyxTQUFRQyxjQUFjLFFBQU8sdUNBQXVDO0FB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
72
+ //# sourceMappingURL=switch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"switch.js","names":["BaseComponent","createContext","memo","PropTypes","propTypesExact","shapeComponent","CurrentSwitchContext","Switch","defaultProps","name","single","propTypes","children","node","string","bool","pathsMatchedKeys","setup","useStates","lastUpdate","Date","pathShown","undefined","pathsMatched","render","s","React","createElement","Provider","value","switchGroup","props","pathMatched","tt","isPathMatched","setPathMatched","path","matched","Error","includes","push","newPathsMatched","setState","Math","random","getTime"],"sources":["../../src/router/switch.jsx"],"sourcesContent":["import BaseComponent from \"../base-component\"\nimport {createContext} from \"react\"\nimport memo from \"set-state-compare/src/memo\"\nimport PropTypes from \"prop-types\"\nimport propTypesExact from \"prop-types-exact\"\nimport {shapeComponent} from \"set-state-compare/src/shape-component\"\n\nconst CurrentSwitchContext = createContext([])\n\nconst Switch = memo(shapeComponent(class Switch extends BaseComponent {\n static defaultProps = {\n name: \"[no name]\",\n single: true\n }\n\n static propTypes = propTypesExact({\n children: PropTypes.node,\n name: PropTypes.string,\n single: PropTypes.bool\n })\n\n pathsMatchedKeys = []\n\n setup() {\n this.useStates({\n lastUpdate: new Date(),\n pathShown: undefined,\n pathsMatched: {}\n })\n }\n\n render() {\n const {pathShown, pathsMatched} = this.s\n\n return (\n <CurrentSwitchContext.Provider value={{pathShown, pathsMatched, switchGroup: this}}>\n {this.props.children}\n </CurrentSwitchContext.Provider>\n )\n }\n\n pathShown(pathsMatched) {\n for (const pathMatched of this.tt.pathsMatchedKeys) {\n const isPathMatched = pathsMatched[pathMatched]\n\n if (isPathMatched) {\n return pathMatched\n }\n }\n }\n\n setPathMatched(path, matched) {\n const {pathsMatchedKeys} = this.tt\n const {pathsMatched} = this.s\n\n if (!path) throw new Error(\"No 'path' given\")\n if (pathsMatched[path] == matched) return\n\n if (!pathsMatchedKeys.includes(path)) {\n pathsMatchedKeys.push(path)\n }\n\n const newPathsMatched = {...this.s.pathsMatched}\n\n newPathsMatched[path] = matched\n\n this.setState({\n lastUpdate: Math.random() + new Date().getTime(),\n pathShown: this.pathShown(newPathsMatched),\n pathsMatched: newPathsMatched\n })\n }\n}))\n\nexport {CurrentSwitchContext}\nexport default Switch\n"],"mappings":"AAAA,OAAOA,aAAa,MAAM,mBAAmB;AAC7C,SAAQC,aAAa,QAAO,OAAO;AACnC,OAAOC,IAAI,MAAM,4BAA4B;AAC7C,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,cAAc,MAAM,kBAAkB;AAC7C,SAAQC,cAAc,QAAO,uCAAuC;AAEpE,MAAMC,oBAAoB,gBAAGL,aAAa,CAAC,EAAE,CAAC;AAE9C,MAAMM,MAAM,GAAGL,IAAI,CAACG,cAAc,CAAC,MAAME,MAAM,SAASP,aAAa,CAAC;EACpE,OAAOQ,YAAY,GAAG;IACpBC,IAAI,EAAE,WAAW;IACjBC,MAAM,EAAE;EACV,CAAC;EAED,OAAOC,SAAS,GAAGP,cAAc,CAAC;IAChCQ,QAAQ,EAAET,SAAS,CAACU,IAAI;IACxBJ,IAAI,EAAEN,SAAS,CAACW,MAAM;IACtBJ,MAAM,EAAEP,SAAS,CAACY;EACpB,CAAC,CAAC;EAEFC,gBAAgB,GAAG,EAAE;EAErBC,KAAKA,CAAA,EAAG;IACN,IAAI,CAACC,SAAS,CAAC;MACbC,UAAU,EAAE,IAAIC,IAAI,CAAC,CAAC;MACtBC,SAAS,EAAEC,SAAS;MACpBC,YAAY,EAAE,CAAC;IACjB,CAAC,CAAC;EACJ;EAEAC,MAAMA,CAAA,EAAG;IACP,MAAM;MAACH,SAAS;MAAEE;IAAY,CAAC,GAAG,IAAI,CAACE,CAAC;IAExC,oBACEC,KAAA,CAAAC,aAAA,CAACrB,oBAAoB,CAACsB,QAAQ;MAACC,KAAK,EAAE;QAACR,SAAS;QAAEE,YAAY;QAAEO,WAAW,EAAE;MAAI;IAAE,GAChF,IAAI,CAACC,KAAK,CAACnB,QACiB,CAAC;EAEpC;EAEAS,SAASA,CAACE,YAAY,EAAE;IACtB,KAAK,MAAMS,WAAW,IAAI,IAAI,CAACC,EAAE,CAACjB,gBAAgB,EAAE;MAClD,MAAMkB,aAAa,GAAGX,YAAY,CAACS,WAAW,CAAC;MAE/C,IAAIE,aAAa,EAAE;QACjB,OAAOF,WAAW;MACpB;IACF;EACF;EAEAG,cAAcA,CAACC,IAAI,EAAEC,OAAO,EAAE;IAC5B,MAAM;MAACrB;IAAgB,CAAC,GAAG,IAAI,CAACiB,EAAE;IAClC,MAAM;MAACV;IAAY,CAAC,GAAG,IAAI,CAACE,CAAC;IAE7B,IAAI,CAACW,IAAI,EAAE,MAAM,IAAIE,KAAK,CAAC,iBAAiB,CAAC;IAC7C,IAAIf,YAAY,CAACa,IAAI,CAAC,IAAIC,OAAO,EAAE;IAEnC,IAAI,CAACrB,gBAAgB,CAACuB,QAAQ,CAACH,IAAI,CAAC,EAAE;MACpCpB,gBAAgB,CAACwB,IAAI,CAACJ,IAAI,CAAC;IAC7B;IAEA,MAAMK,eAAe,GAAG;MAAC,GAAG,IAAI,CAAChB,CAAC,CAACF;IAAY,CAAC;IAEhDkB,eAAe,CAACL,IAAI,CAAC,GAAGC,OAAO;IAE/B,IAAI,CAACK,QAAQ,CAAC;MACZvB,UAAU,EAAEwB,IAAI,CAACC,MAAM,CAAC,CAAC,GAAG,IAAIxB,IAAI,CAAC,CAAC,CAACyB,OAAO,CAAC,CAAC;MAChDxB,SAAS,EAAE,IAAI,CAACA,SAAS,CAACoB,eAAe,CAAC;MAC1ClB,YAAY,EAAEkB;IAChB,CAAC,CAAC;EACJ;AACF,CAAC,CAAC,CAAC;AAEH,SAAQnC,oBAAoB;AAC5B,eAAeC,MAAM","ignoreList":[]}
package/build/router.js CHANGED
@@ -54,4 +54,4 @@ export default /*#__PURE__*/memo(shapeComponent(class ApiMakerRouter extends Bas
54
54
  }));
55
55
  }
56
56
  }));
57
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCYXNlQ29tcG9uZW50IiwiUHJvcFR5cGVzIiwicHJvcFR5cGVzRXhhY3QiLCJSZWFjdCIsIm1lbW8iLCJzaGFwZUNvbXBvbmVudCIsIlN1c3BlbnNlIiwidXNlUGF0aCIsInVzZVJvdXRlciIsIkFwaU1ha2VyUm91dGVyIiwicHJvcFR5cGVzIiwiaGlzdG9yeSIsIm9iamVjdCIsIm5vdEZvdW5kQ29tcG9uZW50IiwiZWxlbWVudFR5cGUiLCJyZXF1aXJlQ29tcG9uZW50IiwiZnVuYyIsImlzUmVxdWlyZWQiLCJyb3V0ZURlZmluaXRpb25zIiwicm91dGVzIiwicmVuZGVyIiwicGF0aCIsInByb3BzIiwibWF0Y2giLCJtYXRjaGluZ1JvdXRlIiwiTm90Rm91bmRDb21wb25lbnQiLCJjcmVhdGVFbGVtZW50IiwiZmFsbGJhY2siLCJDb21wb25lbnQiLCJyb3V0ZURlZmluaXRpb24iLCJwYXJzZWRSb3V0ZURlZmluaXRpb24iXSwic291cmNlcyI6WyIuLi9zcmMvcm91dGVyLmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQmFzZUNvbXBvbmVudCBmcm9tIFwiLi9iYXNlLWNvbXBvbmVudFwiXG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCJcbmltcG9ydCBwcm9wVHlwZXNFeGFjdCBmcm9tIFwicHJvcC10eXBlcy1leGFjdFwiXG5pbXBvcnQgUmVhY3QsIHttZW1vfSBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IHtzaGFwZUNvbXBvbmVudH0gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL3NyYy9zaGFwZS1jb21wb25lbnRcIlxuaW1wb3J0IHtTdXNwZW5zZX0gZnJvbSBcInJlYWN0XCJcbmltcG9ydCB1c2VQYXRoIGZyb20gXCJvbi1sb2NhdGlvbi1jaGFuZ2VkL3NyYy91c2UtcGF0aFwiXG5pbXBvcnQgdXNlUm91dGVyIGZyb20gXCIuL3VzZS1yb3V0ZXJcIlxuXG5leHBvcnQgZGVmYXVsdCBtZW1vKHNoYXBlQ29tcG9uZW50KGNsYXNzIEFwaU1ha2VyUm91dGVyIGV4dGVuZHMgQmFzZUNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSBwcm9wVHlwZXNFeGFjdCh7XG4gICAgaGlzdG9yeTogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBub3RGb3VuZENvbXBvbmVudDogUHJvcFR5cGVzLmVsZW1lbnRUeXBlLFxuICAgIHJlcXVpcmVDb21wb25lbnQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgcm91dGVEZWZpbml0aW9uczogUHJvcFR5cGVzLm9iamVjdCxcbiAgICByb3V0ZXM6IFByb3BUeXBlcy5vYmplY3RcbiAgfSlcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgcGF0aCA9IHVzZVBhdGgoKVxuICAgIGNvbnN0IHtub3RGb3VuZENvbXBvbmVudCwgcmVxdWlyZUNvbXBvbmVudCwgcm91dGVEZWZpbml0aW9ucywgcm91dGVzfSA9IHRoaXMucHJvcHNcbiAgICBjb25zdCB7bWF0Y2h9ID0gdXNlUm91dGVyKHtwYXRoLCByb3V0ZXMsIHJvdXRlRGVmaW5pdGlvbnN9KVxuICAgIGNvbnN0IHttYXRjaGluZ1JvdXRlfSA9IG1hdGNoXG5cbiAgICBpZiAoIW1hdGNoaW5nUm91dGUpIHtcbiAgICAgIGlmIChub3RGb3VuZENvbXBvbmVudCkge1xuICAgICAgICBjb25zdCBOb3RGb3VuZENvbXBvbmVudCA9IG5vdEZvdW5kQ29tcG9uZW50XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8U3VzcGVuc2UgZmFsbGJhY2s9ezxkaXYgLz59PlxuICAgICAgICAgICAgPE5vdEZvdW5kQ29tcG9uZW50IG1hdGNoPXttYXRjaH0gLz5cbiAgICAgICAgICA8L1N1c3BlbnNlPlxuICAgICAgICApXG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gbnVsbFxuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IENvbXBvbmVudCA9IHJlcXVpcmVDb21wb25lbnQoe3JvdXRlRGVmaW5pdGlvbjogbWF0Y2hpbmdSb3V0ZS5wYXJzZWRSb3V0ZURlZmluaXRpb24ucm91dGVEZWZpbml0aW9ufSlcblxuICAgIHJldHVybiAoXG4gICAgICA8U3VzcGVuc2UgZmFsbGJhY2s9ezxkaXYgLz59PlxuICAgICAgICA8Q29tcG9uZW50IG1hdGNoPXttYXRjaH0gLz5cbiAgICAgIDwvU3VzcGVuc2U+XG4gICAgKVxuICB9XG59KSlcbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsYUFBYSxNQUFNLGtCQUFrQjtBQUM1QyxPQUFPQyxTQUFTLE1BQU0sWUFBWTtBQUNsQyxPQUFPQyxjQUFjLE1BQU0sa0JBQWtCO0FBQzdDLE9BQU9DLEtBQUssSUFBR0MsSUFBSSxRQUFPLE9BQU87QUFDakMsU0FBUUMsY0FBYyxRQUFPLHVDQUF1QztBQUNwRSxTQUFRQyxRQUFRLFFBQU8sT0FBTztBQUM5QixPQUFPQyxPQUFPLE1BQU0sa0NBQWtDO0FBQ3RELE9BQU9DLFNBQVMsTUFBTSxjQUFjO0FBRXBDLDRCQUFlSixJQUFJLENBQUNDLGNBQWMsQ0FBQyxNQUFNSSxjQUFjLFNBQVNULGFBQWEsQ0FBQztFQUM1RSxPQUFPVSxTQUFTLEdBQUdSLGNBQWMsQ0FBQztJQUNoQ1MsT0FBTyxFQUFFVixTQUFTLENBQUNXLE1BQU07SUFDekJDLGlCQUFpQixFQUFFWixTQUFTLENBQUNhLFdBQVc7SUFDeENDLGdCQUFnQixFQUFFZCxTQUFTLENBQUNlLElBQUksQ0FBQ0MsVUFBVTtJQUMzQ0MsZ0JBQWdCLEVBQUVqQixTQUFTLENBQUNXLE1BQU07SUFDbENPLE1BQU0sRUFBRWxCLFNBQVMsQ0FBQ1c7RUFDcEIsQ0FBQyxDQUFDO0VBRUZRLE1BQU1BLENBQUEsRUFBRztJQUNQLE1BQU1DLElBQUksR0FBR2QsT0FBTyxDQUFDLENBQUM7SUFDdEIsTUFBTTtNQUFDTSxpQkFBaUI7TUFBRUUsZ0JBQWdCO01BQUVHLGdCQUFnQjtNQUFFQztJQUFNLENBQUMsR0FBRyxJQUFJLENBQUNHLEtBQUs7SUFDbEYsTUFBTTtNQUFDQztJQUFLLENBQUMsR0FBR2YsU0FBUyxDQUFDO01BQUNhLElBQUk7TUFBRUYsTUFBTTtNQUFFRDtJQUFnQixDQUFDLENBQUM7SUFDM0QsTUFBTTtNQUFDTTtJQUFhLENBQUMsR0FBR0QsS0FBSztJQUU3QixJQUFJLENBQUNDLGFBQWEsRUFBRTtNQUNsQixJQUFJWCxpQkFBaUIsRUFBRTtRQUNyQixNQUFNWSxpQkFBaUIsR0FBR1osaUJBQWlCO1FBRTNDLG9CQUNFVixLQUFBLENBQUF1QixhQUFBLENBQUNwQixRQUFRO1VBQUNxQixRQUFRLGVBQUV4QixLQUFBLENBQUF1QixhQUFBLFlBQU07UUFBRSxnQkFDMUJ2QixLQUFBLENBQUF1QixhQUFBLENBQUNELGlCQUFpQjtVQUFDRixLQUFLLEVBQUVBO1FBQU0sQ0FBRSxDQUMxQixDQUFDO01BRWYsQ0FBQyxNQUFNO1FBQ0wsT0FBTyxJQUFJO01BQ2I7SUFDRjtJQUVBLE1BQU1LLFNBQVMsR0FBR2IsZ0JBQWdCLENBQUM7TUFBQ2MsZUFBZSxFQUFFTCxhQUFhLENBQUNNLHFCQUFxQixDQUFDRDtJQUFlLENBQUMsQ0FBQztJQUUxRyxvQkFDRTFCLEtBQUEsQ0FBQXVCLGFBQUEsQ0FBQ3BCLFFBQVE7TUFBQ3FCLFFBQVEsZUFBRXhCLEtBQUEsQ0FBQXVCLGFBQUEsWUFBTTtJQUFFLGdCQUMxQnZCLEtBQUEsQ0FBQXVCLGFBQUEsQ0FBQ0UsU0FBUztNQUFDTCxLQUFLLEVBQUVBO0lBQU0sQ0FBRSxDQUNsQixDQUFDO0VBRWY7QUFDRixDQUFDLENBQUMsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
57
+ //# sourceMappingURL=router.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"router.js","names":["BaseComponent","PropTypes","propTypesExact","React","memo","shapeComponent","Suspense","usePath","useRouter","ApiMakerRouter","propTypes","history","object","notFoundComponent","elementType","requireComponent","func","isRequired","routeDefinitions","routes","render","path","props","match","matchingRoute","NotFoundComponent","createElement","fallback","Component","routeDefinition","parsedRouteDefinition"],"sources":["../src/router.jsx"],"sourcesContent":["import BaseComponent from \"./base-component\"\nimport PropTypes from \"prop-types\"\nimport propTypesExact from \"prop-types-exact\"\nimport React, {memo} from \"react\"\nimport {shapeComponent} from \"set-state-compare/src/shape-component\"\nimport {Suspense} from \"react\"\nimport usePath from \"on-location-changed/src/use-path\"\nimport useRouter from \"./use-router\"\n\nexport default memo(shapeComponent(class ApiMakerRouter extends BaseComponent {\n static propTypes = propTypesExact({\n history: PropTypes.object,\n notFoundComponent: PropTypes.elementType,\n requireComponent: PropTypes.func.isRequired,\n routeDefinitions: PropTypes.object,\n routes: PropTypes.object\n })\n\n render() {\n const path = usePath()\n const {notFoundComponent, requireComponent, routeDefinitions, routes} = this.props\n const {match} = useRouter({path, routes, routeDefinitions})\n const {matchingRoute} = match\n\n if (!matchingRoute) {\n if (notFoundComponent) {\n const NotFoundComponent = notFoundComponent\n\n return (\n <Suspense fallback={<div />}>\n <NotFoundComponent match={match} />\n </Suspense>\n )\n } else {\n return null\n }\n }\n\n const Component = requireComponent({routeDefinition: matchingRoute.parsedRouteDefinition.routeDefinition})\n\n return (\n <Suspense fallback={<div />}>\n <Component match={match} />\n </Suspense>\n )\n }\n}))\n"],"mappings":"AAAA,OAAOA,aAAa,MAAM,kBAAkB;AAC5C,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,cAAc,MAAM,kBAAkB;AAC7C,OAAOC,KAAK,IAAGC,IAAI,QAAO,OAAO;AACjC,SAAQC,cAAc,QAAO,uCAAuC;AACpE,SAAQC,QAAQ,QAAO,OAAO;AAC9B,OAAOC,OAAO,MAAM,kCAAkC;AACtD,OAAOC,SAAS,MAAM,cAAc;AAEpC,4BAAeJ,IAAI,CAACC,cAAc,CAAC,MAAMI,cAAc,SAAST,aAAa,CAAC;EAC5E,OAAOU,SAAS,GAAGR,cAAc,CAAC;IAChCS,OAAO,EAAEV,SAAS,CAACW,MAAM;IACzBC,iBAAiB,EAAEZ,SAAS,CAACa,WAAW;IACxCC,gBAAgB,EAAEd,SAAS,CAACe,IAAI,CAACC,UAAU;IAC3CC,gBAAgB,EAAEjB,SAAS,CAACW,MAAM;IAClCO,MAAM,EAAElB,SAAS,CAACW;EACpB,CAAC,CAAC;EAEFQ,MAAMA,CAAA,EAAG;IACP,MAAMC,IAAI,GAAGd,OAAO,CAAC,CAAC;IACtB,MAAM;MAACM,iBAAiB;MAAEE,gBAAgB;MAAEG,gBAAgB;MAAEC;IAAM,CAAC,GAAG,IAAI,CAACG,KAAK;IAClF,MAAM;MAACC;IAAK,CAAC,GAAGf,SAAS,CAAC;MAACa,IAAI;MAAEF,MAAM;MAAED;IAAgB,CAAC,CAAC;IAC3D,MAAM;MAACM;IAAa,CAAC,GAAGD,KAAK;IAE7B,IAAI,CAACC,aAAa,EAAE;MAClB,IAAIX,iBAAiB,EAAE;QACrB,MAAMY,iBAAiB,GAAGZ,iBAAiB;QAE3C,oBACEV,KAAA,CAAAuB,aAAA,CAACpB,QAAQ;UAACqB,QAAQ,eAAExB,KAAA,CAAAuB,aAAA,YAAM;QAAE,gBAC1BvB,KAAA,CAAAuB,aAAA,CAACD,iBAAiB;UAACF,KAAK,EAAEA;QAAM,CAAE,CAC1B,CAAC;MAEf,CAAC,MAAM;QACL,OAAO,IAAI;MACb;IACF;IAEA,MAAMK,SAAS,GAAGb,gBAAgB,CAAC;MAACc,eAAe,EAAEL,aAAa,CAACM,qBAAqB,CAACD;IAAe,CAAC,CAAC;IAE1G,oBACE1B,KAAA,CAAAuB,aAAA,CAACpB,QAAQ;MAACqB,QAAQ,eAAExB,KAAA,CAAAuB,aAAA,YAAM;IAAE,gBAC1BvB,KAAA,CAAAuB,aAAA,CAACE,SAAS;MAACL,KAAK,EAAEA;IAAM,CAAE,CAClB,CAAC;EAEf;AACF,CAAC,CAAC,CAAC","ignoreList":[]}