@livepreso/api 6.48.1 → 6.49.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (365) hide show
  1. package/.lintstagedrc.js +6 -0
  2. package/.rush/temp/chunked-rush-logs/api.build.chunks.jsonl +6 -0
  3. package/.rush/temp/chunked-rush-logs/api.test.chunks.jsonl +1 -0
  4. package/.rush/temp/operation/build/all.log +6 -0
  5. package/.rush/temp/operation/build/log-chunks.jsonl +6 -0
  6. package/.rush/temp/operation/build/state.json +3 -0
  7. package/.rush/temp/shrinkwrap-deps.json +1131 -1013
  8. package/CHANGELOG.json +20 -0
  9. package/CHANGELOG.md +9 -1
  10. package/bin/test.sh +0 -0
  11. package/cjs/api.js +3 -18
  12. package/cjs/api.js.map +1 -1
  13. package/cjs/api.spec.js +0 -4
  14. package/cjs/api.spec.js.map +1 -1
  15. package/cjs/auth.js +2 -29
  16. package/cjs/auth.js.map +1 -1
  17. package/cjs/auth.spec.js +55 -80
  18. package/cjs/auth.spec.js.map +1 -1
  19. package/cjs/caching.js +2 -7
  20. package/cjs/caching.js.map +1 -1
  21. package/cjs/collections/activity.js +18 -58
  22. package/cjs/collections/activity.js.map +1 -1
  23. package/cjs/collections/adjunct-sections.js +2 -11
  24. package/cjs/collections/adjunct-sections.js.map +1 -1
  25. package/cjs/collections/adjunct-slides.js +2 -11
  26. package/cjs/collections/adjunct-slides.js.map +1 -1
  27. package/cjs/collections/adjunct-sub-slides.js +2 -10
  28. package/cjs/collections/adjunct-sub-slides.js.map +1 -1
  29. package/cjs/collections/appointment-adjunct-tags.js +1 -9
  30. package/cjs/collections/appointment-adjunct-tags.js.map +1 -1
  31. package/cjs/collections/appointment-deckversion-tags.js +1 -9
  32. package/cjs/collections/appointment-deckversion-tags.js.map +1 -1
  33. package/cjs/collections/appointment-editors.js +1 -10
  34. package/cjs/collections/appointment-editors.js.map +1 -1
  35. package/cjs/collections/appointment-section-tags.js +1 -9
  36. package/cjs/collections/appointment-section-tags.js.map +1 -1
  37. package/cjs/collections/appointment-slide-tags.js +1 -9
  38. package/cjs/collections/appointment-slide-tags.js.map +1 -1
  39. package/cjs/collections/appointment-tags.js +69 -108
  40. package/cjs/collections/appointment-tags.js.map +1 -1
  41. package/cjs/collections/appointment-templates.js +1 -10
  42. package/cjs/collections/appointment-templates.js.map +1 -1
  43. package/cjs/collections/appointments.js +9 -29
  44. package/cjs/collections/appointments.js.map +1 -1
  45. package/cjs/collections/assets.js +1 -9
  46. package/cjs/collections/assets.js.map +1 -1
  47. package/cjs/collections/auto-adjuncts.js +6 -21
  48. package/cjs/collections/auto-adjuncts.js.map +1 -1
  49. package/cjs/collections/base.js +54 -118
  50. package/cjs/collections/base.js.map +1 -1
  51. package/cjs/collections/base.spec.js +195 -242
  52. package/cjs/collections/base.spec.js.map +1 -1
  53. package/cjs/collections/cms-vals.js +4 -16
  54. package/cjs/collections/cms-vals.js.map +1 -1
  55. package/cjs/collections/contact-phones.js +1 -9
  56. package/cjs/collections/contact-phones.js.map +1 -1
  57. package/cjs/collections/contacts.js +1 -9
  58. package/cjs/collections/contacts.js.map +1 -1
  59. package/cjs/collections/created-assets.js +1 -10
  60. package/cjs/collections/created-assets.js.map +1 -1
  61. package/cjs/collections/customers.js +1 -9
  62. package/cjs/collections/customers.js.map +1 -1
  63. package/cjs/collections/deck-notes.js +1 -10
  64. package/cjs/collections/deck-notes.js.map +1 -1
  65. package/cjs/collections/deck-version-screenshots.js +4 -17
  66. package/cjs/collections/deck-version-screenshots.js.map +1 -1
  67. package/cjs/collections/deck-versions.js +5 -20
  68. package/cjs/collections/deck-versions.js.map +1 -1
  69. package/cjs/collections/decks.js +1 -9
  70. package/cjs/collections/decks.js.map +1 -1
  71. package/cjs/collections/deleted-assets.js +1 -10
  72. package/cjs/collections/deleted-assets.js.map +1 -1
  73. package/cjs/collections/dispatches.js +1 -13
  74. package/cjs/collections/dispatches.js.map +1 -1
  75. package/cjs/collections/event-objects.js +1 -9
  76. package/cjs/collections/event-objects.js.map +1 -1
  77. package/cjs/collections/events.js +1 -9
  78. package/cjs/collections/events.js.map +1 -1
  79. package/cjs/collections/groups.js +1 -9
  80. package/cjs/collections/groups.js.map +1 -1
  81. package/cjs/collections/images.js +1 -9
  82. package/cjs/collections/images.js.map +1 -1
  83. package/cjs/collections/locations.js +1 -9
  84. package/cjs/collections/locations.js.map +1 -1
  85. package/cjs/collections/opportunities.js +1 -9
  86. package/cjs/collections/opportunities.js.map +1 -1
  87. package/cjs/collections/pack-diffs.js +1 -9
  88. package/cjs/collections/pack-diffs.js.map +1 -1
  89. package/cjs/collections/packs.js +1 -9
  90. package/cjs/collections/packs.js.map +1 -1
  91. package/cjs/collections/presets.js +1 -9
  92. package/cjs/collections/presets.js.map +1 -1
  93. package/cjs/collections/section-selections.js +2 -10
  94. package/cjs/collections/section-selections.js.map +1 -1
  95. package/cjs/collections/sections.js +1 -9
  96. package/cjs/collections/sections.js.map +1 -1
  97. package/cjs/collections/signers.js +1 -9
  98. package/cjs/collections/signers.js.map +1 -1
  99. package/cjs/collections/signing-backends.js +1 -9
  100. package/cjs/collections/signing-backends.js.map +1 -1
  101. package/cjs/collections/signing-requests.js +1 -9
  102. package/cjs/collections/signing-requests.js.map +1 -1
  103. package/cjs/collections/slide-selections.js +2 -10
  104. package/cjs/collections/slide-selections.js.map +1 -1
  105. package/cjs/collections/slides.js +1 -9
  106. package/cjs/collections/slides.js.map +1 -1
  107. package/cjs/collections/snapshots.js +1 -9
  108. package/cjs/collections/snapshots.js.map +1 -1
  109. package/cjs/collections/sub-slides.js +1 -9
  110. package/cjs/collections/sub-slides.js.map +1 -1
  111. package/cjs/collections/tags.js +1 -9
  112. package/cjs/collections/tags.js.map +1 -1
  113. package/cjs/collections/teams.js +1 -9
  114. package/cjs/collections/teams.js.map +1 -1
  115. package/cjs/collections/templates.js +1 -9
  116. package/cjs/collections/templates.js.map +1 -1
  117. package/cjs/collections/uploads.js +1 -9
  118. package/cjs/collections/uploads.js.map +1 -1
  119. package/cjs/collections/users.js +1 -9
  120. package/cjs/collections/users.js.map +1 -1
  121. package/cjs/collections.js +0 -96
  122. package/cjs/collections.js.map +1 -1
  123. package/cjs/fixtures.js +19 -57
  124. package/cjs/fixtures.js.map +1 -1
  125. package/cjs/index.js +0 -12
  126. package/cjs/index.js.map +1 -1
  127. package/cjs/log.js +0 -1
  128. package/cjs/log.js.map +1 -1
  129. package/cjs/middleware.js +2 -7
  130. package/cjs/middleware.js.map +1 -1
  131. package/cjs/middlewares/auth.js +7 -25
  132. package/cjs/middlewares/auth.js.map +1 -1
  133. package/cjs/middlewares/base.js +4 -11
  134. package/cjs/middlewares/base.js.map +1 -1
  135. package/cjs/middlewares/json.js +7 -27
  136. package/cjs/middlewares/json.js.map +1 -1
  137. package/cjs/middlewares/redirect.js +11 -29
  138. package/cjs/middlewares/redirect.js.map +1 -1
  139. package/cjs/models/activity-item.js +3 -19
  140. package/cjs/models/activity-item.js.map +1 -1
  141. package/cjs/models/adjunct-section.js +6 -19
  142. package/cjs/models/adjunct-section.js.map +1 -1
  143. package/cjs/models/adjunct-slide.js +6 -19
  144. package/cjs/models/adjunct-slide.js.map +1 -1
  145. package/cjs/models/adjunct-sub-slide.js +5 -16
  146. package/cjs/models/adjunct-sub-slide.js.map +1 -1
  147. package/cjs/models/adjunct.js +7 -23
  148. package/cjs/models/adjunct.js.map +1 -1
  149. package/cjs/models/api.js +1 -6
  150. package/cjs/models/api.js.map +1 -1
  151. package/cjs/models/appointment-adjunct-tags.js +1 -13
  152. package/cjs/models/appointment-adjunct-tags.js.map +1 -1
  153. package/cjs/models/appointment-deckversion-tags.js +1 -13
  154. package/cjs/models/appointment-deckversion-tags.js.map +1 -1
  155. package/cjs/models/appointment-editor.js +1 -14
  156. package/cjs/models/appointment-editor.js.map +1 -1
  157. package/cjs/models/appointment-section-tags.js +1 -13
  158. package/cjs/models/appointment-section-tags.js.map +1 -1
  159. package/cjs/models/appointment-slide-tags.js +1 -13
  160. package/cjs/models/appointment-slide-tags.js.map +1 -1
  161. package/cjs/models/appointment-stats.js +1 -11
  162. package/cjs/models/appointment-stats.js.map +1 -1
  163. package/cjs/models/appointment-tags.js +1 -10
  164. package/cjs/models/appointment-tags.js.map +1 -1
  165. package/cjs/models/appointment-template.js +1 -6
  166. package/cjs/models/appointment-template.js.map +1 -1
  167. package/cjs/models/appointment-viewing.js +1 -8
  168. package/cjs/models/appointment-viewing.js.map +1 -1
  169. package/cjs/models/appointment.js +24 -97
  170. package/cjs/models/appointment.js.map +1 -1
  171. package/cjs/models/asset.js +1 -12
  172. package/cjs/models/asset.js.map +1 -1
  173. package/cjs/models/auto-adjunct-key-check.js +1 -15
  174. package/cjs/models/auto-adjunct-key-check.js.map +1 -1
  175. package/cjs/models/auto-adjunct.js +1 -13
  176. package/cjs/models/auto-adjunct.js.map +1 -1
  177. package/cjs/models/base.js +86 -216
  178. package/cjs/models/base.js.map +1 -1
  179. package/cjs/models/base.spec.js +0 -31
  180. package/cjs/models/base.spec.js.map +1 -1
  181. package/cjs/models/choicelist.js +1 -8
  182. package/cjs/models/choicelist.js.map +1 -1
  183. package/cjs/models/cms-val.js +5 -26
  184. package/cjs/models/cms-val.js.map +1 -1
  185. package/cjs/models/cms-val.spec.js +13 -20
  186. package/cjs/models/cms-val.spec.js.map +1 -1
  187. package/cjs/models/contact-phone.js +1 -13
  188. package/cjs/models/contact-phone.js.map +1 -1
  189. package/cjs/models/contact.js +1 -18
  190. package/cjs/models/contact.js.map +1 -1
  191. package/cjs/models/customer.js +3 -30
  192. package/cjs/models/customer.js.map +1 -1
  193. package/cjs/models/deck-note.js +1 -9
  194. package/cjs/models/deck-note.js.map +1 -1
  195. package/cjs/models/deck-tags.js +1 -12
  196. package/cjs/models/deck-tags.js.map +1 -1
  197. package/cjs/models/deck-version-screenshot.js +1 -13
  198. package/cjs/models/deck-version-screenshot.js.map +1 -1
  199. package/cjs/models/deck-version.js +13 -38
  200. package/cjs/models/deck-version.js.map +1 -1
  201. package/cjs/models/deck.js +1 -14
  202. package/cjs/models/deck.js.map +1 -1
  203. package/cjs/models/dispatch-preview.js +1 -13
  204. package/cjs/models/dispatch-preview.js.map +1 -1
  205. package/cjs/models/dispatch.js +1 -25
  206. package/cjs/models/dispatch.js.map +1 -1
  207. package/cjs/models/envs.js +1 -6
  208. package/cjs/models/envs.js.map +1 -1
  209. package/cjs/models/event-object.js +1 -11
  210. package/cjs/models/event-object.js.map +1 -1
  211. package/cjs/models/event.js +1 -13
  212. package/cjs/models/event.js.map +1 -1
  213. package/cjs/models/feed-data.js +1 -13
  214. package/cjs/models/feed-data.js.map +1 -1
  215. package/cjs/models/file.js +1 -11
  216. package/cjs/models/file.js.map +1 -1
  217. package/cjs/models/group.js +1 -11
  218. package/cjs/models/group.js.map +1 -1
  219. package/cjs/models/handover.js +1 -13
  220. package/cjs/models/handover.js.map +1 -1
  221. package/cjs/models/hosted-preso.js +1 -15
  222. package/cjs/models/hosted-preso.js.map +1 -1
  223. package/cjs/models/image.js +1 -16
  224. package/cjs/models/image.js.map +1 -1
  225. package/cjs/models/location.js +1 -13
  226. package/cjs/models/location.js.map +1 -1
  227. package/cjs/models/manifest-json.js +25 -84
  228. package/cjs/models/manifest-json.js.map +1 -1
  229. package/cjs/models/onshare.js +1 -14
  230. package/cjs/models/onshare.js.map +1 -1
  231. package/cjs/models/opportunity.js +1 -14
  232. package/cjs/models/opportunity.js.map +1 -1
  233. package/cjs/models/pack-diff.js +1 -14
  234. package/cjs/models/pack-diff.js.map +1 -1
  235. package/cjs/models/pack.js +1 -12
  236. package/cjs/models/pack.js.map +1 -1
  237. package/cjs/models/preset.js +1 -19
  238. package/cjs/models/preset.js.map +1 -1
  239. package/cjs/models/refresh-request.js +1 -11
  240. package/cjs/models/refresh-request.js.map +1 -1
  241. package/cjs/models/room.js +1 -9
  242. package/cjs/models/room.js.map +1 -1
  243. package/cjs/models/salesforce-lookup.js +1 -12
  244. package/cjs/models/salesforce-lookup.js.map +1 -1
  245. package/cjs/models/section-selection.js +7 -15
  246. package/cjs/models/section-selection.js.map +1 -1
  247. package/cjs/models/section.js +1 -14
  248. package/cjs/models/section.js.map +1 -1
  249. package/cjs/models/signer.js +1 -10
  250. package/cjs/models/signer.js.map +1 -1
  251. package/cjs/models/signing-backend.js +1 -9
  252. package/cjs/models/signing-backend.js.map +1 -1
  253. package/cjs/models/signing-request.js +1 -13
  254. package/cjs/models/signing-request.js.map +1 -1
  255. package/cjs/models/slide-selection.js +7 -15
  256. package/cjs/models/slide-selection.js.map +1 -1
  257. package/cjs/models/slide.js +1 -14
  258. package/cjs/models/slide.js.map +1 -1
  259. package/cjs/models/snapshot.js +3 -16
  260. package/cjs/models/snapshot.js.map +1 -1
  261. package/cjs/models/snapshot.spec.js +26 -33
  262. package/cjs/models/snapshot.spec.js.map +1 -1
  263. package/cjs/models/sub-slide.js +1 -12
  264. package/cjs/models/sub-slide.js.map +1 -1
  265. package/cjs/models/support-ticket.js +1 -11
  266. package/cjs/models/support-ticket.js.map +1 -1
  267. package/cjs/models/tag.js +1 -13
  268. package/cjs/models/tag.js.map +1 -1
  269. package/cjs/models/team.js +1 -13
  270. package/cjs/models/team.js.map +1 -1
  271. package/cjs/models/template.js +49 -79
  272. package/cjs/models/template.js.map +1 -1
  273. package/cjs/models/tenancy.js +1 -11
  274. package/cjs/models/tenancy.js.map +1 -1
  275. package/cjs/models/timing-log.js +23 -80
  276. package/cjs/models/timing-log.js.map +1 -1
  277. package/cjs/models/timing-log.spec.js +25 -38
  278. package/cjs/models/timing-log.spec.js.map +1 -1
  279. package/cjs/models/token.js +1 -11
  280. package/cjs/models/token.js.map +1 -1
  281. package/cjs/models/transcribe-socket.js +1 -8
  282. package/cjs/models/transcribe-socket.js.map +1 -1
  283. package/cjs/models/upload.js +1 -7
  284. package/cjs/models/upload.js.map +1 -1
  285. package/cjs/models/user.js +1 -29
  286. package/cjs/models/user.js.map +1 -1
  287. package/cjs/models/user.spec.js +22 -32
  288. package/cjs/models/user.spec.js.map +1 -1
  289. package/cjs/models.js +0 -140
  290. package/cjs/models.js.map +1 -1
  291. package/cjs/presentation/appointment-presentation.js +9 -35
  292. package/cjs/presentation/appointment-presentation.js.map +1 -1
  293. package/cjs/presentation/base-presentation-collection.js +1 -7
  294. package/cjs/presentation/base-presentation-collection.js.map +1 -1
  295. package/cjs/presentation/base-presentation-model.js +24 -67
  296. package/cjs/presentation/base-presentation-model.js.map +1 -1
  297. package/cjs/presentation/base-presentation-model.spec.js +5 -27
  298. package/cjs/presentation/base-presentation-model.spec.js.map +1 -1
  299. package/cjs/presentation/presentation-deck.js +41 -82
  300. package/cjs/presentation/presentation-deck.js.map +1 -1
  301. package/cjs/presentation/presentation-deck.spec.js +75 -98
  302. package/cjs/presentation/presentation-deck.spec.js.map +1 -1
  303. package/cjs/presentation/presentation-decks.js +1 -9
  304. package/cjs/presentation/presentation-decks.js.map +1 -1
  305. package/cjs/presentation/presentation-section.js +12 -74
  306. package/cjs/presentation/presentation-section.js.map +1 -1
  307. package/cjs/presentation/presentation-section.spec.js +211 -264
  308. package/cjs/presentation/presentation-section.spec.js.map +1 -1
  309. package/cjs/presentation/presentation-sections.js +1 -9
  310. package/cjs/presentation/presentation-sections.js.map +1 -1
  311. package/cjs/presentation/presentation-slide.js +23 -77
  312. package/cjs/presentation/presentation-slide.js.map +1 -1
  313. package/cjs/presentation/presentation-slide.spec.js +144 -182
  314. package/cjs/presentation/presentation-slide.spec.js.map +1 -1
  315. package/cjs/presentation/presentation-slides.js +1 -9
  316. package/cjs/presentation/presentation-slides.js.map +1 -1
  317. package/cjs/presentation/presentation-subslide.js +3 -23
  318. package/cjs/presentation/presentation-subslide.js.map +1 -1
  319. package/cjs/presentation/presentation-subslide.spec.js +106 -130
  320. package/cjs/presentation/presentation-subslide.spec.js.map +1 -1
  321. package/cjs/presentation/presentation-subslides.js +1 -9
  322. package/cjs/presentation/presentation-subslides.js.map +1 -1
  323. package/cjs/presentation/presentation.js +64 -118
  324. package/cjs/presentation/presentation.js.map +1 -1
  325. package/cjs/presentation.js +0 -20
  326. package/cjs/presentation.js.map +1 -1
  327. package/cjs/selections.js +10 -36
  328. package/cjs/selections.js.map +1 -1
  329. package/cjs/state-register.js +3 -11
  330. package/cjs/state-register.js.map +1 -1
  331. package/cjs/sync.js +32 -76
  332. package/cjs/sync.js.map +1 -1
  333. package/cjs/utils.js +21 -49
  334. package/cjs/utils.js.map +1 -1
  335. package/cjs/utils.spec.js +0 -4
  336. package/cjs/utils.spec.js.map +1 -1
  337. package/eslint.config.mjs +10 -0
  338. package/package.json +8 -9
  339. package/rush-logs/api.build.cache.log +1 -0
  340. package/rush-logs/api.build.log +6 -0
  341. package/rush-logs/api.test.cache.log +1 -0
  342. package/rush-logs/api.test.log +1 -0
  343. package/src/collections/adjunct-sections.js +3 -3
  344. package/src/collections/adjunct-slides.js +3 -3
  345. package/src/collections/adjunct-sub-slides.js +3 -3
  346. package/src/collections/base.js +14 -0
  347. package/src/collections/section-selections.js +3 -3
  348. package/src/collections/slide-selections.js +3 -3
  349. package/src/fixtures.js +8 -1
  350. package/src/models/adjunct-section.js +6 -0
  351. package/src/models/adjunct-slide.js +6 -0
  352. package/src/models/adjunct-sub-slide.js +5 -0
  353. package/src/models/adjunct.js +1 -1
  354. package/src/models/appointment.js +2 -0
  355. package/src/models/base.js +6 -2
  356. package/src/models/deck-version.js +7 -3
  357. package/src/models/manifest-json.js +1 -1
  358. package/src/models/section-selection.js +6 -0
  359. package/src/models/slide-selection.js +6 -0
  360. package/src/presentation/presentation-section.js +4 -0
  361. package/src/presentation/presentation-slide.js +8 -0
  362. package/src/presentation/presentation-slide.spec.js +2 -0
  363. package/.eslintrc.js +0 -8
  364. package/.gitlab-ci.yml +0 -4
  365. package/.husky/pre-commit +0 -4
@@ -1,63 +1,37 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.BaseModel = void 0;
9
-
10
8
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
-
12
9
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
13
-
14
10
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
15
-
16
11
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
17
-
18
12
  var _utils = require("../utils.js");
19
-
20
13
  var _api = require("../api.js");
21
-
22
14
  var _ampersandRestCollection = _interopRequireDefault(require("ampersand-rest-collection"));
23
-
24
15
  var _ampersandModel = _interopRequireDefault(require("ampersand-model"));
25
-
26
16
  var _bluebird = _interopRequireDefault(require("bluebird"));
27
-
28
17
  var _superagentBluebirdPromise = _interopRequireDefault(require("superagent-bluebird-promise"));
29
-
30
18
  var _lodash = _interopRequireDefault(require("lodash"));
31
-
32
19
  var _dedentJs = _interopRequireDefault(require("dedent-js"));
33
-
34
20
  var _log = _interopRequireDefault(require("../log.js"));
35
-
36
21
  var _moment = _interopRequireDefault(require("moment"));
37
-
38
22
  var _qs = _interopRequireDefault(require("qs"));
39
-
40
23
  var _stateRegister = require("../state-register.js");
41
-
42
24
  var _sync2 = require("../sync.js");
43
-
44
25
  var _url = _interopRequireDefault(require("url"));
45
-
46
26
  var _templateObject;
47
-
48
- function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
49
-
50
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
51
-
52
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
53
-
27
+ function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }
28
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
29
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
54
30
  /**
55
31
  * @constructor
56
32
  * @alias models.BaseModel
57
33
  */
58
- var BaseModel = _ampersandModel.default.extend(
59
- /** @lends models.BaseModel# */
60
- {
34
+ var BaseModel = exports.BaseModel = _ampersandModel.default.extend(/** @lends models.BaseModel# */{
61
35
  modelName: null,
62
36
  queryData: {},
63
37
  detailType: "number",
@@ -80,92 +54,79 @@ var BaseModel = _ampersandModel.default.extend(
80
54
  urlMatchKeys: {},
81
55
  constructor: function constructor() {
82
56
  var _data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
83
-
84
57
  var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
85
-
86
58
  var options = _lodash.default.defaults(opts, {
87
59
  data: {}
88
60
  });
89
-
90
61
  var data = _data;
91
62
  this._unsetChildren = {};
92
63
  this._unsetCollections = {};
93
64
  this._expandedValues = {};
94
-
95
65
  if (data === null) {
96
66
  data = {};
97
- } // Allow passing in models
98
-
67
+ }
99
68
 
69
+ // Allow passing in models
100
70
  if (data instanceof _ampersandModel.default) {
101
71
  data = data.toJSON();
102
72
  }
73
+ this.queryData = options.data;
103
74
 
104
- this.queryData = options.data; // Convert any strings into a url format we can understand
105
-
75
+ // Convert any strings into a url format we can understand
106
76
  if (_lodash.default.isString(data)) {
107
77
  data = {
108
78
  url: data
109
79
  };
110
80
  this._isFetched = false;
111
- } // Convert model ids into a format we can understand
112
-
81
+ }
113
82
 
83
+ // Convert model ids into a format we can understand
114
84
  if (_lodash.default.isNumber(data)) {
115
85
  data = {
116
86
  id: data
117
87
  };
118
88
  this._isFetched = false;
119
89
  }
120
-
121
90
  var dataCopy = _lodash.default.extend({}, data);
122
-
123
91
  this._data = dataCopy;
124
- this._options = options; // Stop making edits to these affect other models
92
+ this._options = options;
125
93
 
94
+ // Stop making edits to these affect other models
126
95
  this._children = _lodash.default.clone(this._children);
127
96
  this._collections = _lodash.default.clone(this._collections);
128
- this._definition = _lodash.default.clone(this._definition); // Check for specialized url returns from the server. This is for when the
129
- // server responds with an array of urls rather than object data.
97
+ this._definition = _lodash.default.clone(this._definition);
130
98
 
99
+ // Check for specialized url returns from the server. This is for when the
100
+ // server responds with an array of urls rather than object data.
131
101
  if (dataCopy && typeof dataCopy.url === "string") {
132
102
  this._url = dataCopy.url;
133
103
  }
134
-
135
104
  for (var key in dataCopy) {
136
- var def = dataCopy[key]; // Any models/collections passed into the constructor should be
105
+ var def = dataCopy[key];
106
+ // Any models/collections passed into the constructor should be
137
107
  // converted to JSON so that it can be parsed
138
-
139
108
  if (def && (def.isState || def instanceof _ampersandRestCollection.default)) {
140
109
  dataCopy[key] = def.toJSON();
141
110
  }
142
-
143
111
  if (def && Array.isArray(def)) {
144
112
  dataCopy[key] = def.map(function (obj) {
145
113
  if (obj instanceof _ampersandModel.default) {
146
114
  return obj.toJSON();
147
115
  }
148
-
149
116
  return obj;
150
117
  });
151
118
  }
152
119
  }
153
-
154
120
  this.registerStates();
155
-
156
121
  this._convertToValues();
157
-
158
- var id = this._getIDFromURL(this._url);
159
-
122
+ var id = this.getIDFromURL(this._url);
160
123
  if (!dataCopy.id && id) {
161
124
  dataCopy.id = id;
162
125
  }
163
-
164
126
  _ampersandModel.default.prototype.constructor.call(this, dataCopy, options);
127
+ this._setDerived();
165
128
 
166
- this._setDerived(); // Re-set the values that were previously children or collections
167
-
168
-
129
+ // Re-set the values that were previously children or collections
169
130
  this._initUnsetValues();
170
131
  },
171
132
  // If there is a model returned from a derived property, and the model
@@ -173,19 +134,17 @@ var BaseModel = _ampersandModel.default.extend(
173
134
  _setDerived: function _setDerived() {
174
135
  for (var _i = 0, _Object$keys = Object.keys(this._derived); _i < _Object$keys.length; _i++) {
175
136
  var derivedKey = _Object$keys[_i];
176
-
177
137
  if (!this._data[derivedKey]) {
178
138
  continue;
179
139
  }
180
-
181
140
  if (this[derivedKey] instanceof _ampersandModel.default) {
182
141
  for (var _i2 = 0, _Object$keys2 = Object.keys(this._data[derivedKey]); _i2 < _Object$keys2.length; _i2++) {
183
142
  var derivedProp = _Object$keys2[_i2];
184
143
  this[derivedKey].set(derivedProp, this._data[derivedKey][derivedProp]);
185
144
  }
186
- } // If it's a collection, we can just pass the data straight in
187
-
145
+ }
188
146
 
147
+ // If it's a collection, we can just pass the data straight in
189
148
  if (this[derivedKey] instanceof _ampersandRestCollection.default) {
190
149
  this[derivedKey].set(this._data[derivedKey]);
191
150
  }
@@ -194,19 +153,15 @@ var BaseModel = _ampersandModel.default.extend(
194
153
  // Internal function. Used by collection as well.
195
154
  _matchesURL: function _matchesURL(url) {
196
155
  var matchesDetail = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
197
-
198
156
  if (!this.modelName || this.urlRoot() === _api.Api.getURL()) {
199
157
  return false;
200
158
  }
201
-
202
159
  var replacements = _lodash.default.extend({}, {
203
160
  detailKey: this.detailType
204
161
  }, this.urlMatchKeys);
205
-
206
162
  var regexes = Object.keys(replacements).reduce(function (result, key) {
207
163
  var type = replacements[key];
208
164
  var name = key.replace(/\./g, "_");
209
-
210
165
  if (type === "number") {
211
166
  result[name] = "\\d+";
212
167
  } else if (type === "uuid") {
@@ -216,50 +171,45 @@ var BaseModel = _ampersandModel.default.extend(
216
171
  } else {
217
172
  throw new Error("Unknown regex type '".concat(type, "'."));
218
173
  }
219
-
220
174
  return result;
221
- }, {}); // Create a starting regex string with variables. Strips the root url so that it could
222
- // be read from any server.
175
+ }, {});
223
176
 
177
+ // Create a starting regex string with variables. Strips the root url so that it could
178
+ // be read from any server.
224
179
  var urlWithoutRoot = this.urlRoot().replace(_api.Api.getURL(), "");
225
180
  var urlStructure = urlWithoutRoot.slice();
226
-
227
181
  if (matchesDetail) {
228
182
  urlStructure += "{detailKey}/";
229
- } // Let's test if the url has even a remote chance of matching
183
+ }
184
+
185
+ // Let's test if the url has even a remote chance of matching
230
186
  // the url (like a partial match, any part without variables).
231
187
  // If that doesn't match, we can sometimes prevent a nasty log
232
188
  // error from being thrown.
233
-
234
-
235
189
  var split = urlStructure.split("/");
236
190
  var argIndex = split.findIndex(function (val) {
237
191
  return val.indexOf("{") === 0;
238
192
  });
239
-
240
193
  if (argIndex >= 0) {
241
194
  var attemptedURLWithoutRoot = url.replace(_api.Api.getURL(), "");
242
195
  var partial = split.slice(0, argIndex).join("/");
243
-
244
196
  if (attemptedURLWithoutRoot.indexOf(partial) !== 0) {
245
197
  return false;
246
198
  }
247
- } // Replace keys with regexes
248
-
199
+ }
249
200
 
201
+ // Replace keys with regexes
250
202
  var interpolatedString;
251
-
252
203
  try {
253
204
  interpolatedString = _lodash.default.template(urlStructure.replace(/\./g, "_"), {
254
205
  interpolate: /{([\s\S\.]+?)}/g
255
206
  })(regexes);
256
207
  } catch (e) {
257
208
  _log.default.error((0, _dedentJs.default)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n\t\t\t\tFailed to match URL '", "' for model '", "'.\n\t\t\t\tThis is usually because the regex type for a key hasn't been set.\n\t\t\t\tError: "])), url, this.modelName), e);
258
-
259
209
  return false;
260
- } // Convert into a regex and test if url matches
261
-
210
+ }
262
211
 
212
+ // Convert into a regex and test if url matches
263
213
  var baseString = ".*".concat(interpolatedString.replace(/\//m, "/"), "$");
264
214
  var re = new RegExp(baseString);
265
215
  return re.test(url);
@@ -271,32 +221,27 @@ var BaseModel = _ampersandModel.default.extend(
271
221
  // and we want to ignore the hostname (https://staging-demo.salespreso.com)
272
222
  // and strip out the '/api' from both the resource url and the variable url
273
223
  // so that we can use the remaining part to isolate the id
274
- _getIDFromURL: function _getIDFromURL(url) {
224
+ getIDFromURL: function getIDFromURL(url) {
275
225
  var resource = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "";
276
226
  var resourceURL = resource || this.getResourceURL();
277
-
278
227
  if (!url || !resourceURL) {
279
228
  return null;
280
229
  }
281
-
282
230
  var urlPath = _url.default.parse(url).path;
231
+ var resourceURLPath = _url.default.parse(resourceURL).path;
283
232
 
284
- var resourceURLPath = _url.default.parse(resourceURL).path; // Remove the '/api' if present
285
-
286
-
233
+ // Remove the '/api' if present
287
234
  var resourceEnd = resourceURLPath.split("/api").join("");
288
- var urlEnd = urlPath.split("/api").join(""); // If they are the same, there is no id at the end
235
+ var urlEnd = urlPath.split("/api").join("");
289
236
 
237
+ // If they are the same, there is no id at the end
290
238
  if (!urlEnd || urlEnd === resourceEnd) {
291
239
  return null;
292
240
  }
293
-
294
241
  var idStr = urlEnd.split(resourceEnd).join("");
295
-
296
242
  if ((idStr.match(/\//g) || []).length === 1) {
297
243
  return parseInt(idStr.slice(0, -1), 10);
298
244
  }
299
-
300
245
  return null;
301
246
  },
302
247
  // Public version for details only
@@ -315,11 +260,9 @@ var BaseModel = _ampersandModel.default.extend(
315
260
  if (typeof currentVal === "undefined") {
316
261
  return false;
317
262
  }
318
-
319
263
  if (currentVal || newVal) {
320
264
  return (0, _moment.default)(currentVal).isSame((0, _moment.default)(newVal));
321
265
  }
322
-
323
266
  return currentVal !== newVal;
324
267
  }
325
268
  },
@@ -343,7 +286,6 @@ var BaseModel = _ampersandModel.default.extend(
343
286
  }
344
287
  }
345
288
  },
346
-
347
289
  /**
348
290
  * @property {number} [id]
349
291
  */
@@ -353,7 +295,6 @@ var BaseModel = _ampersandModel.default.extend(
353
295
  required: false
354
296
  }
355
297
  },
356
-
357
298
  /*
358
299
  * Overridable serialization for sending data to
359
300
  * the server
@@ -363,29 +304,23 @@ var BaseModel = _ampersandModel.default.extend(
363
304
  },
364
305
  _registerChildModel: function _registerChildModel(states, prop, model) {
365
306
  var Model = _stateRegister.registeredStates[model];
366
-
367
307
  if (!Model) {
368
308
  throw new Error("'".concat(model, "' not found! Did you forget to import it on the '").concat(this.modelName, "' model?"));
369
309
  }
370
-
371
310
  this._children[prop] = Model;
372
311
  },
373
312
  _registerCollection: function _registerCollection(state, prop, collection) {
374
313
  var Collection = state[collection];
375
-
376
314
  if (!Collection) {
377
315
  throw new Error("'".concat(collection, "' not found! Did you forget to import it on the '").concat(this.modelName, "' model?"));
378
316
  }
379
-
380
317
  this._collections[prop] = Collection;
381
318
  },
382
-
383
319
  /*
384
320
  * Replace strings respresenting a registered model/collection the function
385
321
  */
386
322
  registerStates: function registerStates() {
387
323
  var _this = this;
388
-
389
324
  // Loop through children and replace any parent objects directly to stop
390
325
  // maximum stack overflows
391
326
  _lodash.default.each(this._children, function (model, prop) {
@@ -393,9 +328,10 @@ var BaseModel = _ampersandModel.default.extend(
393
328
  if (_this._options.parent && model === _this._options.parent._registerName) {
394
329
  // This part is important, if the link stays when there's a circular dependency,
395
330
  // this will continue forever.
396
- delete _this._children[prop]; // Can be a string or an object so we use "any". We add the definition
397
- // so that we can retrieve this value later.
331
+ delete _this._children[prop];
398
332
 
333
+ // Can be a string or an object so we use "any". We add the definition
334
+ // so that we can retrieve this value later.
399
335
  _this._definition[prop] = {
400
336
  type: "any"
401
337
  };
@@ -404,9 +340,9 @@ var BaseModel = _ampersandModel.default.extend(
404
340
  _this._registerChildModel(_stateRegister.registeredStates, prop, model);
405
341
  }
406
342
  }
407
- }, this); // Loop throught the collections and replace with the registered collection
408
-
343
+ }, this);
409
344
 
345
+ // Loop throught the collections and replace with the registered collection
410
346
  _lodash.default.each(this._collections, function (collection, prop) {
411
347
  if (typeof collection === "string") {
412
348
  _this._registerCollection(_stateRegister.registeredStates, prop, collection);
@@ -415,14 +351,13 @@ var BaseModel = _ampersandModel.default.extend(
415
351
  },
416
352
  _updateResponse: function _updateResponse(response) {
417
353
  var _this2 = this;
418
-
419
354
  this._data = response || {};
420
-
421
355
  if (!response) {
422
356
  return;
423
- } // Set previously-initialised children & collections with new
424
- // data retrieved during the fetch
357
+ }
425
358
 
359
+ // Set previously-initialised children & collections with new
360
+ // data retrieved during the fetch
426
361
 
427
362
  Object.keys(this._children).forEach(function (key) {
428
363
  if (response[key]) {
@@ -437,41 +372,33 @@ var BaseModel = _ampersandModel.default.extend(
437
372
  },
438
373
  save: function save() {
439
374
  var _this3 = this;
440
-
441
375
  return _ampersandModel.default.prototype.save.apply(this, arguments).tap(function (response) {
442
376
  _this3._updateResponse(response);
443
377
  });
444
378
  },
445
379
  fetch: function fetch() {
446
380
  var _this4 = this;
447
-
448
381
  var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
449
-
450
382
  if (options.url) {
451
383
  this._url = options.url;
452
384
  }
453
-
454
385
  this._options = _lodash.default.extend({}, this._options, options);
455
386
  this.isFetching = true;
456
387
  return _ampersandModel.default.prototype.fetch.apply(this, arguments).tap(function (response) {
457
388
  _this4._isFetched = true;
458
389
  _this4.isFetching = false;
459
-
460
390
  _this4._updateResponse(response);
461
391
  });
462
392
  },
463
393
  options: function options() {
464
394
  var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
465
-
466
395
  if (options.url) {
467
396
  this._url = options.url;
468
397
  }
469
-
470
398
  return (0, _superagentBluebirdPromise.default)("OPTIONS", this.url()).set(BaseModel.Auth.headers).then(function (res) {
471
399
  if (res.body && res.body.actions) {
472
400
  return res.body.actions;
473
401
  }
474
-
475
402
  return null;
476
403
  });
477
404
  },
@@ -480,15 +407,11 @@ var BaseModel = _ampersandModel.default.extend(
480
407
  },
481
408
  getSafeAttrs: function getSafeAttrs(key) {
482
409
  var _this5 = this;
483
-
484
410
  if (!_lodash.default.isUndefined(key)) {
485
411
  return !_lodash.default.isUndefined(this._expandedValues[key]) ? this._expandedValues[key] : this._values[key];
486
412
  }
487
-
488
413
  var attrs = {};
489
-
490
414
  var keys = _lodash.default.uniq(_lodash.default.concat(_lodash.default.concat(Object.keys(this._unsetChildren), Object.keys(this._unsetCollections)), Object.keys(this._values)));
491
-
492
415
  keys.forEach(function (key) {
493
416
  if (!_lodash.default.isUndefined(_this5._values[key])) {
494
417
  attrs[key] = _this5._values[key];
@@ -503,7 +426,6 @@ var BaseModel = _ampersandModel.default.extend(
503
426
  // definitions for them (necessary for Ampersand State to treat them as values)
504
427
  _convertToValues: function _convertToValues() {
505
428
  var _this6 = this;
506
-
507
429
  Object.keys(this._children).forEach(function (key) {
508
430
  _this6._definition[key] = {
509
431
  type: "any"
@@ -523,14 +445,11 @@ var BaseModel = _ampersandModel.default.extend(
523
445
  // The default version always creates an empty model
524
446
  _initChildren: function _initChildren() {
525
447
  var child;
526
-
527
448
  if (!this._children) {
528
449
  return;
529
450
  }
530
-
531
451
  for (child in this._children) {
532
452
  var val = this._data[child];
533
-
534
453
  if (val) {
535
454
  // Assume here that if it's a string, it's a url.
536
455
  if (typeof val === "string") {
@@ -538,15 +457,14 @@ var BaseModel = _ampersandModel.default.extend(
538
457
  url: val
539
458
  };
540
459
  }
541
- } // If hydrate is set to false, this will be the name of the child and
542
- // not the constructor. We want to add the non-hydrated url if so.
543
-
460
+ }
544
461
 
462
+ // If hydrate is set to false, this will be the name of the child and
463
+ // not the constructor. We want to add the non-hydrated url if so.
545
464
  if (typeof this._children[child] === "function") {
546
465
  this._safeSet(child, new this._children[child](val, {
547
466
  parent: this
548
467
  }));
549
-
550
468
  this.listenTo(this[child], "all", this._getCachedEventBubblingHandler(child));
551
469
  } else {
552
470
  this._safeSet(child, val);
@@ -556,24 +474,21 @@ var BaseModel = _ampersandModel.default.extend(
556
474
  // Override the initialization of collections to pass in data to the constructor.
557
475
  _initCollections: function _initCollections() {
558
476
  var coll;
559
-
560
477
  if (!this._collections) {
561
478
  return;
562
479
  }
563
-
564
480
  for (coll in this._collections) {
565
481
  var val = this._data[coll];
566
-
567
482
  if (val) {
568
483
  if (typeof val === "string") {
569
484
  val = {
570
485
  url: val
571
486
  };
572
487
  }
573
- } // If hydrate is set to false, this will be the name of the collection and
574
- // not the constructor. We want to add the non-hydrated array if so.
575
-
488
+ }
576
489
 
490
+ // If hydrate is set to false, this will be the name of the collection and
491
+ // not the constructor. We want to add the non-hydrated array if so.
577
492
  if (typeof this._collections[coll] === "function") {
578
493
  this._safeSet(coll, new this._collections[coll](val, {
579
494
  parent: this
@@ -585,13 +500,11 @@ var BaseModel = _ampersandModel.default.extend(
585
500
  },
586
501
  _initUnsetValues: function _initUnsetValues() {
587
502
  var _this7 = this;
588
-
589
503
  _lodash.default.each(this._unsetChildren, function (child, key) {
590
504
  var tmpValue = _this7._values[key];
591
505
  replacePropertyDefinition(_this7, key);
592
506
  _this7[key] = tmpValue;
593
507
  });
594
-
595
508
  _lodash.default.each(this._unsetCollections, function (child, key) {
596
509
  var tmpValue = _this7._values[key];
597
510
  replacePropertyDefinition(_this7, key);
@@ -610,22 +523,17 @@ var BaseModel = _ampersandModel.default.extend(
610
523
  if (path === null) {
611
524
  return null;
612
525
  }
613
-
614
526
  var url = path;
615
-
616
527
  if (url.slice(-1) !== "/" && url.indexOf("?") === -1) {
617
528
  url += "/";
618
529
  }
619
-
620
530
  if (Object.keys(this.queryData).length) {
621
531
  url += "?".concat(_qs.default.stringify(this.queryData, {
622
532
  arrayFormat: "repeat"
623
533
  }));
624
534
  }
625
-
626
535
  return url;
627
536
  },
628
-
629
537
  /*
630
538
  * Get url
631
539
  * @return {String}
@@ -634,7 +542,6 @@ var BaseModel = _ampersandModel.default.extend(
634
542
  if (this._url && this.isNew()) {
635
543
  return this.getFullURLPath(this._url);
636
544
  }
637
-
638
545
  return this.getFullURLPath(this.getPlainURL());
639
546
  },
640
547
  // Returns url without query data
@@ -642,34 +549,27 @@ var BaseModel = _ampersandModel.default.extend(
642
549
  if (!this.modelName) {
643
550
  return null;
644
551
  }
645
-
646
552
  var resp = _ampersandModel.default.prototype.url.call(this);
647
-
648
553
  if (resp.slice(-1) !== "/" && resp.indexOf("?") === -1) {
649
554
  resp += "/";
650
555
  }
651
-
652
556
  if (!resp.includes("{") || !resp.includes("}")) {
653
557
  return resp;
654
- } // Replace any values in a url with one from the model.
558
+ }
559
+
560
+ // Replace any values in a url with one from the model.
655
561
  // So if you have /path/to/{model.id}/
656
562
  // It will check the model from "this.model.id" and replace
657
563
  // it in the url
658
-
659
-
660
564
  var re = /(\{(?:\w+\.?)+\})/g;
661
565
  var matches = resp.match(re) || [];
662
-
663
566
  var _iterator = _createForOfIteratorHelper(matches),
664
- _step;
665
-
567
+ _step;
666
568
  try {
667
569
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
668
570
  var match = _step.value;
669
571
  var path = match.slice(1, -1);
670
-
671
572
  var replacement = _lodash.default.get(this, path);
672
-
673
573
  if (replacement) {
674
574
  resp = resp.replace(match, replacement);
675
575
  } else if (!this.isNew()) {
@@ -681,63 +581,50 @@ var BaseModel = _ampersandModel.default.extend(
681
581
  } finally {
682
582
  _iterator.f();
683
583
  }
684
-
685
584
  return resp;
686
585
  },
687
586
  getResourceURL: function getResourceURL() {
688
587
  if (this.modelName === null && !Object.keys(_api.Api.resources).length) {
689
588
  return null;
690
589
  }
691
-
692
590
  if (!Object.keys(_api.Api.resources).length) {
693
591
  return "/".concat(this.modelName, "/");
694
592
  }
695
-
696
593
  if (this.modelName === null) {
697
594
  return _api.Api.getURL();
698
595
  }
699
-
700
596
  return _api.Api.getResourceURL(this.modelName);
701
597
  },
702
598
  waitForReady: function waitForReady() {
703
599
  var _arguments = arguments,
704
- _this8 = this;
705
-
706
- return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
600
+ _this8 = this;
601
+ return (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee() {
707
602
  var opts, attempts;
708
603
  return _regenerator.default.wrap(function _callee$(_context) {
709
- while (1) {
710
- switch (_context.prev = _context.next) {
711
- case 0:
712
- opts = _arguments.length > 0 && _arguments[0] !== undefined ? _arguments[0] : {};
713
- attempts = _arguments.length > 1 && _arguments[1] !== undefined ? _arguments[1] : 20;
714
-
715
- if (!(attempts === 0)) {
716
- _context.next = 4;
717
- break;
604
+ while (1) switch (_context.prev = _context.next) {
605
+ case 0:
606
+ opts = _arguments.length > 0 && _arguments[0] !== undefined ? _arguments[0] : {};
607
+ attempts = _arguments.length > 1 && _arguments[1] !== undefined ? _arguments[1] : 20;
608
+ if (!(attempts === 0)) {
609
+ _context.next = 4;
610
+ break;
611
+ }
612
+ return _context.abrupt("return", _bluebird.default.reject());
613
+ case 4:
614
+ return _context.abrupt("return", _this8.fetch(opts).then(function () {
615
+ if (!_this8.creation_status) {
616
+ return _bluebird.default.reject(new Error("No creation_status key found"));
718
617
  }
719
-
720
- return _context.abrupt("return", _bluebird.default.reject());
721
-
722
- case 4:
723
- return _context.abrupt("return", _this8.fetch(opts).then(function () {
724
- if (!_this8.creation_status) {
725
- return _bluebird.default.reject(new Error("No creation_status key found"));
726
- }
727
-
728
- if (["ready", "failed"].indexOf(_this8.creation_status) > -1) {
729
- return _bluebird.default.resolve();
730
- }
731
-
732
- return _bluebird.default.delay(1000).then(function () {
733
- return _this8.waitForReady(opts, attempts - 1);
734
- });
735
- }));
736
-
737
- case 5:
738
- case "end":
739
- return _context.stop();
740
- }
618
+ if (["ready", "failed"].indexOf(_this8.creation_status) > -1) {
619
+ return _bluebird.default.resolve();
620
+ }
621
+ return _bluebird.default.delay(1000).then(function () {
622
+ return _this8.waitForReady(opts, attempts - 1);
623
+ });
624
+ }));
625
+ case 5:
626
+ case "end":
627
+ return _context.stop();
741
628
  }
742
629
  }, _callee);
743
630
  }))();
@@ -747,28 +634,22 @@ var BaseModel = _ampersandModel.default.extend(
747
634
  },
748
635
  serialize: function serialize() {
749
636
  var _this9 = this;
750
-
751
637
  var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {
752
638
  derived: true
753
639
  };
754
-
755
640
  // Return nothing if data passed is falsy. More than likely this is
756
641
  // a null value
757
642
  if (!this._data) {
758
643
  return {};
759
644
  }
760
-
761
645
  var data = _ampersandModel.default.prototype.serialize.apply(this, arguments);
762
-
763
646
  data.url = this.url();
764
647
  var derived = this.getAttributes(opts);
765
648
  derived = Object.keys(derived).reduce(function (object, key) {
766
649
  var value = derived[key];
767
-
768
650
  if (value instanceof _ampersandRestCollection.default || value instanceof _ampersandModel.default) {
769
651
  value = value.toJSON();
770
652
  }
771
-
772
653
  object[key] = value;
773
654
  return object;
774
655
  }, {});
@@ -788,7 +669,6 @@ var BaseModel = _ampersandModel.default.extend(
788
669
  // be hydrated
789
670
  _retrieveURL: function _retrieveURL(item) {
790
671
  var _this10 = this;
791
-
792
672
  if (_lodash.default.isUndefined(item) || item === null) {
793
673
  return item;
794
674
  } else if (typeof item === "string") {
@@ -806,13 +686,9 @@ var BaseModel = _ampersandModel.default.extend(
806
686
  } else if ((0, _typeof2.default)(item) === "object" && item !== null) {
807
687
  return typeof item.url === "function" ? item.url() : item.url;
808
688
  }
809
-
810
689
  return null;
811
690
  }
812
691
  });
813
-
814
- exports.BaseModel = BaseModel;
815
-
816
692
  function replacePropertyDefinition(object, name) {
817
693
  function addCollection(value) {
818
694
  var data = typeof value === "string" ? {
@@ -824,7 +700,6 @@ function replacePropertyDefinition(object, name) {
824
700
  object._expandedValues[name] = collection;
825
701
  return object._expandedValues[name];
826
702
  }
827
-
828
703
  function addChild(value) {
829
704
  var data = typeof value === "string" ? {
830
705
  url: value
@@ -835,19 +710,16 @@ function replacePropertyDefinition(object, name) {
835
710
  object._expandedValues[name] = child;
836
711
  return object._expandedValues[name];
837
712
  }
838
-
839
713
  function expandCollection(value) {
840
714
  object._collections[name] = object._unsetCollections[name];
841
715
  delete object._unsetCollections[name];
842
716
  return addCollection(value);
843
717
  }
844
-
845
718
  function expandChild(value) {
846
719
  object._children[name] = object._unsetChildren[name];
847
720
  delete object._unsetChildren[name];
848
721
  return addChild(value);
849
722
  }
850
-
851
723
  Object.defineProperty(object, name, {
852
724
  set: function set(val) {
853
725
  if (_lodash.default.includes(Object.keys(object._children), name)) {
@@ -874,35 +746,33 @@ function replacePropertyDefinition(object, name) {
874
746
  if (!this._values) {
875
747
  throw new Error("Trying to retrieve value ".concat(name, " of model ").concat(object.modelName, " during constructor"));
876
748
  }
877
-
878
749
  if ((_lodash.default.includes(Object.keys(object._collections), name) || _lodash.default.includes(Object.keys(object._children), name)) && _lodash.default.includes(Object.keys(object._expandedValues), name)) {
879
750
  return object._expandedValues[name];
880
751
  }
881
-
882
752
  var value = object._values[name];
883
-
884
753
  if (this.isFetching) {
885
754
  return value;
886
755
  }
887
-
888
756
  if ((_lodash.default.isUndefined(value) || value === null) && !(object._unsetChildren[name] && object._unsetChildren[name].canBeEmpty) && !(object._unsetCollections[name] && object._unsetCollections[name].canBeEmpty)) {
889
757
  return value;
890
758
  }
891
-
892
759
  if (_lodash.default.includes(Object.keys(object._unsetCollections), name)) {
893
760
  return expandCollection(value);
894
761
  } else if (_lodash.default.includes(Object.keys(object._unsetChildren), name)) {
895
762
  return expandChild(value);
896
763
  }
897
-
898
764
  return value;
899
765
  },
900
766
  configurable: true
901
767
  });
902
- } // Make matchesURL available as a static method
903
-
768
+ }
904
769
 
770
+ // Make matchesURL available as a static method
905
771
  BaseModel.matchesURL = function (url) {
906
772
  return this.prototype.matchesURL(url);
907
773
  };
774
+ BaseModel.getIDFromURL = function () {
775
+ var _this$prototype;
776
+ return (_this$prototype = this.prototype).getIDFromURL.apply(_this$prototype, arguments);
777
+ };
908
778
  //# sourceMappingURL=base.js.map