@livepreso/api 6.44.0 → 6.46.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 (502) hide show
  1. package/.eslintrc.js +3 -0
  2. package/.rush/temp/1aebf46f78ad5c45f82f8147751890adb37bef9d.log +10 -0
  3. package/.rush/temp/256021b5963b4c0221d3dec247b697b9691a9b2c.log +10 -0
  4. package/.rush/temp/2a322f00f12cf9d1e64afe81275cc78d01c49050.log +10 -0
  5. package/.rush/temp/30061f1865447dcbb3f20a305061205f3dbe6091.log +10 -0
  6. package/.rush/temp/3cdc82c352e8ed90607952873f3aa4c200490874.log +10 -0
  7. package/.rush/temp/45522aea0dee8cb2be1a53248ba45bd235743b43.log +10 -0
  8. package/.rush/temp/5489ab737e406518983c16c57fc3e1edc07c0341.log +10 -0
  9. package/.rush/temp/58fcbb7f15a76326d40e0839ab179755da82a891.log +10 -0
  10. package/.rush/temp/5bc0bba70b733baa4dd976667ba0a1386e516186.log +10 -0
  11. package/.rush/temp/64f1bb696f8d7d7e72907b80df316b127f72e23e.log +10 -0
  12. package/.rush/temp/6f640f951414ea68adb65c17e4ed7527cde54faf.log +10 -0
  13. package/.rush/temp/7c7b958682d4ab5697530be47d0aac62efe1adf1.log +10 -0
  14. package/.rush/temp/82bfb987463fbcfebf04022e6ed00015c73879c8.log +10 -0
  15. package/.rush/temp/844034aa6e542115075e8f3dc5ffc640973e0064.log +10 -0
  16. package/.rush/temp/8b42957a7c15da1f29cb57bee125f13affa70dca.log +10 -0
  17. package/.rush/temp/924652444ab5a6063f328a2217123a2227058896.log +10 -0
  18. package/.rush/temp/9f2030f96d62f3e38052e35201819a216566f14f.log +10 -0
  19. package/.rush/temp/a769db9d81a23000c0e9b1bf4f1a9a9e721d0d7c.log +10 -0
  20. package/.rush/temp/a87d3a8b4ece87ec66f27c86226a9f205617681f.log +10 -0
  21. package/.rush/temp/bb7a5bdcc4af4ad1507f81f33774b31f5b4e4fb7.log +10 -0
  22. package/.rush/temp/c20e29ccaaa9231b38a28bb24451b4ce7562cdc0.log +10 -0
  23. package/.rush/temp/e21303db8f59b4625fd184c9114377d781fd24f8.log +10 -0
  24. package/.rush/temp/e6d303862765b6a5f41dd483d0f9ae083a1fae10.log +10 -0
  25. package/.rush/temp/eaf69fbc059d2f1258d7569136180d4a1d3c7072.log +10 -0
  26. package/.rush/temp/f85d279e2674966daaec83e1c3986a96f86ef304.log +10 -0
  27. package/.rush/temp/fc0a332c5b34c6b90006850cf2d93a48fb4b9a6e.log +10 -0
  28. package/.rush/temp/operation/test/all.log +19 -0
  29. package/.rush/temp/operation/test/state.json +3 -0
  30. package/.rush/temp/{package-deps_test.json → package-deps_build.json} +11 -11
  31. package/.rush/temp/shrinkwrap-deps.json +605 -597
  32. package/CHANGELOG.json +29 -0
  33. package/CHANGELOG.md +15 -1
  34. package/README.md +4 -4
  35. package/api.build.log +1 -1
  36. package/api.test.cache.log +1 -0
  37. package/api.test.log +19 -0
  38. package/bin/test.sh +0 -1
  39. package/cjs/api.js +18 -17
  40. package/cjs/api.js.map +1 -1
  41. package/cjs/api.spec.js +0 -4
  42. package/cjs/api.spec.js.map +1 -1
  43. package/cjs/auth.js +35 -36
  44. package/cjs/auth.js.map +1 -1
  45. package/cjs/auth.spec.js +52 -71
  46. package/cjs/auth.spec.js.map +1 -1
  47. package/cjs/caching.js +2 -7
  48. package/cjs/caching.js.map +1 -1
  49. package/cjs/collections/activity.js +16 -56
  50. package/cjs/collections/activity.js.map +1 -1
  51. package/cjs/collections/adjunct-sections.js +1 -10
  52. package/cjs/collections/adjunct-sections.js.map +1 -1
  53. package/cjs/collections/adjunct-slides.js +1 -10
  54. package/cjs/collections/adjunct-slides.js.map +1 -1
  55. package/cjs/collections/adjunct-sub-slides.js +1 -9
  56. package/cjs/collections/adjunct-sub-slides.js.map +1 -1
  57. package/cjs/collections/appointment-adjunct-tags.js +1 -9
  58. package/cjs/collections/appointment-adjunct-tags.js.map +1 -1
  59. package/cjs/collections/appointment-deckversion-tags.js +1 -9
  60. package/cjs/collections/appointment-deckversion-tags.js.map +1 -1
  61. package/cjs/collections/appointment-duplicates.js +1 -9
  62. package/cjs/collections/appointment-duplicates.js.map +1 -1
  63. package/cjs/collections/appointment-editors.js +1 -10
  64. package/cjs/collections/appointment-editors.js.map +1 -1
  65. package/cjs/collections/appointment-section-tags.js +1 -9
  66. package/cjs/collections/appointment-section-tags.js.map +1 -1
  67. package/cjs/collections/appointment-slide-tags.js +1 -9
  68. package/cjs/collections/appointment-slide-tags.js.map +1 -1
  69. package/cjs/collections/appointment-tags.js +66 -103
  70. package/cjs/collections/appointment-tags.js.map +1 -1
  71. package/cjs/collections/appointment-templates.js +27 -0
  72. package/cjs/collections/appointment-templates.js.map +1 -0
  73. package/cjs/collections/appointments.js +9 -29
  74. package/cjs/collections/appointments.js.map +1 -1
  75. package/cjs/collections/assets.js +1 -9
  76. package/cjs/collections/assets.js.map +1 -1
  77. package/cjs/collections/auto-adjuncts.js +6 -21
  78. package/cjs/collections/auto-adjuncts.js.map +1 -1
  79. package/cjs/collections/base.js +46 -112
  80. package/cjs/collections/base.js.map +1 -1
  81. package/cjs/collections/base.spec.js +204 -233
  82. package/cjs/collections/base.spec.js.map +1 -1
  83. package/cjs/collections/cms-vals.js +9 -16
  84. package/cjs/collections/cms-vals.js.map +1 -1
  85. package/cjs/collections/contact-phones.js +20 -0
  86. package/cjs/collections/contact-phones.js.map +1 -0
  87. package/cjs/collections/contacts.js +1 -9
  88. package/cjs/collections/contacts.js.map +1 -1
  89. package/cjs/collections/created-assets.js +1 -10
  90. package/cjs/collections/created-assets.js.map +1 -1
  91. package/cjs/collections/customers.js +1 -9
  92. package/cjs/collections/customers.js.map +1 -1
  93. package/cjs/collections/deck-notes.js +1 -10
  94. package/cjs/collections/deck-notes.js.map +1 -1
  95. package/cjs/collections/deck-version-screenshots.js +49 -0
  96. package/cjs/collections/deck-version-screenshots.js.map +1 -0
  97. package/cjs/collections/deck-versions.js +5 -20
  98. package/cjs/collections/deck-versions.js.map +1 -1
  99. package/cjs/collections/decks.js +1 -9
  100. package/cjs/collections/decks.js.map +1 -1
  101. package/cjs/collections/deleted-assets.js +1 -10
  102. package/cjs/collections/deleted-assets.js.map +1 -1
  103. package/cjs/collections/dispatches.js +1 -13
  104. package/cjs/collections/dispatches.js.map +1 -1
  105. package/cjs/collections/event-objects.js +1 -9
  106. package/cjs/collections/event-objects.js.map +1 -1
  107. package/cjs/collections/events.js +1 -9
  108. package/cjs/collections/events.js.map +1 -1
  109. package/cjs/collections/groups.js +1 -9
  110. package/cjs/collections/groups.js.map +1 -1
  111. package/cjs/collections/images.js +1 -9
  112. package/cjs/collections/images.js.map +1 -1
  113. package/cjs/collections/locations.js +1 -9
  114. package/cjs/collections/locations.js.map +1 -1
  115. package/cjs/collections/opportunities.js +1 -9
  116. package/cjs/collections/opportunities.js.map +1 -1
  117. package/cjs/collections/pack-diffs.js +1 -9
  118. package/cjs/collections/pack-diffs.js.map +1 -1
  119. package/cjs/collections/packs.js +1 -9
  120. package/cjs/collections/packs.js.map +1 -1
  121. package/cjs/collections/presets.js +1 -9
  122. package/cjs/collections/presets.js.map +1 -1
  123. package/cjs/collections/section-selections.js +1 -9
  124. package/cjs/collections/section-selections.js.map +1 -1
  125. package/cjs/collections/sections.js +1 -9
  126. package/cjs/collections/sections.js.map +1 -1
  127. package/cjs/collections/slide-selections.js +1 -9
  128. package/cjs/collections/slide-selections.js.map +1 -1
  129. package/cjs/collections/slides.js +1 -9
  130. package/cjs/collections/slides.js.map +1 -1
  131. package/cjs/collections/snapshots.js +1 -9
  132. package/cjs/collections/snapshots.js.map +1 -1
  133. package/cjs/collections/sub-slides.js +1 -9
  134. package/cjs/collections/sub-slides.js.map +1 -1
  135. package/cjs/collections/tags.js +1 -9
  136. package/cjs/collections/tags.js.map +1 -1
  137. package/cjs/collections/teams.js +1 -9
  138. package/cjs/collections/teams.js.map +1 -1
  139. package/cjs/collections/templates.js +1 -9
  140. package/cjs/collections/templates.js.map +1 -1
  141. package/cjs/collections/uploads.js +1 -9
  142. package/cjs/collections/uploads.js.map +1 -1
  143. package/cjs/collections/users.js +1 -9
  144. package/cjs/collections/users.js.map +1 -1
  145. package/cjs/collections.js +33 -86
  146. package/cjs/collections.js.map +1 -1
  147. package/cjs/fixtures.js +187 -0
  148. package/cjs/fixtures.js.map +1 -0
  149. package/cjs/index.js +0 -10
  150. package/cjs/index.js.map +1 -1
  151. package/cjs/log.js +0 -1
  152. package/cjs/log.js.map +1 -1
  153. package/cjs/middleware.js +2 -7
  154. package/cjs/middleware.js.map +1 -1
  155. package/cjs/middlewares/auth.js +1 -17
  156. package/cjs/middlewares/auth.js.map +1 -1
  157. package/cjs/middlewares/base.js +3 -9
  158. package/cjs/middlewares/base.js.map +1 -1
  159. package/cjs/middlewares/json.js +1 -19
  160. package/cjs/middlewares/json.js.map +1 -1
  161. package/cjs/middlewares/redirect.js +5 -21
  162. package/cjs/middlewares/redirect.js.map +1 -1
  163. package/cjs/models/activity-item.js +6 -20
  164. package/cjs/models/activity-item.js.map +1 -1
  165. package/cjs/models/adjunct-section.js +8 -21
  166. package/cjs/models/adjunct-section.js.map +1 -1
  167. package/cjs/models/adjunct-slide.js +8 -21
  168. package/cjs/models/adjunct-slide.js.map +1 -1
  169. package/cjs/models/adjunct-sub-slide.js +1 -16
  170. package/cjs/models/adjunct-sub-slide.js.map +1 -1
  171. package/cjs/models/adjunct.js +34 -10
  172. package/cjs/models/adjunct.js.map +1 -1
  173. package/cjs/models/api.js +1 -6
  174. package/cjs/models/api.js.map +1 -1
  175. package/cjs/models/appointment-adjunct-tags.js +1 -13
  176. package/cjs/models/appointment-adjunct-tags.js.map +1 -1
  177. package/cjs/models/appointment-deckversion-tags.js +1 -13
  178. package/cjs/models/appointment-deckversion-tags.js.map +1 -1
  179. package/cjs/models/appointment-duplicate.js +3 -25
  180. package/cjs/models/appointment-duplicate.js.map +1 -1
  181. package/cjs/models/appointment-editor.js +1 -14
  182. package/cjs/models/appointment-editor.js.map +1 -1
  183. package/cjs/models/appointment-section-tags.js +1 -13
  184. package/cjs/models/appointment-section-tags.js.map +1 -1
  185. package/cjs/models/appointment-slide-tags.js +1 -13
  186. package/cjs/models/appointment-slide-tags.js.map +1 -1
  187. package/cjs/models/appointment-stats.js +1 -11
  188. package/cjs/models/appointment-stats.js.map +1 -1
  189. package/cjs/models/appointment-tags.js +1 -10
  190. package/cjs/models/appointment-tags.js.map +1 -1
  191. package/cjs/models/appointment-template.js +23 -0
  192. package/cjs/models/appointment-template.js.map +1 -0
  193. package/cjs/models/appointment-viewing.js +1 -8
  194. package/cjs/models/appointment-viewing.js.map +1 -1
  195. package/cjs/models/appointment.js +94 -69
  196. package/cjs/models/appointment.js.map +1 -1
  197. package/cjs/models/asset.js +12 -11
  198. package/cjs/models/asset.js.map +1 -1
  199. package/cjs/models/auto-adjunct-key-check.js +1 -15
  200. package/cjs/models/auto-adjunct-key-check.js.map +1 -1
  201. package/cjs/models/auto-adjunct.js +5 -14
  202. package/cjs/models/auto-adjunct.js.map +1 -1
  203. package/cjs/models/base.js +89 -173
  204. package/cjs/models/base.js.map +1 -1
  205. package/cjs/models/base.spec.js +8 -30
  206. package/cjs/models/base.spec.js.map +1 -1
  207. package/cjs/models/choicelist.js +1 -8
  208. package/cjs/models/choicelist.js.map +1 -1
  209. package/cjs/models/cms-val.js +28 -15
  210. package/cjs/models/cms-val.js.map +1 -1
  211. package/cjs/models/cms-val.spec.js +25 -0
  212. package/cjs/models/cms-val.spec.js.map +1 -0
  213. package/cjs/models/contact-phone.js +54 -0
  214. package/cjs/models/contact-phone.js.map +1 -0
  215. package/cjs/models/contact.js +1 -18
  216. package/cjs/models/contact.js.map +1 -1
  217. package/cjs/models/customer.js +5 -30
  218. package/cjs/models/customer.js.map +1 -1
  219. package/cjs/models/deck-note.js +1 -9
  220. package/cjs/models/deck-note.js.map +1 -1
  221. package/cjs/models/deck-tags.js +1 -12
  222. package/cjs/models/deck-tags.js.map +1 -1
  223. package/cjs/models/deck-version-screenshot.js +47 -0
  224. package/cjs/models/deck-version-screenshot.js.map +1 -0
  225. package/cjs/models/deck-version.js +54 -47
  226. package/cjs/models/deck-version.js.map +1 -1
  227. package/cjs/models/deck.js +1 -14
  228. package/cjs/models/deck.js.map +1 -1
  229. package/cjs/models/dispatch-preview.js +1 -13
  230. package/cjs/models/dispatch-preview.js.map +1 -1
  231. package/cjs/models/dispatch.js +1 -23
  232. package/cjs/models/dispatch.js.map +1 -1
  233. package/cjs/models/envs.js +1 -6
  234. package/cjs/models/envs.js.map +1 -1
  235. package/cjs/models/event-object.js +1 -11
  236. package/cjs/models/event-object.js.map +1 -1
  237. package/cjs/models/event.js +1 -13
  238. package/cjs/models/event.js.map +1 -1
  239. package/cjs/models/feed-data.js +6 -13
  240. package/cjs/models/feed-data.js.map +1 -1
  241. package/cjs/models/file.js +1 -11
  242. package/cjs/models/file.js.map +1 -1
  243. package/cjs/models/group.js +1 -11
  244. package/cjs/models/group.js.map +1 -1
  245. package/cjs/models/handover.js +1 -13
  246. package/cjs/models/handover.js.map +1 -1
  247. package/cjs/models/hosted-preso.js +1 -15
  248. package/cjs/models/hosted-preso.js.map +1 -1
  249. package/cjs/models/image.js +30 -11
  250. package/cjs/models/image.js.map +1 -1
  251. package/cjs/models/location.js +1 -13
  252. package/cjs/models/location.js.map +1 -1
  253. package/cjs/models/manifest-json.js +75 -74
  254. package/cjs/models/manifest-json.js.map +1 -1
  255. package/cjs/models/onshare.js +1 -14
  256. package/cjs/models/onshare.js.map +1 -1
  257. package/cjs/models/opportunity.js +1 -14
  258. package/cjs/models/opportunity.js.map +1 -1
  259. package/cjs/models/pack-diff.js +1 -14
  260. package/cjs/models/pack-diff.js.map +1 -1
  261. package/cjs/models/pack.js +1 -12
  262. package/cjs/models/pack.js.map +1 -1
  263. package/cjs/models/preset.js +4 -20
  264. package/cjs/models/preset.js.map +1 -1
  265. package/cjs/models/refresh-request.js +17 -11
  266. package/cjs/models/refresh-request.js.map +1 -1
  267. package/cjs/models/room.js +1 -9
  268. package/cjs/models/room.js.map +1 -1
  269. package/cjs/models/salesforce-lookup.js +1 -12
  270. package/cjs/models/salesforce-lookup.js.map +1 -1
  271. package/cjs/models/section-selection.js +1 -14
  272. package/cjs/models/section-selection.js.map +1 -1
  273. package/cjs/models/section.js +4 -15
  274. package/cjs/models/section.js.map +1 -1
  275. package/cjs/models/slide-selection.js +1 -14
  276. package/cjs/models/slide-selection.js.map +1 -1
  277. package/cjs/models/slide.js +4 -15
  278. package/cjs/models/slide.js.map +1 -1
  279. package/cjs/models/snapshot.js +13 -15
  280. package/cjs/models/snapshot.js.map +1 -1
  281. package/cjs/models/snapshot.spec.js +44 -0
  282. package/cjs/models/snapshot.spec.js.map +1 -0
  283. package/cjs/models/sub-slide.js +1 -12
  284. package/cjs/models/sub-slide.js.map +1 -1
  285. package/cjs/models/support-ticket.js +1 -11
  286. package/cjs/models/support-ticket.js.map +1 -1
  287. package/cjs/models/tag.js +1 -13
  288. package/cjs/models/tag.js.map +1 -1
  289. package/cjs/models/team.js +14 -13
  290. package/cjs/models/team.js.map +1 -1
  291. package/cjs/models/template.js +89 -15
  292. package/cjs/models/template.js.map +1 -1
  293. package/cjs/models/tenancy.js +4 -11
  294. package/cjs/models/tenancy.js.map +1 -1
  295. package/cjs/models/timing-log.js +21 -78
  296. package/cjs/models/timing-log.js.map +1 -1
  297. package/cjs/models/timing-log.spec.js +24 -37
  298. package/cjs/models/timing-log.spec.js.map +1 -1
  299. package/cjs/models/token.js +46 -0
  300. package/cjs/models/token.js.map +1 -0
  301. package/cjs/models/transcribe-socket.js +1 -8
  302. package/cjs/models/transcribe-socket.js.map +1 -1
  303. package/cjs/models/upload.js +1 -7
  304. package/cjs/models/upload.js.map +1 -1
  305. package/cjs/models/user.js +11 -28
  306. package/cjs/models/user.js.map +1 -1
  307. package/cjs/models/user.spec.js +20 -30
  308. package/cjs/models/user.spec.js.map +1 -1
  309. package/cjs/models.js +44 -128
  310. package/cjs/models.js.map +1 -1
  311. package/cjs/presentation/appointment-presentation.js +14 -36
  312. package/cjs/presentation/appointment-presentation.js.map +1 -1
  313. package/cjs/presentation/base-presentation-collection.js +1 -7
  314. package/cjs/presentation/base-presentation-collection.js.map +1 -1
  315. package/cjs/presentation/base-presentation-model.js +108 -33
  316. package/cjs/presentation/base-presentation-model.js.map +1 -1
  317. package/cjs/presentation/base-presentation-model.spec.js +58 -23
  318. package/cjs/presentation/base-presentation-model.spec.js.map +1 -1
  319. package/cjs/presentation/presentation-deck.js +73 -83
  320. package/cjs/presentation/presentation-deck.js.map +1 -1
  321. package/cjs/presentation/presentation-deck.spec.js +118 -88
  322. package/cjs/presentation/presentation-deck.spec.js.map +1 -1
  323. package/cjs/presentation/presentation-decks.js +1 -9
  324. package/cjs/presentation/presentation-decks.js.map +1 -1
  325. package/cjs/presentation/presentation-section.js +70 -84
  326. package/cjs/presentation/presentation-section.js.map +1 -1
  327. package/cjs/presentation/presentation-section.spec.js +296 -238
  328. package/cjs/presentation/presentation-section.spec.js.map +1 -1
  329. package/cjs/presentation/presentation-sections.js +1 -9
  330. package/cjs/presentation/presentation-sections.js.map +1 -1
  331. package/cjs/presentation/presentation-slide.js +74 -84
  332. package/cjs/presentation/presentation-slide.js.map +1 -1
  333. package/cjs/presentation/presentation-slide.spec.js +211 -166
  334. package/cjs/presentation/presentation-slide.spec.js.map +1 -1
  335. package/cjs/presentation/presentation-slides.js +1 -9
  336. package/cjs/presentation/presentation-slides.js.map +1 -1
  337. package/cjs/presentation/presentation-subslide.js +3 -23
  338. package/cjs/presentation/presentation-subslide.js.map +1 -1
  339. package/cjs/presentation/presentation-subslide.spec.js +101 -125
  340. package/cjs/presentation/presentation-subslide.spec.js.map +1 -1
  341. package/cjs/presentation/presentation-subslides.js +1 -9
  342. package/cjs/presentation/presentation-subslides.js.map +1 -1
  343. package/cjs/presentation/presentation.js +87 -32
  344. package/cjs/presentation/presentation.js.map +1 -1
  345. package/cjs/presentation.js +0 -20
  346. package/cjs/presentation.js.map +1 -1
  347. package/cjs/selections.js +81 -0
  348. package/cjs/selections.js.map +1 -0
  349. package/cjs/state-register.js +3 -11
  350. package/cjs/state-register.js.map +1 -1
  351. package/cjs/sync.js +32 -76
  352. package/cjs/sync.js.map +1 -1
  353. package/cjs/utils.js +51 -42
  354. package/cjs/utils.js.map +1 -1
  355. package/cjs/utils.spec.js +0 -4
  356. package/cjs/utils.spec.js.map +1 -1
  357. package/jest.config.js +5 -3
  358. package/package.json +11 -8
  359. package/src/api.js +17 -2
  360. package/src/auth.js +45 -9
  361. package/src/auth.spec.js +2 -0
  362. package/src/collections/activity.js +4 -4
  363. package/src/collections/adjunct-sections.js +1 -1
  364. package/src/collections/adjunct-slides.js +1 -1
  365. package/src/collections/adjunct-sub-slides.js +1 -1
  366. package/src/collections/appointment-adjunct-tags.js +1 -1
  367. package/src/collections/appointment-deckversion-tags.js +2 -2
  368. package/src/collections/appointment-duplicates.js +1 -1
  369. package/src/collections/appointment-editors.js +1 -1
  370. package/src/collections/appointment-section-tags.js +1 -1
  371. package/src/collections/appointment-slide-tags.js +1 -1
  372. package/src/collections/appointment-tags.js +20 -18
  373. package/src/collections/appointment-templates.js +26 -0
  374. package/src/collections/appointments.js +9 -9
  375. package/src/collections/assets.js +1 -1
  376. package/src/collections/auto-adjuncts.js +1 -1
  377. package/src/collections/base.js +20 -10
  378. package/src/collections/base.spec.js +19 -5
  379. package/src/collections/cms-vals.js +5 -1
  380. package/src/collections/contact-phones.js +18 -0
  381. package/src/collections/contacts.js +1 -1
  382. package/src/collections/created-assets.js +1 -1
  383. package/src/collections/customers.js +1 -1
  384. package/src/collections/deck-notes.js +1 -1
  385. package/src/collections/deck-version-screenshots.js +48 -0
  386. package/src/collections/deck-versions.js +1 -1
  387. package/src/collections/decks.js +1 -1
  388. package/src/collections/deleted-assets.js +1 -1
  389. package/src/collections/dispatches.js +2 -2
  390. package/src/collections/event-objects.js +1 -1
  391. package/src/collections/events.js +1 -1
  392. package/src/collections/groups.js +1 -1
  393. package/src/collections/images.js +1 -1
  394. package/src/collections/locations.js +1 -1
  395. package/src/collections/opportunities.js +1 -1
  396. package/src/collections/pack-diffs.js +1 -1
  397. package/src/collections/packs.js +1 -1
  398. package/src/collections/presets.js +1 -1
  399. package/src/collections/section-selections.js +1 -1
  400. package/src/collections/sections.js +1 -1
  401. package/src/collections/slide-selections.js +1 -1
  402. package/src/collections/slides.js +1 -1
  403. package/src/collections/snapshots.js +1 -1
  404. package/src/collections/sub-slides.js +1 -1
  405. package/src/collections/tags.js +1 -1
  406. package/src/collections/teams.js +1 -1
  407. package/src/collections/templates.js +1 -1
  408. package/src/collections/uploads.js +1 -1
  409. package/src/collections/users.js +1 -1
  410. package/src/collections.js +3 -0
  411. package/src/fixtures.js +193 -0
  412. package/src/models/activity-item.js +3 -1
  413. package/src/models/adjunct-section.js +7 -2
  414. package/src/models/adjunct-slide.js +7 -2
  415. package/src/models/adjunct-sub-slide.js +1 -1
  416. package/src/models/adjunct.js +39 -1
  417. package/src/models/appointment-adjunct-tags.js +1 -1
  418. package/src/models/appointment-deckversion-tags.js +1 -1
  419. package/src/models/appointment-duplicate.js +1 -1
  420. package/src/models/appointment-editor.js +1 -1
  421. package/src/models/appointment-section-tags.js +1 -1
  422. package/src/models/appointment-slide-tags.js +1 -1
  423. package/src/models/appointment-stats.js +1 -1
  424. package/src/models/appointment-tags.js +1 -1
  425. package/src/models/appointment-template.js +19 -0
  426. package/src/models/appointment-viewing.js +1 -1
  427. package/src/models/appointment.js +112 -37
  428. package/src/models/asset.js +15 -1
  429. package/src/models/auto-adjunct-key-check.js +1 -1
  430. package/src/models/auto-adjunct.js +4 -1
  431. package/src/models/base.js +55 -22
  432. package/src/models/base.spec.js +34 -27
  433. package/src/models/choicelist.js +1 -1
  434. package/src/models/cms-val.js +24 -1
  435. package/src/models/cms-val.spec.js +14 -0
  436. package/src/models/contact-phone.js +57 -0
  437. package/src/models/contact.js +1 -1
  438. package/src/models/customer.js +3 -3
  439. package/src/models/deck-note.js +1 -1
  440. package/src/models/deck-tags.js +1 -1
  441. package/src/models/deck-version-screenshot.js +48 -0
  442. package/src/models/deck-version.js +60 -9
  443. package/src/models/deck.js +1 -1
  444. package/src/models/dispatch-preview.js +1 -1
  445. package/src/models/dispatch.js +1 -1
  446. package/src/models/event-object.js +1 -1
  447. package/src/models/event.js +1 -1
  448. package/src/models/feed-data.js +3 -1
  449. package/src/models/file.js +1 -1
  450. package/src/models/group.js +1 -1
  451. package/src/models/handover.js +1 -1
  452. package/src/models/hosted-preso.js +1 -1
  453. package/src/models/image.js +33 -1
  454. package/src/models/location.js +1 -1
  455. package/src/models/manifest-json.js +57 -6
  456. package/src/models/onshare.js +1 -1
  457. package/src/models/opportunity.js +1 -1
  458. package/src/models/pack-diff.js +1 -1
  459. package/src/models/pack.js +1 -1
  460. package/src/models/preset.js +3 -1
  461. package/src/models/refresh-request.js +15 -1
  462. package/src/models/room.js +1 -1
  463. package/src/models/salesforce-lookup.js +1 -1
  464. package/src/models/section-selection.js +1 -1
  465. package/src/models/section.js +3 -1
  466. package/src/models/slide-selection.js +1 -1
  467. package/src/models/slide.js +3 -1
  468. package/src/models/snapshot.js +11 -2
  469. package/src/models/snapshot.spec.js +31 -0
  470. package/src/models/sub-slide.js +1 -1
  471. package/src/models/support-ticket.js +1 -1
  472. package/src/models/tag.js +1 -1
  473. package/src/models/team.js +14 -3
  474. package/src/models/template.js +74 -2
  475. package/src/models/tenancy.js +4 -1
  476. package/src/models/timing-log.js +2 -2
  477. package/src/models/timing-log.spec.js +1 -1
  478. package/src/models/token.js +47 -0
  479. package/src/models/transcribe-socket.js +1 -1
  480. package/src/models/user.js +15 -2
  481. package/src/models.js +4 -0
  482. package/src/presentation/appointment-presentation.js +13 -5
  483. package/src/presentation/base-presentation-collection.js +1 -1
  484. package/src/presentation/base-presentation-model.js +88 -3
  485. package/src/presentation/base-presentation-model.spec.js +80 -3
  486. package/src/presentation/presentation-deck.js +65 -22
  487. package/src/presentation/presentation-deck.spec.js +55 -2
  488. package/src/presentation/presentation-decks.js +1 -1
  489. package/src/presentation/presentation-section.js +91 -31
  490. package/src/presentation/presentation-section.spec.js +142 -10
  491. package/src/presentation/presentation-sections.js +1 -1
  492. package/src/presentation/presentation-slide.js +69 -23
  493. package/src/presentation/presentation-slide.spec.js +105 -9
  494. package/src/presentation/presentation-slides.js +1 -1
  495. package/src/presentation/presentation-subslide.js +5 -5
  496. package/src/presentation/presentation-subslide.spec.js +3 -3
  497. package/src/presentation/presentation-subslides.js +1 -1
  498. package/src/presentation/presentation.js +27 -8
  499. package/src/selections.js +71 -0
  500. package/src/sync.js +1 -1
  501. package/src/utils.js +31 -8
  502. package/src/utils.spec.js +4 -4
package/cjs/sync.js CHANGED
@@ -1,116 +1,90 @@
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.sync = exports.methodMap = exports.defaultFetchURL = exports.buildURL = exports.ajaxSync = void 0;
9
-
10
8
  var _bluebird = _interopRequireDefault(require("bluebird"));
11
-
12
9
  var _superagentBluebirdPromise = _interopRequireDefault(require("superagent-bluebird-promise"));
13
-
14
10
  var _lodash = _interopRequireDefault(require("lodash"));
15
-
16
11
  var _log = _interopRequireDefault(require("./log.js"));
17
-
18
12
  var _middleware = require("./middleware.js");
19
-
20
13
  var _superagent = _interopRequireDefault(require("superagent"));
21
-
22
14
  var _url = _interopRequireDefault(require("url"));
23
-
24
15
  var defaults = _lodash.default.defaults;
25
- var assign = _lodash.default.assign; // Throw an error when a URL is needed, and none is supplied.
16
+ var assign = _lodash.default.assign;
26
17
 
18
+ // Throw an error when a URL is needed, and none is supplied.
27
19
  var urlError = function urlError() {
28
20
  throw new Error("A \"url\" property or function must be specified");
29
- }; // Map from CRUD to HTTP for our default `Backbone.sync` implementation.
30
-
21
+ };
31
22
 
32
- var methodMap = {
23
+ // Map from CRUD to HTTP for our default `Backbone.sync` implementation.
24
+ var methodMap = exports.methodMap = {
33
25
  create: "POST",
34
26
  update: "PUT",
35
27
  patch: "PATCH",
36
28
  delete: "DELETE",
37
29
  read: "GET"
38
30
  };
39
- exports.methodMap = methodMap;
40
-
41
- var defaultFetchURL = function defaultFetchURL(_ref) {
31
+ var defaultFetchURL = exports.defaultFetchURL = function defaultFetchURL(_ref) {
42
32
  var model = _ref.model;
43
-
44
33
  _log.default.warn("Deprecation: defaultFetchURL is deprecated. Just use .url()");
45
-
46
34
  return model.url();
47
35
  };
48
-
49
- exports.defaultFetchURL = defaultFetchURL;
50
-
51
- var buildURL = function buildURL(_ref2) {
36
+ var buildURL = exports.buildURL = function buildURL(_ref2) {
52
37
  var method = _ref2.method,
53
- model = _ref2.model;
38
+ model = _ref2.model;
54
39
  var url = model.url();
40
+ var urlParse = _url.default.parse(url);
55
41
 
56
- var urlParse = _url.default.parse(url); // If not a GET request, strip the query params from the url
57
-
58
-
42
+ // If not a GET request, strip the query params from the url
59
43
  if (method !== "read") {
60
44
  return url.replace(urlParse.search, "");
61
45
  }
62
-
63
46
  return url;
64
47
  };
65
-
66
- exports.buildURL = buildURL;
67
-
68
- var sync = function sync(method) {
48
+ var sync = exports.sync = function sync(method) {
69
49
  var _this = this;
70
-
71
50
  var syncArguments = arguments;
72
-
73
51
  if (method === "read") {
74
52
  // look for sync methods
75
53
  var syncActions = [];
76
-
77
54
  _middleware.middlewares.forEach(function (middleware) {
78
55
  if (middleware.sync) {
79
56
  syncActions.push(middleware.sync.apply(_this, syncArguments));
80
57
  }
81
58
  });
82
-
83
59
  return _bluebird.default.all(syncActions).then(function () {
84
60
  return ajaxSync.apply(_this, syncArguments);
85
61
  });
86
62
  }
87
-
88
63
  return ajaxSync.apply(this, syncArguments);
89
64
  };
65
+ var ajaxSync = exports.ajaxSync = function ajaxSync(method, model, options) {
66
+ var type = methodMap[method];
90
67
 
91
- exports.sync = sync;
92
-
93
- var ajaxSync = function ajaxSync(method, model, options) {
94
- var type = methodMap[method]; // Default options, unless specified.
95
-
68
+ // Default options, unless specified.
96
69
  defaults(options || (options = {}), {
97
70
  emulateHTTP: false,
98
71
  emulateJSON: false
99
- }); // Default request options.
72
+ });
100
73
 
74
+ // Default request options.
101
75
  var params = {
102
76
  type: type
103
- }; // Ensure that we have a URL.
77
+ };
104
78
 
79
+ // Ensure that we have a URL.
105
80
  if (!options.url) {
106
81
  options.url = _lodash.default.result(model, "url") || urlError();
107
- } // Ensure that we have the appropriate request data.
108
-
82
+ }
109
83
 
84
+ // Ensure that we have the appropriate request data.
110
85
  if (options.data === null && model && (method === "create" || method === "update" || method === "patch" || method === "delete" && options.batch)) {
111
86
  params.json = options.attrs || model.toJSON(options);
112
87
  }
113
-
114
88
  var url = buildURL({
115
89
  method: method,
116
90
  model: model,
@@ -119,72 +93,63 @@ var ajaxSync = function ajaxSync(method, model, options) {
119
93
  var requestSettings = assign(params, options);
120
94
  requestSettings.method = type;
121
95
  var request = (0, _superagentBluebirdPromise.default)(type, url);
122
-
123
96
  if (type === "PATCH" || type === "POST" || type === "PUT" || type === "DELETE" && options.batch) {
124
- var data = model.toServer(); // Note we can use formdata to override the way a patch works - if we
97
+ var data = model.toServer();
98
+
99
+ // Note we can use formdata to override the way a patch works - if we
125
100
  // are doing this it's for a particular patch with an image or file,
126
101
  // probably.
127
-
128
102
  if (type === "PATCH" && !_lodash.default.isArray(data) && !(data instanceof FormData)) {
129
103
  // Make sure we're only updating data actually passed to the save
130
104
  // function, rather than automatically generated stuff
131
105
  data = _lodash.default.pick(options.attrs, Object.keys(data));
132
106
  }
133
-
134
107
  request.send(data);
135
108
  }
136
-
137
109
  options.xhr = request;
138
-
139
110
  _middleware.middlewares.forEach(function (middleware) {
140
111
  if (middleware.preflight) {
141
112
  middleware.preflight(request);
142
113
  }
143
114
  });
144
-
145
115
  var mc = 0;
146
-
147
116
  function getNextMiddleware(request) {
148
117
  return function middlewareInterceptor(response) {
149
118
  if (mc < _middleware.middlewares.length) {
150
119
  return _middleware.middlewares[mc++].intercept(request, response, model).then(getNextMiddleware(request));
151
120
  }
152
-
153
121
  return _bluebird.default.resolve(response);
154
122
  };
155
123
  }
156
-
157
124
  model.trigger("request", model, request, options, requestSettings);
158
125
  request.requestSettings = requestSettings;
159
- var ajaxConfig = _lodash.default.result(model, "ajaxConfig") || {}; // Combine generated headers with user's headers.
126
+ var ajaxConfig = _lodash.default.result(model, "ajaxConfig") || {};
160
127
 
128
+ // Combine generated headers with user's headers.
161
129
  if (ajaxConfig.headers) {
162
130
  for (var key in ajaxConfig.headers) {
163
131
  request.header[key.toLowerCase()] = ajaxConfig.headers[key];
164
132
  }
165
133
  }
166
-
167
134
  if (options.headers) {
168
135
  for (var _key in options.headers) {
169
136
  request.header[_key.toLowerCase()] = options.headers[_key];
170
137
  }
171
- } // TODO: Remove me when this can be moved... for now this removal is quite a complex
172
- // process.
173
-
138
+ }
174
139
 
140
+ // TODO: Remove me when this can be moved... for now this removal is quite a complex
141
+ // process.
175
142
  if (options.cached && !options.deleted) {
176
143
  return _bluebird.default.resolve(options.cachedResponse).then(getNextMiddleware(request)).then(function (response) {
177
144
  if (!response.data) {
178
145
  response.data = JSON.parse(response.text);
179
146
  }
180
-
181
147
  return _bluebird.default.each(_middleware.middlewares, function (middleware) {
182
148
  return middleware.success(request, response, model, true);
183
149
  }).then(function () {
184
150
  if (options.success) {
185
151
  options.success(response.data, "success", response);
186
152
  }
187
-
188
153
  return response.data;
189
154
  });
190
155
  }).catch(function (response) {
@@ -194,34 +159,29 @@ var ajaxSync = function ajaxSync(method, model, options) {
194
159
  if (options.error) {
195
160
  options.error(response, "error", response.message);
196
161
  }
197
-
198
162
  throw response;
199
163
  });
200
164
  });
201
165
  }
202
-
203
- return request // Force a timeout on every request. Intermittent connections
166
+ return request
167
+ // Force a timeout on every request. Intermittent connections
204
168
  // can have the request continue trying for minutes otherwise.
205
169
  .timeout(60 * 1000).then(getNextMiddleware(request)).then(function (response) {
206
170
  var data;
207
-
208
171
  try {
209
172
  data = JSON.parse(response.text);
210
173
  } catch (e) {
211
174
  data = response;
212
175
  }
213
-
214
176
  if (type !== "DELETE") {
215
177
  model.set(data);
216
178
  }
217
-
218
179
  return _bluebird.default.each(_middleware.middlewares, function (middleware) {
219
180
  return middleware.success(request, response, model, false);
220
181
  }).then(function () {
221
182
  if (options.success) {
222
183
  options.success(data, "success", response);
223
184
  }
224
-
225
185
  request.emit("success", response);
226
186
  return data;
227
187
  });
@@ -229,7 +189,6 @@ var ajaxSync = function ajaxSync(method, model, options) {
229
189
  if (e.res && e.res.body && (e.status >= 400 && e.status < 500 || e.status === 503)) {
230
190
  e.message += "\nBody: ".concat(JSON.stringify(e.res.body));
231
191
  }
232
-
233
192
  throw e;
234
193
  }).catch(function (response) {
235
194
  return _bluebird.default.each(_middleware.middlewares, function (middleware) {
@@ -237,17 +196,14 @@ var ajaxSync = function ajaxSync(method, model, options) {
237
196
  }).then(function () {
238
197
  if (options.error) {
239
198
  options.error(response, "error", response.message);
240
- } // Provide a more explanatory error message on timeout
241
-
199
+ }
242
200
 
201
+ // Provide a more explanatory error message on timeout
243
202
  if (response && response.originalError && response.originalError.code === "ECONNABORTED") {
244
203
  throw new Error("Failed ".concat(type, " request on url: ").concat(url, ". ").concat(response.message));
245
204
  }
246
-
247
205
  throw response;
248
206
  });
249
207
  });
250
208
  };
251
-
252
- exports.ajaxSync = ajaxSync;
253
209
  //# sourceMappingURL=sync.js.map
package/cjs/sync.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/sync.js"],"names":["defaults","_","assign","urlError","Error","methodMap","create","update","patch","delete","read","defaultFetchURL","model","log","warn","url","buildURL","method","urlParse","url2","parse","replace","search","sync","syncArguments","arguments","syncActions","middlewares","forEach","middleware","push","apply","Promise","all","then","ajaxSync","options","type","emulateHTTP","emulateJSON","params","result","data","batch","json","attrs","toJSON","requestSettings","request","toServer","isArray","FormData","pick","Object","keys","send","xhr","preflight","mc","getNextMiddleware","middlewareInterceptor","response","length","intercept","resolve","trigger","ajaxConfig","headers","key","header","toLowerCase","cached","deleted","cachedResponse","JSON","text","each","success","catch","error","message","timeout","e","set","emit","superagent","SuperagentPromiseError","res","body","status","stringify","originalError","code"],"mappings":"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","sourcesContent":["import Promise from \"bluebird\";\nimport SuperAgentRequest from \"superagent-bluebird-promise\";\nimport _ from \"lodash\";\nimport log from \"./log.js\";\nimport { middlewares } from \"./middleware.js\";\nimport superagent from \"superagent\";\nimport url2 from \"url\";\n\nconst defaults = _.defaults;\nconst assign = _.assign;\n\n// Throw an error when a URL is needed, and none is supplied.\nconst urlError = function () {\n\tthrow new Error(`A \"url\" property or function must be specified`);\n};\n\n// Map from CRUD to HTTP for our default `Backbone.sync` implementation.\nexport const methodMap = {\n\tcreate: \"POST\",\n\tupdate: \"PUT\",\n\tpatch: \"PATCH\",\n\tdelete: \"DELETE\",\n\tread: \"GET\",\n};\n\nexport const defaultFetchURL = function ({ model }) {\n\tlog.warn(\"Deprecation: defaultFetchURL is deprecated. Just use .url()\");\n\treturn model.url();\n};\n\nexport const buildURL = function ({ method, model }) {\n\tconst url = model.url();\n\tconst urlParse = url2.parse(url);\n\n\t// If not a GET request, strip the query params from the url\n\tif (method !== \"read\") {\n\t\treturn url.replace(urlParse.search, \"\");\n\t}\n\n\treturn url;\n};\n\nexport const sync = function (method) {\n\tconst syncArguments = arguments;\n\n\tif (method === \"read\") {\n\t\t// look for sync methods\n\t\tconst syncActions = [];\n\t\tmiddlewares.forEach((middleware) => {\n\t\t\tif (middleware.sync) {\n\t\t\t\tsyncActions.push(middleware.sync.apply(this, syncArguments));\n\t\t\t}\n\t\t});\n\n\t\treturn Promise.all(syncActions).then(() => {\n\t\t\treturn ajaxSync.apply(this, syncArguments);\n\t\t});\n\t}\n\treturn ajaxSync.apply(this, syncArguments);\n};\n\nexport const ajaxSync = function (method, model, options) {\n\tconst type = methodMap[method];\n\n\t// Default options, unless specified.\n\tdefaults(options || (options = {}), {\n\t\temulateHTTP: false,\n\t\temulateJSON: false,\n\t});\n\n\t// Default request options.\n\tconst params = { type: type };\n\n\t// Ensure that we have a URL.\n\tif (!options.url) {\n\t\toptions.url = _.result(model, \"url\") || urlError();\n\t}\n\n\t// Ensure that we have the appropriate request data.\n\tif (\n\t\toptions.data === null &&\n\t\tmodel &&\n\t\t(method === \"create\" ||\n\t\t\tmethod === \"update\" ||\n\t\t\tmethod === \"patch\" ||\n\t\t\t(method === \"delete\" && options.batch))\n\t) {\n\t\tparams.json = options.attrs || model.toJSON(options);\n\t}\n\n\tconst url = buildURL({ method, model, options });\n\n\tconst requestSettings = assign(params, options);\n\trequestSettings.method = type;\n\n\tconst request = SuperAgentRequest(type, url);\n\n\tif (\n\t\ttype === \"PATCH\" ||\n\t\ttype === \"POST\" ||\n\t\ttype === \"PUT\" ||\n\t\t(type === \"DELETE\" && options.batch)\n\t) {\n\t\tlet data = model.toServer();\n\n\t\t// Note we can use formdata to override the way a patch works - if we\n\t\t// are doing this it's for a particular patch with an image or file,\n\t\t// probably.\n\t\tif (type === \"PATCH\" && !_.isArray(data) && !(data instanceof FormData)) {\n\t\t\t// Make sure we're only updating data actually passed to the save\n\t\t\t// function, rather than automatically generated stuff\n\t\t\tdata = _.pick(options.attrs, Object.keys(data));\n\t\t}\n\t\trequest.send(data);\n\t}\n\n\toptions.xhr = request;\n\n\tmiddlewares.forEach((middleware) => {\n\t\tif (middleware.preflight) {\n\t\t\tmiddleware.preflight(request);\n\t\t}\n\t});\n\n\tlet mc = 0;\n\n\tfunction getNextMiddleware(request) {\n\t\treturn function middlewareInterceptor(response) {\n\t\t\tif (mc < middlewares.length) {\n\t\t\t\treturn middlewares[mc++]\n\t\t\t\t\t.intercept(request, response, model)\n\t\t\t\t\t.then(getNextMiddleware(request));\n\t\t\t}\n\t\t\treturn Promise.resolve(response);\n\t\t};\n\t}\n\n\tmodel.trigger(\"request\", model, request, options, requestSettings);\n\trequest.requestSettings = requestSettings;\n\n\tconst ajaxConfig = _.result(model, \"ajaxConfig\") || {};\n\n\t// Combine generated headers with user's headers.\n\tif (ajaxConfig.headers) {\n\t\tfor (const key in ajaxConfig.headers) {\n\t\t\trequest.header[key.toLowerCase()] = ajaxConfig.headers[key];\n\t\t}\n\t}\n\n\tif (options.headers) {\n\t\tfor (const key in options.headers) {\n\t\t\trequest.header[key.toLowerCase()] = options.headers[key];\n\t\t}\n\t}\n\n\t// TODO: Remove me when this can be moved... for now this removal is quite a complex\n\t// process.\n\tif (options.cached && !options.deleted) {\n\t\treturn Promise.resolve(options.cachedResponse)\n\t\t\t.then(getNextMiddleware(request))\n\t\t\t.then(function (response) {\n\t\t\t\tif (!response.data) {\n\t\t\t\t\tresponse.data = JSON.parse(response.text);\n\t\t\t\t}\n\n\t\t\t\treturn Promise.each(middlewares, (middleware) => {\n\t\t\t\t\treturn middleware.success(request, response, model, true);\n\t\t\t\t}).then(() => {\n\t\t\t\t\tif (options.success) {\n\t\t\t\t\t\toptions.success(response.data, \"success\", response);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn response.data;\n\t\t\t\t});\n\t\t\t})\n\t\t\t.catch(function (response) {\n\t\t\t\treturn Promise.each(middlewares, (middleware) => {\n\t\t\t\t\treturn middleware.error(response, model);\n\t\t\t\t}).then(() => {\n\t\t\t\t\tif (options.error) {\n\t\t\t\t\t\toptions.error(response, \"error\", response.message);\n\t\t\t\t\t}\n\t\t\t\t\tthrow response;\n\t\t\t\t});\n\t\t\t});\n\t}\n\n\treturn (\n\t\trequest\n\t\t\t// Force a timeout on every request. Intermittent connections\n\t\t\t// can have the request continue trying for minutes otherwise.\n\t\t\t.timeout(60 * 1000)\n\t\t\t.then(getNextMiddleware(request))\n\t\t\t.then(function (response) {\n\t\t\t\tlet data;\n\t\t\t\ttry {\n\t\t\t\t\tdata = JSON.parse(response.text);\n\t\t\t\t} catch (e) {\n\t\t\t\t\tdata = response;\n\t\t\t\t}\n\n\t\t\t\tif (type !== \"DELETE\") {\n\t\t\t\t\tmodel.set(data);\n\t\t\t\t}\n\n\t\t\t\treturn Promise.each(middlewares, (middleware) => {\n\t\t\t\t\treturn middleware.success(request, response, model, false);\n\t\t\t\t}).then(() => {\n\t\t\t\t\tif (options.success) {\n\t\t\t\t\t\toptions.success(data, \"success\", response);\n\t\t\t\t\t}\n\t\t\t\t\trequest.emit(\"success\", response);\n\t\t\t\t\treturn data;\n\t\t\t\t});\n\t\t\t})\n\t\t\t.catch(superagent.SuperagentPromiseError, (e) => {\n\t\t\t\tif (\n\t\t\t\t\te.res &&\n\t\t\t\t\te.res.body &&\n\t\t\t\t\t((e.status >= 400 && e.status < 500) || e.status === 503)\n\t\t\t\t) {\n\t\t\t\t\te.message += `\\nBody: ${JSON.stringify(e.res.body)}`;\n\t\t\t\t}\n\t\t\t\tthrow e;\n\t\t\t})\n\t\t\t.catch(function (response) {\n\t\t\t\treturn Promise.each(middlewares, (middleware) => {\n\t\t\t\t\treturn middleware.error(response);\n\t\t\t\t}).then(() => {\n\t\t\t\t\tif (options.error) {\n\t\t\t\t\t\toptions.error(response, \"error\", response.message);\n\t\t\t\t\t}\n\n\t\t\t\t\t// Provide a more explanatory error message on timeout\n\t\t\t\t\tif (\n\t\t\t\t\t\tresponse &&\n\t\t\t\t\t\tresponse.originalError &&\n\t\t\t\t\t\tresponse.originalError.code === \"ECONNABORTED\"\n\t\t\t\t\t) {\n\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t`Failed ${type} request on url: ${url}. ${response.message}`\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tthrow response;\n\t\t\t\t});\n\t\t\t})\n\t);\n};\n"],"file":"sync.js"}
1
+ {"version":3,"file":"sync.js","names":["_bluebird","_interopRequireDefault","require","_superagentBluebirdPromise","_lodash","_log","_middleware","_superagent","_url","defaults","_","assign","urlError","Error","methodMap","exports","create","update","patch","delete","read","defaultFetchURL","_ref","model","log","warn","url","buildURL","_ref2","method","urlParse","url2","parse","replace","search","sync","_this","syncArguments","arguments","syncActions","middlewares","forEach","middleware","push","apply","Promise","all","then","ajaxSync","options","type","emulateHTTP","emulateJSON","params","result","data","batch","json","attrs","toJSON","requestSettings","request","SuperAgentRequest","toServer","isArray","FormData","pick","Object","keys","send","xhr","preflight","mc","getNextMiddleware","middlewareInterceptor","response","length","intercept","resolve","trigger","ajaxConfig","headers","key","header","toLowerCase","cached","deleted","cachedResponse","JSON","text","each","success","catch","error","message","timeout","e","set","emit","superagent","SuperagentPromiseError","res","body","status","concat","stringify","originalError","code"],"sources":["../src/sync.js"],"sourcesContent":["import Promise from \"bluebird\";\nimport SuperAgentRequest from \"superagent-bluebird-promise\";\nimport _ from \"lodash\";\nimport log from \"./log.js\";\nimport { middlewares } from \"./middleware.js\";\nimport superagent from \"superagent\";\nimport url2 from \"url\";\n\nconst defaults = _.defaults;\nconst assign = _.assign;\n\n// Throw an error when a URL is needed, and none is supplied.\nconst urlError = function () {\n\tthrow new Error(`A \"url\" property or function must be specified`);\n};\n\n// Map from CRUD to HTTP for our default `Backbone.sync` implementation.\nexport const methodMap = {\n\tcreate: \"POST\",\n\tupdate: \"PUT\",\n\tpatch: \"PATCH\",\n\tdelete: \"DELETE\",\n\tread: \"GET\",\n};\n\nexport const defaultFetchURL = function ({ model }) {\n\tlog.warn(\"Deprecation: defaultFetchURL is deprecated. Just use .url()\");\n\treturn model.url();\n};\n\nexport const buildURL = function ({ method, model }) {\n\tconst url = model.url();\n\tconst urlParse = url2.parse(url);\n\n\t// If not a GET request, strip the query params from the url\n\tif (method !== \"read\") {\n\t\treturn url.replace(urlParse.search, \"\");\n\t}\n\n\treturn url;\n};\n\nexport const sync = function (method) {\n\tconst syncArguments = arguments;\n\n\tif (method === \"read\") {\n\t\t// look for sync methods\n\t\tconst syncActions = [];\n\t\tmiddlewares.forEach((middleware) => {\n\t\t\tif (middleware.sync) {\n\t\t\t\tsyncActions.push(middleware.sync.apply(this, syncArguments));\n\t\t\t}\n\t\t});\n\n\t\treturn Promise.all(syncActions).then(() => {\n\t\t\treturn ajaxSync.apply(this, syncArguments);\n\t\t});\n\t}\n\treturn ajaxSync.apply(this, syncArguments);\n};\n\nexport const ajaxSync = function (method, model, options) {\n\tconst type = methodMap[method];\n\n\t// Default options, unless specified.\n\tdefaults(options || (options = {}), {\n\t\temulateHTTP: false,\n\t\temulateJSON: false,\n\t});\n\n\t// Default request options.\n\tconst params = { type: type };\n\n\t// Ensure that we have a URL.\n\tif (!options.url) {\n\t\toptions.url = _.result(model, \"url\") || urlError();\n\t}\n\n\t// Ensure that we have the appropriate request data.\n\tif (\n\t\toptions.data === null &&\n\t\tmodel &&\n\t\t(method === \"create\" ||\n\t\t\tmethod === \"update\" ||\n\t\t\tmethod === \"patch\" ||\n\t\t\t(method === \"delete\" && options.batch))\n\t) {\n\t\tparams.json = options.attrs || model.toJSON(options);\n\t}\n\n\tconst url = buildURL({ method, model, options });\n\n\tconst requestSettings = assign(params, options);\n\trequestSettings.method = type;\n\n\tconst request = SuperAgentRequest(type, url);\n\n\tif (\n\t\ttype === \"PATCH\" ||\n\t\ttype === \"POST\" ||\n\t\ttype === \"PUT\" ||\n\t\t(type === \"DELETE\" && options.batch)\n\t) {\n\t\tlet data = model.toServer();\n\n\t\t// Note we can use formdata to override the way a patch works - if we\n\t\t// are doing this it's for a particular patch with an image or file,\n\t\t// probably.\n\t\tif (type === \"PATCH\" && !_.isArray(data) && !(data instanceof FormData)) {\n\t\t\t// Make sure we're only updating data actually passed to the save\n\t\t\t// function, rather than automatically generated stuff\n\t\t\tdata = _.pick(options.attrs, Object.keys(data));\n\t\t}\n\t\trequest.send(data);\n\t}\n\n\toptions.xhr = request;\n\n\tmiddlewares.forEach((middleware) => {\n\t\tif (middleware.preflight) {\n\t\t\tmiddleware.preflight(request);\n\t\t}\n\t});\n\n\tlet mc = 0;\n\n\tfunction getNextMiddleware(request) {\n\t\treturn function middlewareInterceptor(response) {\n\t\t\tif (mc < middlewares.length) {\n\t\t\t\treturn middlewares[mc++]\n\t\t\t\t\t.intercept(request, response, model)\n\t\t\t\t\t.then(getNextMiddleware(request));\n\t\t\t}\n\t\t\treturn Promise.resolve(response);\n\t\t};\n\t}\n\n\tmodel.trigger(\"request\", model, request, options, requestSettings);\n\trequest.requestSettings = requestSettings;\n\n\tconst ajaxConfig = _.result(model, \"ajaxConfig\") || {};\n\n\t// Combine generated headers with user's headers.\n\tif (ajaxConfig.headers) {\n\t\tfor (const key in ajaxConfig.headers) {\n\t\t\trequest.header[key.toLowerCase()] = ajaxConfig.headers[key];\n\t\t}\n\t}\n\n\tif (options.headers) {\n\t\tfor (const key in options.headers) {\n\t\t\trequest.header[key.toLowerCase()] = options.headers[key];\n\t\t}\n\t}\n\n\t// TODO: Remove me when this can be moved... for now this removal is quite a complex\n\t// process.\n\tif (options.cached && !options.deleted) {\n\t\treturn Promise.resolve(options.cachedResponse)\n\t\t\t.then(getNextMiddleware(request))\n\t\t\t.then(function (response) {\n\t\t\t\tif (!response.data) {\n\t\t\t\t\tresponse.data = JSON.parse(response.text);\n\t\t\t\t}\n\n\t\t\t\treturn Promise.each(middlewares, (middleware) => {\n\t\t\t\t\treturn middleware.success(request, response, model, true);\n\t\t\t\t}).then(() => {\n\t\t\t\t\tif (options.success) {\n\t\t\t\t\t\toptions.success(response.data, \"success\", response);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn response.data;\n\t\t\t\t});\n\t\t\t})\n\t\t\t.catch(function (response) {\n\t\t\t\treturn Promise.each(middlewares, (middleware) => {\n\t\t\t\t\treturn middleware.error(response, model);\n\t\t\t\t}).then(() => {\n\t\t\t\t\tif (options.error) {\n\t\t\t\t\t\toptions.error(response, \"error\", response.message);\n\t\t\t\t\t}\n\t\t\t\t\tthrow response;\n\t\t\t\t});\n\t\t\t});\n\t}\n\n\treturn (\n\t\trequest\n\t\t\t// Force a timeout on every request. Intermittent connections\n\t\t\t// can have the request continue trying for minutes otherwise.\n\t\t\t.timeout(60 * 1000)\n\t\t\t.then(getNextMiddleware(request))\n\t\t\t.then(function (response) {\n\t\t\t\tlet data;\n\t\t\t\ttry {\n\t\t\t\t\tdata = JSON.parse(response.text);\n\t\t\t\t} catch (e) {\n\t\t\t\t\tdata = response;\n\t\t\t\t}\n\n\t\t\t\tif (type !== \"DELETE\") {\n\t\t\t\t\tmodel.set(data);\n\t\t\t\t}\n\n\t\t\t\treturn Promise.each(middlewares, (middleware) => {\n\t\t\t\t\treturn middleware.success(request, response, model, false);\n\t\t\t\t}).then(() => {\n\t\t\t\t\tif (options.success) {\n\t\t\t\t\t\toptions.success(data, \"success\", response);\n\t\t\t\t\t}\n\t\t\t\t\trequest.emit(\"success\", response);\n\t\t\t\t\treturn data;\n\t\t\t\t});\n\t\t\t})\n\t\t\t.catch(superagent.SuperagentPromiseError, (e) => {\n\t\t\t\tif (\n\t\t\t\t\te.res &&\n\t\t\t\t\te.res.body &&\n\t\t\t\t\t((e.status >= 400 && e.status < 500) || e.status === 503)\n\t\t\t\t) {\n\t\t\t\t\te.message += `\\nBody: ${JSON.stringify(e.res.body)}`;\n\t\t\t\t}\n\t\t\t\tthrow e;\n\t\t\t})\n\t\t\t.catch(function (response) {\n\t\t\t\treturn Promise.each(middlewares, (middleware) => {\n\t\t\t\t\treturn middleware.error(response);\n\t\t\t\t}).then(() => {\n\t\t\t\t\tif (options.error) {\n\t\t\t\t\t\toptions.error(response, \"error\", response.message);\n\t\t\t\t\t}\n\n\t\t\t\t\t// Provide a more explanatory error message on timeout\n\t\t\t\t\tif (\n\t\t\t\t\t\tresponse &&\n\t\t\t\t\t\tresponse.originalError &&\n\t\t\t\t\t\tresponse.originalError.code === \"ECONNABORTED\"\n\t\t\t\t\t) {\n\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t`Failed ${type} request on url: ${url}. ${response.message}`,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tthrow response;\n\t\t\t\t});\n\t\t\t})\n\t);\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,SAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,0BAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,OAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,IAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,WAAA,GAAAJ,OAAA;AACA,IAAAK,WAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,IAAA,GAAAP,sBAAA,CAAAC,OAAA;AAEA,IAAMO,QAAQ,GAAGC,eAAC,CAACD,QAAQ;AAC3B,IAAME,MAAM,GAAGD,eAAC,CAACC,MAAM;;AAEvB;AACA,IAAMC,QAAQ,GAAG,SAAXA,QAAQA,CAAA,EAAe;EAC5B,MAAM,IAAIC,KAAK,mDAAiD,CAAC;AAClE,CAAC;;AAED;AACO,IAAMC,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAG;EACxBE,MAAM,EAAE,MAAM;EACdC,MAAM,EAAE,KAAK;EACbC,KAAK,EAAE,OAAO;EACdC,MAAM,EAAE,QAAQ;EAChBC,IAAI,EAAE;AACP,CAAC;AAEM,IAAMC,eAAe,GAAAN,OAAA,CAAAM,eAAA,GAAG,SAAlBA,eAAeA,CAAAC,IAAA,EAAwB;EAAA,IAATC,KAAK,GAAAD,IAAA,CAALC,KAAK;EAC/CC,YAAG,CAACC,IAAI,CAAC,6DAA6D,CAAC;EACvE,OAAOF,KAAK,CAACG,GAAG,CAAC,CAAC;AACnB,CAAC;AAEM,IAAMC,QAAQ,GAAAZ,OAAA,CAAAY,QAAA,GAAG,SAAXA,QAAQA,CAAAC,KAAA,EAAgC;EAAA,IAAjBC,MAAM,GAAAD,KAAA,CAANC,MAAM;IAAEN,KAAK,GAAAK,KAAA,CAALL,KAAK;EAChD,IAAMG,GAAG,GAAGH,KAAK,CAACG,GAAG,CAAC,CAAC;EACvB,IAAMI,QAAQ,GAAGC,YAAI,CAACC,KAAK,CAACN,GAAG,CAAC;;EAEhC;EACA,IAAIG,MAAM,KAAK,MAAM,EAAE;IACtB,OAAOH,GAAG,CAACO,OAAO,CAACH,QAAQ,CAACI,MAAM,EAAE,EAAE,CAAC;EACxC;EAEA,OAAOR,GAAG;AACX,CAAC;AAEM,IAAMS,IAAI,GAAApB,OAAA,CAAAoB,IAAA,GAAG,SAAPA,IAAIA,CAAaN,MAAM,EAAE;EAAA,IAAAO,KAAA;EACrC,IAAMC,aAAa,GAAGC,SAAS;EAE/B,IAAIT,MAAM,KAAK,MAAM,EAAE;IACtB;IACA,IAAMU,WAAW,GAAG,EAAE;IACtBC,uBAAW,CAACC,OAAO,CAAC,UAACC,UAAU,EAAK;MACnC,IAAIA,UAAU,CAACP,IAAI,EAAE;QACpBI,WAAW,CAACI,IAAI,CAACD,UAAU,CAACP,IAAI,CAACS,KAAK,CAACR,KAAI,EAAEC,aAAa,CAAC,CAAC;MAC7D;IACD,CAAC,CAAC;IAEF,OAAOQ,iBAAO,CAACC,GAAG,CAACP,WAAW,CAAC,CAACQ,IAAI,CAAC,YAAM;MAC1C,OAAOC,QAAQ,CAACJ,KAAK,CAACR,KAAI,EAAEC,aAAa,CAAC;IAC3C,CAAC,CAAC;EACH;EACA,OAAOW,QAAQ,CAACJ,KAAK,CAAC,IAAI,EAAEP,aAAa,CAAC;AAC3C,CAAC;AAEM,IAAMW,QAAQ,GAAAjC,OAAA,CAAAiC,QAAA,GAAG,SAAXA,QAAQA,CAAanB,MAAM,EAAEN,KAAK,EAAE0B,OAAO,EAAE;EACzD,IAAMC,IAAI,GAAGpC,SAAS,CAACe,MAAM,CAAC;;EAE9B;EACApB,QAAQ,CAACwC,OAAO,KAAKA,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE;IACnCE,WAAW,EAAE,KAAK;IAClBC,WAAW,EAAE;EACd,CAAC,CAAC;;EAEF;EACA,IAAMC,MAAM,GAAG;IAAEH,IAAI,EAAEA;EAAK,CAAC;;EAE7B;EACA,IAAI,CAACD,OAAO,CAACvB,GAAG,EAAE;IACjBuB,OAAO,CAACvB,GAAG,GAAGhB,eAAC,CAAC4C,MAAM,CAAC/B,KAAK,EAAE,KAAK,CAAC,IAAIX,QAAQ,CAAC,CAAC;EACnD;;EAEA;EACA,IACCqC,OAAO,CAACM,IAAI,KAAK,IAAI,IACrBhC,KAAK,KACJM,MAAM,KAAK,QAAQ,IACnBA,MAAM,KAAK,QAAQ,IACnBA,MAAM,KAAK,OAAO,IACjBA,MAAM,KAAK,QAAQ,IAAIoB,OAAO,CAACO,KAAM,CAAC,EACvC;IACDH,MAAM,CAACI,IAAI,GAAGR,OAAO,CAACS,KAAK,IAAInC,KAAK,CAACoC,MAAM,CAACV,OAAO,CAAC;EACrD;EAEA,IAAMvB,GAAG,GAAGC,QAAQ,CAAC;IAAEE,MAAM,EAANA,MAAM;IAAEN,KAAK,EAALA,KAAK;IAAE0B,OAAO,EAAPA;EAAQ,CAAC,CAAC;EAEhD,IAAMW,eAAe,GAAGjD,MAAM,CAAC0C,MAAM,EAAEJ,OAAO,CAAC;EAC/CW,eAAe,CAAC/B,MAAM,GAAGqB,IAAI;EAE7B,IAAMW,OAAO,GAAG,IAAAC,kCAAiB,EAACZ,IAAI,EAAExB,GAAG,CAAC;EAE5C,IACCwB,IAAI,KAAK,OAAO,IAChBA,IAAI,KAAK,MAAM,IACfA,IAAI,KAAK,KAAK,IACbA,IAAI,KAAK,QAAQ,IAAID,OAAO,CAACO,KAAM,EACnC;IACD,IAAID,IAAI,GAAGhC,KAAK,CAACwC,QAAQ,CAAC,CAAC;;IAE3B;IACA;IACA;IACA,IAAIb,IAAI,KAAK,OAAO,IAAI,CAACxC,eAAC,CAACsD,OAAO,CAACT,IAAI,CAAC,IAAI,EAAEA,IAAI,YAAYU,QAAQ,CAAC,EAAE;MACxE;MACA;MACAV,IAAI,GAAG7C,eAAC,CAACwD,IAAI,CAACjB,OAAO,CAACS,KAAK,EAAES,MAAM,CAACC,IAAI,CAACb,IAAI,CAAC,CAAC;IAChD;IACAM,OAAO,CAACQ,IAAI,CAACd,IAAI,CAAC;EACnB;EAEAN,OAAO,CAACqB,GAAG,GAAGT,OAAO;EAErBrB,uBAAW,CAACC,OAAO,CAAC,UAACC,UAAU,EAAK;IACnC,IAAIA,UAAU,CAAC6B,SAAS,EAAE;MACzB7B,UAAU,CAAC6B,SAAS,CAACV,OAAO,CAAC;IAC9B;EACD,CAAC,CAAC;EAEF,IAAIW,EAAE,GAAG,CAAC;EAEV,SAASC,iBAAiBA,CAACZ,OAAO,EAAE;IACnC,OAAO,SAASa,qBAAqBA,CAACC,QAAQ,EAAE;MAC/C,IAAIH,EAAE,GAAGhC,uBAAW,CAACoC,MAAM,EAAE;QAC5B,OAAOpC,uBAAW,CAACgC,EAAE,EAAE,CAAC,CACtBK,SAAS,CAAChB,OAAO,EAAEc,QAAQ,EAAEpD,KAAK,CAAC,CACnCwB,IAAI,CAAC0B,iBAAiB,CAACZ,OAAO,CAAC,CAAC;MACnC;MACA,OAAOhB,iBAAO,CAACiC,OAAO,CAACH,QAAQ,CAAC;IACjC,CAAC;EACF;EAEApD,KAAK,CAACwD,OAAO,CAAC,SAAS,EAAExD,KAAK,EAAEsC,OAAO,EAAEZ,OAAO,EAAEW,eAAe,CAAC;EAClEC,OAAO,CAACD,eAAe,GAAGA,eAAe;EAEzC,IAAMoB,UAAU,GAAGtE,eAAC,CAAC4C,MAAM,CAAC/B,KAAK,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;;EAEtD;EACA,IAAIyD,UAAU,CAACC,OAAO,EAAE;IACvB,KAAK,IAAMC,GAAG,IAAIF,UAAU,CAACC,OAAO,EAAE;MACrCpB,OAAO,CAACsB,MAAM,CAACD,GAAG,CAACE,WAAW,CAAC,CAAC,CAAC,GAAGJ,UAAU,CAACC,OAAO,CAACC,GAAG,CAAC;IAC5D;EACD;EAEA,IAAIjC,OAAO,CAACgC,OAAO,EAAE;IACpB,KAAK,IAAMC,IAAG,IAAIjC,OAAO,CAACgC,OAAO,EAAE;MAClCpB,OAAO,CAACsB,MAAM,CAACD,IAAG,CAACE,WAAW,CAAC,CAAC,CAAC,GAAGnC,OAAO,CAACgC,OAAO,CAACC,IAAG,CAAC;IACzD;EACD;;EAEA;EACA;EACA,IAAIjC,OAAO,CAACoC,MAAM,IAAI,CAACpC,OAAO,CAACqC,OAAO,EAAE;IACvC,OAAOzC,iBAAO,CAACiC,OAAO,CAAC7B,OAAO,CAACsC,cAAc,CAAC,CAC5CxC,IAAI,CAAC0B,iBAAiB,CAACZ,OAAO,CAAC,CAAC,CAChCd,IAAI,CAAC,UAAU4B,QAAQ,EAAE;MACzB,IAAI,CAACA,QAAQ,CAACpB,IAAI,EAAE;QACnBoB,QAAQ,CAACpB,IAAI,GAAGiC,IAAI,CAACxD,KAAK,CAAC2C,QAAQ,CAACc,IAAI,CAAC;MAC1C;MAEA,OAAO5C,iBAAO,CAAC6C,IAAI,CAAClD,uBAAW,EAAE,UAACE,UAAU,EAAK;QAChD,OAAOA,UAAU,CAACiD,OAAO,CAAC9B,OAAO,EAAEc,QAAQ,EAAEpD,KAAK,EAAE,IAAI,CAAC;MAC1D,CAAC,CAAC,CAACwB,IAAI,CAAC,YAAM;QACb,IAAIE,OAAO,CAAC0C,OAAO,EAAE;UACpB1C,OAAO,CAAC0C,OAAO,CAAChB,QAAQ,CAACpB,IAAI,EAAE,SAAS,EAAEoB,QAAQ,CAAC;QACpD;QAEA,OAAOA,QAAQ,CAACpB,IAAI;MACrB,CAAC,CAAC;IACH,CAAC,CAAC,CACDqC,KAAK,CAAC,UAAUjB,QAAQ,EAAE;MAC1B,OAAO9B,iBAAO,CAAC6C,IAAI,CAAClD,uBAAW,EAAE,UAACE,UAAU,EAAK;QAChD,OAAOA,UAAU,CAACmD,KAAK,CAAClB,QAAQ,EAAEpD,KAAK,CAAC;MACzC,CAAC,CAAC,CAACwB,IAAI,CAAC,YAAM;QACb,IAAIE,OAAO,CAAC4C,KAAK,EAAE;UAClB5C,OAAO,CAAC4C,KAAK,CAAClB,QAAQ,EAAE,OAAO,EAAEA,QAAQ,CAACmB,OAAO,CAAC;QACnD;QACA,MAAMnB,QAAQ;MACf,CAAC,CAAC;IACH,CAAC,CAAC;EACJ;EAEA,OACCd;EACC;EACA;EAAA,CACCkC,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,CAClBhD,IAAI,CAAC0B,iBAAiB,CAACZ,OAAO,CAAC,CAAC,CAChCd,IAAI,CAAC,UAAU4B,QAAQ,EAAE;IACzB,IAAIpB,IAAI;IACR,IAAI;MACHA,IAAI,GAAGiC,IAAI,CAACxD,KAAK,CAAC2C,QAAQ,CAACc,IAAI,CAAC;IACjC,CAAC,CAAC,OAAOO,CAAC,EAAE;MACXzC,IAAI,GAAGoB,QAAQ;IAChB;IAEA,IAAIzB,IAAI,KAAK,QAAQ,EAAE;MACtB3B,KAAK,CAAC0E,GAAG,CAAC1C,IAAI,CAAC;IAChB;IAEA,OAAOV,iBAAO,CAAC6C,IAAI,CAAClD,uBAAW,EAAE,UAACE,UAAU,EAAK;MAChD,OAAOA,UAAU,CAACiD,OAAO,CAAC9B,OAAO,EAAEc,QAAQ,EAAEpD,KAAK,EAAE,KAAK,CAAC;IAC3D,CAAC,CAAC,CAACwB,IAAI,CAAC,YAAM;MACb,IAAIE,OAAO,CAAC0C,OAAO,EAAE;QACpB1C,OAAO,CAAC0C,OAAO,CAACpC,IAAI,EAAE,SAAS,EAAEoB,QAAQ,CAAC;MAC3C;MACAd,OAAO,CAACqC,IAAI,CAAC,SAAS,EAAEvB,QAAQ,CAAC;MACjC,OAAOpB,IAAI;IACZ,CAAC,CAAC;EACH,CAAC,CAAC,CACDqC,KAAK,CAACO,mBAAU,CAACC,sBAAsB,EAAE,UAACJ,CAAC,EAAK;IAChD,IACCA,CAAC,CAACK,GAAG,IACLL,CAAC,CAACK,GAAG,CAACC,IAAI,KACRN,CAAC,CAACO,MAAM,IAAI,GAAG,IAAIP,CAAC,CAACO,MAAM,GAAG,GAAG,IAAKP,CAAC,CAACO,MAAM,KAAK,GAAG,CAAC,EACxD;MACDP,CAAC,CAACF,OAAO,eAAAU,MAAA,CAAehB,IAAI,CAACiB,SAAS,CAACT,CAAC,CAACK,GAAG,CAACC,IAAI,CAAC,CAAE;IACrD;IACA,MAAMN,CAAC;EACR,CAAC,CAAC,CACDJ,KAAK,CAAC,UAAUjB,QAAQ,EAAE;IAC1B,OAAO9B,iBAAO,CAAC6C,IAAI,CAAClD,uBAAW,EAAE,UAACE,UAAU,EAAK;MAChD,OAAOA,UAAU,CAACmD,KAAK,CAAClB,QAAQ,CAAC;IAClC,CAAC,CAAC,CAAC5B,IAAI,CAAC,YAAM;MACb,IAAIE,OAAO,CAAC4C,KAAK,EAAE;QAClB5C,OAAO,CAAC4C,KAAK,CAAClB,QAAQ,EAAE,OAAO,EAAEA,QAAQ,CAACmB,OAAO,CAAC;MACnD;;MAEA;MACA,IACCnB,QAAQ,IACRA,QAAQ,CAAC+B,aAAa,IACtB/B,QAAQ,CAAC+B,aAAa,CAACC,IAAI,KAAK,cAAc,EAC7C;QACD,MAAM,IAAI9F,KAAK,WAAA2F,MAAA,CACJtD,IAAI,uBAAAsD,MAAA,CAAoB9E,GAAG,QAAA8E,MAAA,CAAK7B,QAAQ,CAACmB,OAAO,CAC3D,CAAC;MACF;MAEA,MAAMnB,QAAQ;IACf,CAAC,CAAC;EACH,CAAC,CAAC;AAEL,CAAC"}
package/cjs/utils.js CHANGED
@@ -1,7 +1,6 @@
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
  });
@@ -13,49 +12,41 @@ exports.isImpostor = isImpostor;
13
12
  exports.isImpostorDeck = isImpostorDeck;
14
13
  exports.removeMultiByteChars = removeMultiByteChars;
15
14
  exports.replaceHostname = replaceHostname;
15
+ exports.sanitizeBase64 = sanitizeBase64;
16
16
  exports.setSequentialSequences = setSequentialSequences;
17
-
17
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
18
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
18
19
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
19
-
20
20
  var _lodash = _interopRequireDefault(require("lodash"));
21
-
22
21
  var _url = _interopRequireDefault(require("url"));
23
-
24
- /* eslint-disable no-control-regex */
25
- var DATE_FORMAT = "YYYY-MM-DD HH:mm:ss.SSSSSS[Z]";
26
- exports.DATE_FORMAT = DATE_FORMAT;
27
- var DATE_FORMAT_T = "YYYY-MM-DDTHH:mm:ss.SSSSSS[Z]";
28
- exports.DATE_FORMAT_T = DATE_FORMAT_T;
29
-
22
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
23
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } /* eslint-disable no-control-regex */
24
+ var DATE_FORMAT = exports.DATE_FORMAT = "YYYY-MM-DD HH:mm:ss.SSSSSS[Z]";
25
+ var DATE_FORMAT_T = exports.DATE_FORMAT_T = "YYYY-MM-DDTHH:mm:ss.SSSSSS[Z]";
30
26
  function getShortURL(url) {
31
27
  return _url.default.parse(url).path;
32
28
  }
29
+
33
30
  /**
34
31
  * Sometimes a string(especially from another platform) has characters encoded using another method.
35
32
  * In these circumstances those characters, when encoded with utf-8, look like errors.
36
33
  * see http://i18nqa.com/debug/utf8-debug.html for examples
37
34
  */
38
-
39
-
40
- function removeMultiByteChars(txt) {
35
+ function removeMultiByteChars(_txt) {
41
36
  // replace possible whitespace characters (non-breaking space, thin space etc.) with a normal space
42
- txt = txt.replace(/(\xA0| |\x07|\xE2\x80\x89)/gm, " "); // remove every other cursed character entirely.
37
+ var txt = _txt.replace(/(\xA0| |\x07|\xE2\x80\x89)/gm, " ");
43
38
 
39
+ // remove every other cursed character entirely.
44
40
  return txt.replace(/[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}|[\x80-\xBF][\xC0-\xFF]/gm, "");
45
41
  }
46
-
47
42
  var HOSTNAME_RE = /^(?:https?:\/\/)?([\w-\._]*)/;
48
- /**
49
- *
50
- */
51
-
52
43
  function getHostname(data) {
53
44
  if (typeof data !== "string") {
54
45
  throw new Error("Arg must contain a hostname, ie: \"test.livepreso.com\". Found \"".concat(data, "\""));
55
46
  }
56
-
57
47
  return data.match(HOSTNAME_RE)[1];
58
48
  }
49
+
59
50
  /**
60
51
  * Replaces the hostname in some data (regardless of it being a string, array or object),
61
52
  * it will recursively update it all.
@@ -66,17 +57,13 @@ function getHostname(data) {
66
57
  * > "https://real.com/api/cool/1/"
67
58
  *
68
59
  */
69
-
70
-
71
60
  function replaceHostname(data, before, after) {
72
61
  // Don't do anything if they're the same!
73
62
  if (before === after) {
74
63
  return data;
75
64
  }
76
-
77
65
  var hostnameBefore = getHostname(before, "Before");
78
66
  var hostnameAfter = getHostname(after, "After");
79
-
80
67
  if (typeof data === "string" && data.indexOf("http") === 0) {
81
68
  return data.replace(hostnameBefore, hostnameAfter);
82
69
  } else if (Array.isArray(data)) {
@@ -89,38 +76,33 @@ function replaceHostname(data, before, after) {
89
76
  return newObj;
90
77
  }, {});
91
78
  }
92
-
93
79
  return data;
94
- } // Takes the deckversion model and retrieves the highest id between all of
95
- // the sections, slides and subslides
96
-
80
+ }
97
81
 
82
+ // Takes the deckversion model and retrieves the highest id between all of
83
+ // the sections, slides and subslides
98
84
  function getMaxID(deckVersionModel) {
99
85
  var ids = deckVersionModel.section_set.map(function (section) {
100
86
  var slides = [];
101
-
102
87
  if (section.slide_set) {
103
88
  slides = section.slide_set.map(function (slide) {
104
89
  var subslides = [];
105
-
106
90
  if (slide.subslide_set) {
107
91
  subslides = slide.subslide_set.map(function (subslide) {
108
92
  return subslide.id;
109
93
  });
110
94
  }
111
-
112
95
  return [slide.id].concat((0, _toConsumableArray2.default)(subslides));
113
96
  });
114
97
  }
115
-
116
98
  return [section.id].concat((0, _toConsumableArray2.default)(_lodash.default.flatten(slides)));
117
99
  });
118
100
  return _lodash.default.max(_lodash.default.flatten(ids));
119
- } // The sections, slides and subslides are currently ordered by sequence
101
+ }
102
+
103
+ // The sections, slides and subslides are currently ordered by sequence
120
104
  // but the sequence is not necessarily 0-based and sequential (e.g. in the
121
105
  // case of impostor decks). We fix that here.
122
-
123
-
124
106
  function setSequentialSequences(deck) {
125
107
  deck.sections.forEach(function (section, index) {
126
108
  section.sequence = index;
@@ -134,22 +116,49 @@ function setSequentialSequences(deck) {
134
116
  });
135
117
  });
136
118
  });
137
- } // A simple function to check the tags of a model - if it has the "section-header"
138
- // tag then it's an impostor slide
139
-
119
+ }
140
120
 
121
+ // A simple function to check the tags of a model - if it has the "section-header"
122
+ // tag then it's an impostor slide
141
123
  function isImpostor(model) {
142
124
  var tags = model.tags || [];
143
125
  return tags.indexOf("section-header") !== -1;
144
- } // An impostor deck will have impostor slides - checking for these is the
126
+ }
127
+
128
+ // An impostor deck will have impostor slides - checking for these is the
145
129
  // most reliable method of determining whether a deck is an impostor deck,
146
130
  // and is also the same method that the server uses.
147
-
148
-
149
131
  function isImpostorDeck(deckVersionModel) {
150
132
  var section = deckVersionModel.section_set.first();
151
133
  return Boolean(section && section.slide_set.find(function (slide) {
152
134
  return isImpostor(slide);
153
135
  }));
154
136
  }
137
+
138
+ /**
139
+ * Strips base64 strings recursively.
140
+ *
141
+ * Optionally accepts a condition function, which you can use you add any extra
142
+ * checks to test whether you want to clear the string.
143
+ */
144
+ function sanitizeBase64(obj) {
145
+ var conditionFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : function () {
146
+ return true;
147
+ };
148
+ if (Array.isArray(obj)) {
149
+ return obj.map(function (v) {
150
+ return sanitizeBase64(v, conditionFn);
151
+ });
152
+ } else if ((0, _typeof2.default)(obj) === "object" && obj !== null && typeof obj !== "undefined") {
153
+ return Object.keys(obj).reduce(function (acc, key) {
154
+ return _objectSpread(_objectSpread({}, acc), {}, (0, _defineProperty2.default)({}, key, sanitizeBase64(obj[key], conditionFn)));
155
+ }, {});
156
+ } else if (typeof obj === "string") {
157
+ var re = /^data:image\/[a-zA-Z]+;base64,[A-Za-z0-9+/=]+$/;
158
+ if (re.test(obj) && conditionFn(obj)) {
159
+ return "";
160
+ }
161
+ }
162
+ return obj;
163
+ }
155
164
  //# sourceMappingURL=utils.js.map
package/cjs/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/utils.js"],"names":["DATE_FORMAT","DATE_FORMAT_T","getShortURL","url","url2","parse","path","removeMultiByteChars","txt","replace","HOSTNAME_RE","getHostname","data","Error","match","replaceHostname","before","after","hostnameBefore","hostnameAfter","indexOf","Array","isArray","map","item","_","isObject","Object","keys","reduce","newObj","key","getMaxID","deckVersionModel","ids","section_set","section","slides","slide_set","slide","subslides","subslide_set","subslide","id","flatten","max","setSequentialSequences","deck","sections","forEach","index","sequence","isImpostor","model","tags","isImpostorDeck","first","Boolean","find"],"mappings":"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","sourcesContent":["import _ from \"lodash\";\n/* eslint-disable no-control-regex */\nimport url2 from \"url\";\n\nexport const DATE_FORMAT = \"YYYY-MM-DD HH:mm:ss.SSSSSS[Z]\";\nexport const DATE_FORMAT_T = \"YYYY-MM-DDTHH:mm:ss.SSSSSS[Z]\";\n\nexport function getShortURL(url) {\n\treturn url2.parse(url).path;\n}\n\n/**\n * Sometimes a string(especially from another platform) has characters encoded using another method.\n * In these circumstances those characters, when encoded with utf-8, look like errors.\n * see http://i18nqa.com/debug/utf8-debug.html for examples\n */\nexport function removeMultiByteChars(txt) {\n\t// replace possible whitespace characters (non-breaking space, thin space etc.) with a normal space\n\ttxt = txt.replace(/(\\xA0|\\x20|\\x07| )/gmu, \" \");\n\n\t// remove every other cursed character entirely.\n\treturn txt.replace(\n\t\t/[\\xC0-\\xDF][\\x80-\\xBF]|[\\xE0-\\xEF][\\x80-\\xBF]{2}|[\\xF0-\\xF7][\\x80-\\xBF]{3}|[\\x80-\\xBF][\\xC0-\\xFF]/gmu,\n\t\t\"\"\n\t);\n}\n\nconst HOSTNAME_RE = /^(?:https?:\\/\\/)?([\\w-\\._]*)/;\n\n/**\n *\n */\nexport function getHostname(data) {\n\tif (typeof data !== \"string\") {\n\t\tthrow new Error(\n\t\t\t`Arg must contain a hostname, ie: \"test.livepreso.com\". Found \"${data}\"`\n\t\t);\n\t}\n\n\treturn data.match(HOSTNAME_RE)[1];\n}\n\n/**\n * Replaces the hostname in some data (regardless of it being a string, array or object),\n * it will recursively update it all.\n *\n * Eg:\n *\n * replaceHostname(\"https://test.com/api/cool/1/\", \"test.com\", \"real.com\")\n * > \"https://real.com/api/cool/1/\"\n *\n */\nexport function replaceHostname(data, before, after) {\n\t// Don't do anything if they're the same!\n\tif (before === after) {\n\t\treturn data;\n\t}\n\n\tconst hostnameBefore = getHostname(before, \"Before\");\n\tconst hostnameAfter = getHostname(after, \"After\");\n\n\tif (typeof data === \"string\" && data.indexOf(\"http\") === 0) {\n\t\treturn data.replace(hostnameBefore, hostnameAfter);\n\t} else if (Array.isArray(data)) {\n\t\treturn data.map((item) => replaceHostname(item, before, after));\n\t} else if (_.isObject(data)) {\n\t\treturn Object.keys(data).reduce((newObj, key) => {\n\t\t\tnewObj[key] = replaceHostname(data[key], before, after);\n\t\t\treturn newObj;\n\t\t}, {});\n\t}\n\treturn data;\n}\n\n// Takes the deckversion model and retrieves the highest id between all of\n// the sections, slides and subslides\nexport function getMaxID(deckVersionModel) {\n\tconst ids = deckVersionModel.section_set.map((section) => {\n\t\tlet slides = [];\n\t\tif (section.slide_set) {\n\t\t\tslides = section.slide_set.map((slide) => {\n\t\t\t\tlet subslides = [];\n\n\t\t\t\tif (slide.subslide_set) {\n\t\t\t\t\tsubslides = slide.subslide_set.map((subslide) => subslide.id);\n\t\t\t\t}\n\n\t\t\t\treturn [slide.id, ...subslides];\n\t\t\t});\n\t\t}\n\n\t\treturn [section.id, ..._.flatten(slides)];\n\t});\n\n\treturn _.max(_.flatten(ids));\n}\n\n// The sections, slides and subslides are currently ordered by sequence\n// but the sequence is not necessarily 0-based and sequential (e.g. in the\n// case of impostor decks). We fix that here.\nexport function setSequentialSequences(deck) {\n\tdeck.sections.forEach((section, index) => {\n\t\tsection.sequence = index;\n\t\tsection.index = index;\n\n\t\tsection.slides.forEach((slide, index) => {\n\t\t\tslide.sequence = index;\n\t\t\tslide.index = index;\n\n\t\t\tslide.subslides.forEach((subslide, index) => {\n\t\t\t\tsubslide.sequence = index;\n\t\t\t\tsubslide.index = index;\n\t\t\t});\n\t\t});\n\t});\n}\n\n// A simple function to check the tags of a model - if it has the \"section-header\"\n// tag then it's an impostor slide\nexport function isImpostor(model) {\n\tconst tags = model.tags || [];\n\n\treturn tags.indexOf(\"section-header\") !== -1;\n}\n\n// An impostor deck will have impostor slides - checking for these is the\n// most reliable method of determining whether a deck is an impostor deck,\n// and is also the same method that the server uses.\nexport function isImpostorDeck(deckVersionModel) {\n\tconst section = deckVersionModel.section_set.first();\n\n\treturn Boolean(\n\t\tsection && section.slide_set.find((slide) => isImpostor(slide))\n\t);\n}\n"],"file":"utils.js"}
1
+ {"version":3,"file":"utils.js","names":["_lodash","_interopRequireDefault","require","_url","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","DATE_FORMAT","exports","DATE_FORMAT_T","getShortURL","url","url2","parse","path","removeMultiByteChars","_txt","txt","replace","HOSTNAME_RE","getHostname","data","Error","concat","match","replaceHostname","before","after","hostnameBefore","hostnameAfter","indexOf","Array","isArray","map","item","_","isObject","reduce","newObj","key","getMaxID","deckVersionModel","ids","section_set","section","slides","slide_set","slide","subslides","subslide_set","subslide","id","_toConsumableArray2","flatten","max","setSequentialSequences","deck","sections","index","sequence","isImpostor","model","tags","isImpostorDeck","first","Boolean","find","sanitizeBase64","obj","conditionFn","undefined","v","_typeof2","acc","re","test"],"sources":["../src/utils.js"],"sourcesContent":["import _ from \"lodash\";\n/* eslint-disable no-control-regex */\nimport url2 from \"url\";\n\nexport const DATE_FORMAT = \"YYYY-MM-DD HH:mm:ss.SSSSSS[Z]\";\nexport const DATE_FORMAT_T = \"YYYY-MM-DDTHH:mm:ss.SSSSSS[Z]\";\n\nexport function getShortURL(url) {\n\treturn url2.parse(url).path;\n}\n\n/**\n * Sometimes a string(especially from another platform) has characters encoded using another method.\n * In these circumstances those characters, when encoded with utf-8, look like errors.\n * see http://i18nqa.com/debug/utf8-debug.html for examples\n */\nexport function removeMultiByteChars(_txt) {\n\t// replace possible whitespace characters (non-breaking space, thin space etc.) with a normal space\n\tconst txt = _txt.replace(/(\\xA0|\\x20|\\x07| )/gmu, \" \");\n\n\t// remove every other cursed character entirely.\n\treturn txt.replace(\n\t\t/[\\xC0-\\xDF][\\x80-\\xBF]|[\\xE0-\\xEF][\\x80-\\xBF]{2}|[\\xF0-\\xF7][\\x80-\\xBF]{3}|[\\x80-\\xBF][\\xC0-\\xFF]/gmu,\n\t\t\"\",\n\t);\n}\n\nconst HOSTNAME_RE = /^(?:https?:\\/\\/)?([\\w-\\._]*)/;\n\nexport function getHostname(data) {\n\tif (typeof data !== \"string\") {\n\t\tthrow new Error(\n\t\t\t`Arg must contain a hostname, ie: \"test.livepreso.com\". Found \"${data}\"`,\n\t\t);\n\t}\n\n\treturn data.match(HOSTNAME_RE)[1];\n}\n\n/**\n * Replaces the hostname in some data (regardless of it being a string, array or object),\n * it will recursively update it all.\n *\n * Eg:\n *\n * replaceHostname(\"https://test.com/api/cool/1/\", \"test.com\", \"real.com\")\n * > \"https://real.com/api/cool/1/\"\n *\n */\nexport function replaceHostname(data, before, after) {\n\t// Don't do anything if they're the same!\n\tif (before === after) {\n\t\treturn data;\n\t}\n\n\tconst hostnameBefore = getHostname(before, \"Before\");\n\tconst hostnameAfter = getHostname(after, \"After\");\n\n\tif (typeof data === \"string\" && data.indexOf(\"http\") === 0) {\n\t\treturn data.replace(hostnameBefore, hostnameAfter);\n\t} else if (Array.isArray(data)) {\n\t\treturn data.map((item) => replaceHostname(item, before, after));\n\t} else if (_.isObject(data)) {\n\t\treturn Object.keys(data).reduce((newObj, key) => {\n\t\t\tnewObj[key] = replaceHostname(data[key], before, after);\n\t\t\treturn newObj;\n\t\t}, {});\n\t}\n\treturn data;\n}\n\n// Takes the deckversion model and retrieves the highest id between all of\n// the sections, slides and subslides\nexport function getMaxID(deckVersionModel) {\n\tconst ids = deckVersionModel.section_set.map((section) => {\n\t\tlet slides = [];\n\t\tif (section.slide_set) {\n\t\t\tslides = section.slide_set.map((slide) => {\n\t\t\t\tlet subslides = [];\n\n\t\t\t\tif (slide.subslide_set) {\n\t\t\t\t\tsubslides = slide.subslide_set.map((subslide) => subslide.id);\n\t\t\t\t}\n\n\t\t\t\treturn [slide.id, ...subslides];\n\t\t\t});\n\t\t}\n\n\t\treturn [section.id, ..._.flatten(slides)];\n\t});\n\n\treturn _.max(_.flatten(ids));\n}\n\n// The sections, slides and subslides are currently ordered by sequence\n// but the sequence is not necessarily 0-based and sequential (e.g. in the\n// case of impostor decks). We fix that here.\nexport function setSequentialSequences(deck) {\n\tdeck.sections.forEach((section, index) => {\n\t\tsection.sequence = index;\n\t\tsection.index = index;\n\n\t\tsection.slides.forEach((slide, index) => {\n\t\t\tslide.sequence = index;\n\t\t\tslide.index = index;\n\n\t\t\tslide.subslides.forEach((subslide, index) => {\n\t\t\t\tsubslide.sequence = index;\n\t\t\t\tsubslide.index = index;\n\t\t\t});\n\t\t});\n\t});\n}\n\n// A simple function to check the tags of a model - if it has the \"section-header\"\n// tag then it's an impostor slide\nexport function isImpostor(model) {\n\tconst tags = model.tags || [];\n\n\treturn tags.indexOf(\"section-header\") !== -1;\n}\n\n// An impostor deck will have impostor slides - checking for these is the\n// most reliable method of determining whether a deck is an impostor deck,\n// and is also the same method that the server uses.\nexport function isImpostorDeck(deckVersionModel) {\n\tconst section = deckVersionModel.section_set.first();\n\n\treturn Boolean(\n\t\tsection && section.slide_set.find((slide) => isImpostor(slide)),\n\t);\n}\n\n/**\n * Strips base64 strings recursively.\n *\n * Optionally accepts a condition function, which you can use you add any extra\n * checks to test whether you want to clear the string.\n */\nexport function sanitizeBase64(obj, conditionFn = () => true) {\n\tif (Array.isArray(obj)) {\n\t\treturn obj.map((v) => sanitizeBase64(v, conditionFn));\n\t} else if (\n\t\ttypeof obj === \"object\" &&\n\t\tobj !== null &&\n\t\ttypeof obj !== \"undefined\"\n\t) {\n\t\treturn Object.keys(obj).reduce((acc, key) => {\n\t\t\treturn { ...acc, [key]: sanitizeBase64(obj[key], conditionFn) };\n\t\t}, {});\n\t} else if (typeof obj === \"string\") {\n\t\tconst re = /^data:image\\/[a-zA-Z]+;base64,[A-Za-z0-9+/=]+$/;\n\t\tif (re.test(obj) && conditionFn(obj)) {\n\t\t\treturn \"\";\n\t\t}\n\t}\n\treturn obj;\n}\n"],"mappings":"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"}
package/cjs/utils.spec.js CHANGED
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
 
3
3
  var _utils = require("./utils.js");
4
-
5
4
  describe("getShortURL()", function () {
6
5
  test("shorten a full url to a short one", function () {
7
6
  var url = "http://client.salespreso.com/api/users/1/";
@@ -31,7 +30,6 @@ describe("getHostname()", function () {
31
30
  var actual = function actual() {
32
31
  return (0, _utils.getHostname)(null);
33
32
  };
34
-
35
33
  expect(actual).toThrow();
36
34
  });
37
35
  it("returns a hostname from a full URL", function () {
@@ -52,14 +50,12 @@ describe("replaceHostname()", function () {
52
50
  var actual = function actual() {
53
51
  return (0, _utils.replaceHostname)("foo", null, "brand.new.com");
54
52
  };
55
-
56
53
  expect(actual).toThrow();
57
54
  });
58
55
  it("throws an error if not to hostname", function () {
59
56
  var actual = function actual() {
60
57
  return (0, _utils.replaceHostname)("foo", "old.url.com", null);
61
58
  };
62
-
63
59
  expect(actual).toThrow();
64
60
  });
65
61
  it("replaces hostname of a string", function () {