@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.
- package/.lintstagedrc.js +6 -0
- package/.rush/temp/chunked-rush-logs/api.build.chunks.jsonl +6 -0
- package/.rush/temp/chunked-rush-logs/api.test.chunks.jsonl +1 -0
- package/.rush/temp/operation/build/all.log +6 -0
- package/.rush/temp/operation/build/log-chunks.jsonl +6 -0
- package/.rush/temp/operation/build/state.json +3 -0
- package/.rush/temp/shrinkwrap-deps.json +1131 -1013
- package/CHANGELOG.json +20 -0
- package/CHANGELOG.md +9 -1
- package/bin/test.sh +0 -0
- package/cjs/api.js +3 -18
- package/cjs/api.js.map +1 -1
- package/cjs/api.spec.js +0 -4
- package/cjs/api.spec.js.map +1 -1
- package/cjs/auth.js +2 -29
- package/cjs/auth.js.map +1 -1
- package/cjs/auth.spec.js +55 -80
- package/cjs/auth.spec.js.map +1 -1
- package/cjs/caching.js +2 -7
- package/cjs/caching.js.map +1 -1
- package/cjs/collections/activity.js +18 -58
- package/cjs/collections/activity.js.map +1 -1
- package/cjs/collections/adjunct-sections.js +2 -11
- package/cjs/collections/adjunct-sections.js.map +1 -1
- package/cjs/collections/adjunct-slides.js +2 -11
- package/cjs/collections/adjunct-slides.js.map +1 -1
- package/cjs/collections/adjunct-sub-slides.js +2 -10
- package/cjs/collections/adjunct-sub-slides.js.map +1 -1
- package/cjs/collections/appointment-adjunct-tags.js +1 -9
- package/cjs/collections/appointment-adjunct-tags.js.map +1 -1
- package/cjs/collections/appointment-deckversion-tags.js +1 -9
- package/cjs/collections/appointment-deckversion-tags.js.map +1 -1
- package/cjs/collections/appointment-editors.js +1 -10
- package/cjs/collections/appointment-editors.js.map +1 -1
- package/cjs/collections/appointment-section-tags.js +1 -9
- package/cjs/collections/appointment-section-tags.js.map +1 -1
- package/cjs/collections/appointment-slide-tags.js +1 -9
- package/cjs/collections/appointment-slide-tags.js.map +1 -1
- package/cjs/collections/appointment-tags.js +69 -108
- package/cjs/collections/appointment-tags.js.map +1 -1
- package/cjs/collections/appointment-templates.js +1 -10
- package/cjs/collections/appointment-templates.js.map +1 -1
- package/cjs/collections/appointments.js +9 -29
- package/cjs/collections/appointments.js.map +1 -1
- package/cjs/collections/assets.js +1 -9
- package/cjs/collections/assets.js.map +1 -1
- package/cjs/collections/auto-adjuncts.js +6 -21
- package/cjs/collections/auto-adjuncts.js.map +1 -1
- package/cjs/collections/base.js +54 -118
- package/cjs/collections/base.js.map +1 -1
- package/cjs/collections/base.spec.js +195 -242
- package/cjs/collections/base.spec.js.map +1 -1
- package/cjs/collections/cms-vals.js +4 -16
- package/cjs/collections/cms-vals.js.map +1 -1
- package/cjs/collections/contact-phones.js +1 -9
- package/cjs/collections/contact-phones.js.map +1 -1
- package/cjs/collections/contacts.js +1 -9
- package/cjs/collections/contacts.js.map +1 -1
- package/cjs/collections/created-assets.js +1 -10
- package/cjs/collections/created-assets.js.map +1 -1
- package/cjs/collections/customers.js +1 -9
- package/cjs/collections/customers.js.map +1 -1
- package/cjs/collections/deck-notes.js +1 -10
- package/cjs/collections/deck-notes.js.map +1 -1
- package/cjs/collections/deck-version-screenshots.js +4 -17
- package/cjs/collections/deck-version-screenshots.js.map +1 -1
- package/cjs/collections/deck-versions.js +5 -20
- package/cjs/collections/deck-versions.js.map +1 -1
- package/cjs/collections/decks.js +1 -9
- package/cjs/collections/decks.js.map +1 -1
- package/cjs/collections/deleted-assets.js +1 -10
- package/cjs/collections/deleted-assets.js.map +1 -1
- package/cjs/collections/dispatches.js +1 -13
- package/cjs/collections/dispatches.js.map +1 -1
- package/cjs/collections/event-objects.js +1 -9
- package/cjs/collections/event-objects.js.map +1 -1
- package/cjs/collections/events.js +1 -9
- package/cjs/collections/events.js.map +1 -1
- package/cjs/collections/groups.js +1 -9
- package/cjs/collections/groups.js.map +1 -1
- package/cjs/collections/images.js +1 -9
- package/cjs/collections/images.js.map +1 -1
- package/cjs/collections/locations.js +1 -9
- package/cjs/collections/locations.js.map +1 -1
- package/cjs/collections/opportunities.js +1 -9
- package/cjs/collections/opportunities.js.map +1 -1
- package/cjs/collections/pack-diffs.js +1 -9
- package/cjs/collections/pack-diffs.js.map +1 -1
- package/cjs/collections/packs.js +1 -9
- package/cjs/collections/packs.js.map +1 -1
- package/cjs/collections/presets.js +1 -9
- package/cjs/collections/presets.js.map +1 -1
- package/cjs/collections/section-selections.js +2 -10
- package/cjs/collections/section-selections.js.map +1 -1
- package/cjs/collections/sections.js +1 -9
- package/cjs/collections/sections.js.map +1 -1
- package/cjs/collections/signers.js +1 -9
- package/cjs/collections/signers.js.map +1 -1
- package/cjs/collections/signing-backends.js +1 -9
- package/cjs/collections/signing-backends.js.map +1 -1
- package/cjs/collections/signing-requests.js +1 -9
- package/cjs/collections/signing-requests.js.map +1 -1
- package/cjs/collections/slide-selections.js +2 -10
- package/cjs/collections/slide-selections.js.map +1 -1
- package/cjs/collections/slides.js +1 -9
- package/cjs/collections/slides.js.map +1 -1
- package/cjs/collections/snapshots.js +1 -9
- package/cjs/collections/snapshots.js.map +1 -1
- package/cjs/collections/sub-slides.js +1 -9
- package/cjs/collections/sub-slides.js.map +1 -1
- package/cjs/collections/tags.js +1 -9
- package/cjs/collections/tags.js.map +1 -1
- package/cjs/collections/teams.js +1 -9
- package/cjs/collections/teams.js.map +1 -1
- package/cjs/collections/templates.js +1 -9
- package/cjs/collections/templates.js.map +1 -1
- package/cjs/collections/uploads.js +1 -9
- package/cjs/collections/uploads.js.map +1 -1
- package/cjs/collections/users.js +1 -9
- package/cjs/collections/users.js.map +1 -1
- package/cjs/collections.js +0 -96
- package/cjs/collections.js.map +1 -1
- package/cjs/fixtures.js +19 -57
- package/cjs/fixtures.js.map +1 -1
- package/cjs/index.js +0 -12
- package/cjs/index.js.map +1 -1
- package/cjs/log.js +0 -1
- package/cjs/log.js.map +1 -1
- package/cjs/middleware.js +2 -7
- package/cjs/middleware.js.map +1 -1
- package/cjs/middlewares/auth.js +7 -25
- package/cjs/middlewares/auth.js.map +1 -1
- package/cjs/middlewares/base.js +4 -11
- package/cjs/middlewares/base.js.map +1 -1
- package/cjs/middlewares/json.js +7 -27
- package/cjs/middlewares/json.js.map +1 -1
- package/cjs/middlewares/redirect.js +11 -29
- package/cjs/middlewares/redirect.js.map +1 -1
- package/cjs/models/activity-item.js +3 -19
- package/cjs/models/activity-item.js.map +1 -1
- package/cjs/models/adjunct-section.js +6 -19
- package/cjs/models/adjunct-section.js.map +1 -1
- package/cjs/models/adjunct-slide.js +6 -19
- package/cjs/models/adjunct-slide.js.map +1 -1
- package/cjs/models/adjunct-sub-slide.js +5 -16
- package/cjs/models/adjunct-sub-slide.js.map +1 -1
- package/cjs/models/adjunct.js +7 -23
- package/cjs/models/adjunct.js.map +1 -1
- package/cjs/models/api.js +1 -6
- package/cjs/models/api.js.map +1 -1
- package/cjs/models/appointment-adjunct-tags.js +1 -13
- package/cjs/models/appointment-adjunct-tags.js.map +1 -1
- package/cjs/models/appointment-deckversion-tags.js +1 -13
- package/cjs/models/appointment-deckversion-tags.js.map +1 -1
- package/cjs/models/appointment-editor.js +1 -14
- package/cjs/models/appointment-editor.js.map +1 -1
- package/cjs/models/appointment-section-tags.js +1 -13
- package/cjs/models/appointment-section-tags.js.map +1 -1
- package/cjs/models/appointment-slide-tags.js +1 -13
- package/cjs/models/appointment-slide-tags.js.map +1 -1
- package/cjs/models/appointment-stats.js +1 -11
- package/cjs/models/appointment-stats.js.map +1 -1
- package/cjs/models/appointment-tags.js +1 -10
- package/cjs/models/appointment-tags.js.map +1 -1
- package/cjs/models/appointment-template.js +1 -6
- package/cjs/models/appointment-template.js.map +1 -1
- package/cjs/models/appointment-viewing.js +1 -8
- package/cjs/models/appointment-viewing.js.map +1 -1
- package/cjs/models/appointment.js +24 -97
- package/cjs/models/appointment.js.map +1 -1
- package/cjs/models/asset.js +1 -12
- package/cjs/models/asset.js.map +1 -1
- package/cjs/models/auto-adjunct-key-check.js +1 -15
- package/cjs/models/auto-adjunct-key-check.js.map +1 -1
- package/cjs/models/auto-adjunct.js +1 -13
- package/cjs/models/auto-adjunct.js.map +1 -1
- package/cjs/models/base.js +86 -216
- package/cjs/models/base.js.map +1 -1
- package/cjs/models/base.spec.js +0 -31
- package/cjs/models/base.spec.js.map +1 -1
- package/cjs/models/choicelist.js +1 -8
- package/cjs/models/choicelist.js.map +1 -1
- package/cjs/models/cms-val.js +5 -26
- package/cjs/models/cms-val.js.map +1 -1
- package/cjs/models/cms-val.spec.js +13 -20
- package/cjs/models/cms-val.spec.js.map +1 -1
- package/cjs/models/contact-phone.js +1 -13
- package/cjs/models/contact-phone.js.map +1 -1
- package/cjs/models/contact.js +1 -18
- package/cjs/models/contact.js.map +1 -1
- package/cjs/models/customer.js +3 -30
- package/cjs/models/customer.js.map +1 -1
- package/cjs/models/deck-note.js +1 -9
- package/cjs/models/deck-note.js.map +1 -1
- package/cjs/models/deck-tags.js +1 -12
- package/cjs/models/deck-tags.js.map +1 -1
- package/cjs/models/deck-version-screenshot.js +1 -13
- package/cjs/models/deck-version-screenshot.js.map +1 -1
- package/cjs/models/deck-version.js +13 -38
- package/cjs/models/deck-version.js.map +1 -1
- package/cjs/models/deck.js +1 -14
- package/cjs/models/deck.js.map +1 -1
- package/cjs/models/dispatch-preview.js +1 -13
- package/cjs/models/dispatch-preview.js.map +1 -1
- package/cjs/models/dispatch.js +1 -25
- package/cjs/models/dispatch.js.map +1 -1
- package/cjs/models/envs.js +1 -6
- package/cjs/models/envs.js.map +1 -1
- package/cjs/models/event-object.js +1 -11
- package/cjs/models/event-object.js.map +1 -1
- package/cjs/models/event.js +1 -13
- package/cjs/models/event.js.map +1 -1
- package/cjs/models/feed-data.js +1 -13
- package/cjs/models/feed-data.js.map +1 -1
- package/cjs/models/file.js +1 -11
- package/cjs/models/file.js.map +1 -1
- package/cjs/models/group.js +1 -11
- package/cjs/models/group.js.map +1 -1
- package/cjs/models/handover.js +1 -13
- package/cjs/models/handover.js.map +1 -1
- package/cjs/models/hosted-preso.js +1 -15
- package/cjs/models/hosted-preso.js.map +1 -1
- package/cjs/models/image.js +1 -16
- package/cjs/models/image.js.map +1 -1
- package/cjs/models/location.js +1 -13
- package/cjs/models/location.js.map +1 -1
- package/cjs/models/manifest-json.js +25 -84
- package/cjs/models/manifest-json.js.map +1 -1
- package/cjs/models/onshare.js +1 -14
- package/cjs/models/onshare.js.map +1 -1
- package/cjs/models/opportunity.js +1 -14
- package/cjs/models/opportunity.js.map +1 -1
- package/cjs/models/pack-diff.js +1 -14
- package/cjs/models/pack-diff.js.map +1 -1
- package/cjs/models/pack.js +1 -12
- package/cjs/models/pack.js.map +1 -1
- package/cjs/models/preset.js +1 -19
- package/cjs/models/preset.js.map +1 -1
- package/cjs/models/refresh-request.js +1 -11
- package/cjs/models/refresh-request.js.map +1 -1
- package/cjs/models/room.js +1 -9
- package/cjs/models/room.js.map +1 -1
- package/cjs/models/salesforce-lookup.js +1 -12
- package/cjs/models/salesforce-lookup.js.map +1 -1
- package/cjs/models/section-selection.js +7 -15
- package/cjs/models/section-selection.js.map +1 -1
- package/cjs/models/section.js +1 -14
- package/cjs/models/section.js.map +1 -1
- package/cjs/models/signer.js +1 -10
- package/cjs/models/signer.js.map +1 -1
- package/cjs/models/signing-backend.js +1 -9
- package/cjs/models/signing-backend.js.map +1 -1
- package/cjs/models/signing-request.js +1 -13
- package/cjs/models/signing-request.js.map +1 -1
- package/cjs/models/slide-selection.js +7 -15
- package/cjs/models/slide-selection.js.map +1 -1
- package/cjs/models/slide.js +1 -14
- package/cjs/models/slide.js.map +1 -1
- package/cjs/models/snapshot.js +3 -16
- package/cjs/models/snapshot.js.map +1 -1
- package/cjs/models/snapshot.spec.js +26 -33
- package/cjs/models/snapshot.spec.js.map +1 -1
- package/cjs/models/sub-slide.js +1 -12
- package/cjs/models/sub-slide.js.map +1 -1
- package/cjs/models/support-ticket.js +1 -11
- package/cjs/models/support-ticket.js.map +1 -1
- package/cjs/models/tag.js +1 -13
- package/cjs/models/tag.js.map +1 -1
- package/cjs/models/team.js +1 -13
- package/cjs/models/team.js.map +1 -1
- package/cjs/models/template.js +49 -79
- package/cjs/models/template.js.map +1 -1
- package/cjs/models/tenancy.js +1 -11
- package/cjs/models/tenancy.js.map +1 -1
- package/cjs/models/timing-log.js +23 -80
- package/cjs/models/timing-log.js.map +1 -1
- package/cjs/models/timing-log.spec.js +25 -38
- package/cjs/models/timing-log.spec.js.map +1 -1
- package/cjs/models/token.js +1 -11
- package/cjs/models/token.js.map +1 -1
- package/cjs/models/transcribe-socket.js +1 -8
- package/cjs/models/transcribe-socket.js.map +1 -1
- package/cjs/models/upload.js +1 -7
- package/cjs/models/upload.js.map +1 -1
- package/cjs/models/user.js +1 -29
- package/cjs/models/user.js.map +1 -1
- package/cjs/models/user.spec.js +22 -32
- package/cjs/models/user.spec.js.map +1 -1
- package/cjs/models.js +0 -140
- package/cjs/models.js.map +1 -1
- package/cjs/presentation/appointment-presentation.js +9 -35
- package/cjs/presentation/appointment-presentation.js.map +1 -1
- package/cjs/presentation/base-presentation-collection.js +1 -7
- package/cjs/presentation/base-presentation-collection.js.map +1 -1
- package/cjs/presentation/base-presentation-model.js +24 -67
- package/cjs/presentation/base-presentation-model.js.map +1 -1
- package/cjs/presentation/base-presentation-model.spec.js +5 -27
- package/cjs/presentation/base-presentation-model.spec.js.map +1 -1
- package/cjs/presentation/presentation-deck.js +41 -82
- package/cjs/presentation/presentation-deck.js.map +1 -1
- package/cjs/presentation/presentation-deck.spec.js +75 -98
- package/cjs/presentation/presentation-deck.spec.js.map +1 -1
- package/cjs/presentation/presentation-decks.js +1 -9
- package/cjs/presentation/presentation-decks.js.map +1 -1
- package/cjs/presentation/presentation-section.js +12 -74
- package/cjs/presentation/presentation-section.js.map +1 -1
- package/cjs/presentation/presentation-section.spec.js +211 -264
- package/cjs/presentation/presentation-section.spec.js.map +1 -1
- package/cjs/presentation/presentation-sections.js +1 -9
- package/cjs/presentation/presentation-sections.js.map +1 -1
- package/cjs/presentation/presentation-slide.js +23 -77
- package/cjs/presentation/presentation-slide.js.map +1 -1
- package/cjs/presentation/presentation-slide.spec.js +144 -182
- package/cjs/presentation/presentation-slide.spec.js.map +1 -1
- package/cjs/presentation/presentation-slides.js +1 -9
- package/cjs/presentation/presentation-slides.js.map +1 -1
- package/cjs/presentation/presentation-subslide.js +3 -23
- package/cjs/presentation/presentation-subslide.js.map +1 -1
- package/cjs/presentation/presentation-subslide.spec.js +106 -130
- package/cjs/presentation/presentation-subslide.spec.js.map +1 -1
- package/cjs/presentation/presentation-subslides.js +1 -9
- package/cjs/presentation/presentation-subslides.js.map +1 -1
- package/cjs/presentation/presentation.js +64 -118
- package/cjs/presentation/presentation.js.map +1 -1
- package/cjs/presentation.js +0 -20
- package/cjs/presentation.js.map +1 -1
- package/cjs/selections.js +10 -36
- package/cjs/selections.js.map +1 -1
- package/cjs/state-register.js +3 -11
- package/cjs/state-register.js.map +1 -1
- package/cjs/sync.js +32 -76
- package/cjs/sync.js.map +1 -1
- package/cjs/utils.js +21 -49
- package/cjs/utils.js.map +1 -1
- package/cjs/utils.spec.js +0 -4
- package/cjs/utils.spec.js.map +1 -1
- package/eslint.config.mjs +10 -0
- package/package.json +8 -9
- package/rush-logs/api.build.cache.log +1 -0
- package/rush-logs/api.build.log +6 -0
- package/rush-logs/api.test.cache.log +1 -0
- package/rush-logs/api.test.log +1 -0
- package/src/collections/adjunct-sections.js +3 -3
- package/src/collections/adjunct-slides.js +3 -3
- package/src/collections/adjunct-sub-slides.js +3 -3
- package/src/collections/base.js +14 -0
- package/src/collections/section-selections.js +3 -3
- package/src/collections/slide-selections.js +3 -3
- package/src/fixtures.js +8 -1
- package/src/models/adjunct-section.js +6 -0
- package/src/models/adjunct-slide.js +6 -0
- package/src/models/adjunct-sub-slide.js +5 -0
- package/src/models/adjunct.js +1 -1
- package/src/models/appointment.js +2 -0
- package/src/models/base.js +6 -2
- package/src/models/deck-version.js +7 -3
- package/src/models/manifest-json.js +1 -1
- package/src/models/section-selection.js +6 -0
- package/src/models/slide-selection.js +6 -0
- package/src/presentation/presentation-section.js +4 -0
- package/src/presentation/presentation-slide.js +8 -0
- package/src/presentation/presentation-slide.spec.js +2 -0
- package/.eslintrc.js +0 -8
- package/.gitlab-ci.yml +0 -4
- package/.husky/pre-commit +0 -4
package/cjs/selections.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"selections.js","names":["_lodash","_interopRequireDefault","require","_callSuper","t","o","e","_getPrototypeOf2","default","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","call","SelectionsFailedError","exports","_Error","_classCallCheck2","arguments","_inherits2","_createClass2","_wrapNativeSuper2","Error","getSelectionChanges","selectionsHook","deckKey","options","opts","_","cloneDeep","context","isContextUpdated","sections","onSave","sortedSections","sortBy","forEach","section","slides","userChanges","_persistent","updateChanges","key","visible","change","concat","slide"],"sources":["../src/selections.js"],"sourcesContent":["import _ from \"lodash\";\n\nexport class SelectionsFailedError extends Error {}\n\n/***\n * Generates a selection changelist from a selections hook\n * @param {SelectionHook} selectionsHook - This should match the interface used by\n * selections. Ie it should have a .onSave() method on it.\n * @param {String} deckKey - The key for the deck used\n * @param {Object} options - Options that are passed straight into .onSave()\n * @param {Object[]} options.sections - A list of serialized section models\n * @param {Object} options.context - A context object\n * @param {Object} options.feeds - A feeds object\n * @param {Object} options.data - A data object\n * @param {Object} options.fields - Basically just `context.fields` here.\n */\nexport function getSelectionChanges(selectionsHook, deckKey, options) {\n\tconst opts = _.cloneDeep(options);\n\tconst { context } = opts;\n\tlet isContextUpdated = false;\n\tlet sections;\n\n\ttry {\n\t\tsections = selectionsHook.onSave(opts);\n\t} catch (e) {\n\t\tthrow new SelectionsFailedError(e);\n\t}\n\n\tconst sortedSections = _.sortBy(sections, \"sequence\");\n\n\tsortedSections.forEach((section) => {\n\t\tsection.slides = _.sortBy(section.slides, \"sequence\");\n\t});\n\n\t// If the user has applied a preset with a persistent context, we need to update\n\t// the userChanges in the context. Specifically, if something registered as a user\n\t// change has been negated by a change made by selections, we need to remove it\n\t// from userChanges.\n\tconst userChanges =\n\t\tcontext._persistent && context._persistent.userChanges\n\t\t\t? context._persistent.userChanges\n\t\t\t: null;\n\n\tif (userChanges) {\n\t\tconst updateChanges = (key, visible) => {\n\t\t\tconst change = userChanges[key];\n\n\t\t\tif (change && change.visible !== visible) {\n\t\t\t\tdelete userChanges[key];\n\n\t\t\t\tisContextUpdated = true;\n\t\t\t}\n\t\t};\n\n\t\tsortedSections.forEach((section) => {\n\t\t\tupdateChanges(`${deckKey}/${section.key}`, section.visible);\n\n\t\t\tsection.slides.forEach((slide) => {\n\t\t\t\tupdateChanges(`${deckKey}/${section.key}/${slide.key}`, slide.visible);\n\t\t\t});\n\t\t});\n\n\t\tcontext._persistent.userChanges = userChanges;\n\t}\n\n\treturn {\n\t\tcontext,\n\t\tsections: sortedSections,\n\t\tisContextUpdated,\n\t};\n}\n"],"mappings":"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","ignoreList":[]}
|
package/cjs/state-register.js
CHANGED
|
@@ -4,23 +4,15 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.registeredStates = exports.register = exports.getState = void 0;
|
|
7
|
-
var registeredStates = {};
|
|
8
|
-
exports.
|
|
9
|
-
|
|
10
|
-
var register = function register(name, State) {
|
|
7
|
+
var registeredStates = exports.registeredStates = {};
|
|
8
|
+
var register = exports.register = function register(name, State) {
|
|
11
9
|
State.prototype._registerName = name;
|
|
12
10
|
registeredStates[name] = State;
|
|
13
11
|
};
|
|
14
|
-
|
|
15
|
-
exports.register = register;
|
|
16
|
-
|
|
17
|
-
var getState = function getState(name) {
|
|
12
|
+
var getState = exports.getState = function getState(name) {
|
|
18
13
|
if (!registeredStates[name]) {
|
|
19
14
|
throw new Error("Registered state '".concat(name, "' not found."));
|
|
20
15
|
}
|
|
21
|
-
|
|
22
16
|
return registeredStates[name];
|
|
23
17
|
};
|
|
24
|
-
|
|
25
|
-
exports.getState = getState;
|
|
26
18
|
//# sourceMappingURL=state-register.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"state-register.js","names":["registeredStates","exports","register","name","State","prototype","_registerName","getState","Error","concat"],"sources":["../src/state-register.js"],"sourcesContent":["export const registeredStates = {};\n\nexport const register = (name, State) => {\n\tState.prototype._registerName = name;\n\tregisteredStates[name] = State;\n};\n\nexport const getState = (name) => {\n\tif (!registeredStates[name]) {\n\t\tthrow new Error(`Registered state '${name}' not found.`);\n\t}\n\treturn registeredStates[name];\n};\n"],"mappings":";;;;;;AAAO,IAAMA,gBAAgB,GAAAC,OAAA,CAAAD,gBAAA,GAAG,CAAC,CAAC;AAE3B,IAAME,QAAQ,GAAAD,OAAA,CAAAC,QAAA,GAAG,SAAXA,QAAQA,CAAIC,IAAI,EAAEC,KAAK,EAAK;EACxCA,KAAK,CAACC,SAAS,CAACC,aAAa,GAAGH,IAAI;EACpCH,gBAAgB,CAACG,IAAI,CAAC,GAAGC,KAAK;AAC/B,CAAC;AAEM,IAAMG,QAAQ,GAAAN,OAAA,CAAAM,QAAA,GAAG,SAAXA,QAAQA,CAAIJ,IAAI,EAAK;EACjC,IAAI,CAACH,gBAAgB,CAACG,IAAI,CAAC,EAAE;IAC5B,MAAM,IAAIK,KAAK,sBAAAC,MAAA,CAAsBN,IAAI,iBAAc,CAAC;EACzD;EACA,OAAOH,gBAAgB,CAACG,IAAI,CAAC;AAC9B,CAAC","ignoreList":[]}
|
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;
|
|
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
|
-
};
|
|
30
|
-
|
|
21
|
+
};
|
|
31
22
|
|
|
32
|
-
|
|
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.
|
|
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
|
-
|
|
38
|
+
model = _ref2.model;
|
|
54
39
|
var url = model.url();
|
|
40
|
+
var urlParse = _url.default.parse(url);
|
|
55
41
|
|
|
56
|
-
|
|
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
|
-
|
|
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
|
-
});
|
|
72
|
+
});
|
|
100
73
|
|
|
74
|
+
// Default request options.
|
|
101
75
|
var params = {
|
|
102
76
|
type: type
|
|
103
|
-
};
|
|
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
|
-
}
|
|
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();
|
|
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") || {};
|
|
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
|
-
}
|
|
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
|
-
|
|
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
|
-
}
|
|
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":"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","ignoreList":[]}
|
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
|
});
|
|
@@ -15,53 +14,39 @@ exports.removeMultiByteChars = removeMultiByteChars;
|
|
|
15
14
|
exports.replaceHostname = replaceHostname;
|
|
16
15
|
exports.sanitizeBase64 = sanitizeBase64;
|
|
17
16
|
exports.setSequentialSequences = setSequentialSequences;
|
|
18
|
-
|
|
19
17
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
20
|
-
|
|
21
18
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
22
|
-
|
|
23
19
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
24
|
-
|
|
25
20
|
var _lodash = _interopRequireDefault(require("lodash"));
|
|
26
|
-
|
|
27
21
|
var _url = _interopRequireDefault(require("url"));
|
|
28
|
-
|
|
29
|
-
function
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
var DATE_FORMAT = "YYYY-MM-DD HH:mm:ss.SSSSSS[Z]";
|
|
34
|
-
exports.DATE_FORMAT = DATE_FORMAT;
|
|
35
|
-
var DATE_FORMAT_T = "YYYY-MM-DDTHH:mm:ss.SSSSSS[Z]";
|
|
36
|
-
exports.DATE_FORMAT_T = DATE_FORMAT_T;
|
|
37
|
-
|
|
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]";
|
|
38
26
|
function getShortURL(url) {
|
|
39
27
|
return _url.default.parse(url).path;
|
|
40
28
|
}
|
|
29
|
+
|
|
41
30
|
/**
|
|
42
31
|
* Sometimes a string(especially from another platform) has characters encoded using another method.
|
|
43
32
|
* In these circumstances those characters, when encoded with utf-8, look like errors.
|
|
44
33
|
* see http://i18nqa.com/debug/utf8-debug.html for examples
|
|
45
34
|
*/
|
|
46
|
-
|
|
47
|
-
|
|
48
35
|
function removeMultiByteChars(_txt) {
|
|
49
36
|
// replace possible whitespace characters (non-breaking space, thin space etc.) with a normal space
|
|
50
|
-
var txt = _txt.replace(/(\xA0| |\x07|\xE2\x80\x89)/gm, " ");
|
|
51
|
-
|
|
37
|
+
var txt = _txt.replace(/(\xA0| |\x07|\xE2\x80\x89)/gm, " ");
|
|
52
38
|
|
|
39
|
+
// remove every other cursed character entirely.
|
|
53
40
|
return txt.replace(/[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}|[\x80-\xBF][\xC0-\xFF]/gm, "");
|
|
54
41
|
}
|
|
55
|
-
|
|
56
42
|
var HOSTNAME_RE = /^(?:https?:\/\/)?([\w-\._]*)/;
|
|
57
|
-
|
|
58
43
|
function getHostname(data) {
|
|
59
44
|
if (typeof data !== "string") {
|
|
60
45
|
throw new Error("Arg must contain a hostname, ie: \"test.livepreso.com\". Found \"".concat(data, "\""));
|
|
61
46
|
}
|
|
62
|
-
|
|
63
47
|
return data.match(HOSTNAME_RE)[1];
|
|
64
48
|
}
|
|
49
|
+
|
|
65
50
|
/**
|
|
66
51
|
* Replaces the hostname in some data (regardless of it being a string, array or object),
|
|
67
52
|
* it will recursively update it all.
|
|
@@ -72,17 +57,13 @@ function getHostname(data) {
|
|
|
72
57
|
* > "https://real.com/api/cool/1/"
|
|
73
58
|
*
|
|
74
59
|
*/
|
|
75
|
-
|
|
76
|
-
|
|
77
60
|
function replaceHostname(data, before, after) {
|
|
78
61
|
// Don't do anything if they're the same!
|
|
79
62
|
if (before === after) {
|
|
80
63
|
return data;
|
|
81
64
|
}
|
|
82
|
-
|
|
83
65
|
var hostnameBefore = getHostname(before, "Before");
|
|
84
66
|
var hostnameAfter = getHostname(after, "After");
|
|
85
|
-
|
|
86
67
|
if (typeof data === "string" && data.indexOf("http") === 0) {
|
|
87
68
|
return data.replace(hostnameBefore, hostnameAfter);
|
|
88
69
|
} else if (Array.isArray(data)) {
|
|
@@ -95,38 +76,33 @@ function replaceHostname(data, before, after) {
|
|
|
95
76
|
return newObj;
|
|
96
77
|
}, {});
|
|
97
78
|
}
|
|
98
|
-
|
|
99
79
|
return data;
|
|
100
|
-
}
|
|
101
|
-
// the sections, slides and subslides
|
|
102
|
-
|
|
80
|
+
}
|
|
103
81
|
|
|
82
|
+
// Takes the deckversion model and retrieves the highest id between all of
|
|
83
|
+
// the sections, slides and subslides
|
|
104
84
|
function getMaxID(deckVersionModel) {
|
|
105
85
|
var ids = deckVersionModel.section_set.map(function (section) {
|
|
106
86
|
var slides = [];
|
|
107
|
-
|
|
108
87
|
if (section.slide_set) {
|
|
109
88
|
slides = section.slide_set.map(function (slide) {
|
|
110
89
|
var subslides = [];
|
|
111
|
-
|
|
112
90
|
if (slide.subslide_set) {
|
|
113
91
|
subslides = slide.subslide_set.map(function (subslide) {
|
|
114
92
|
return subslide.id;
|
|
115
93
|
});
|
|
116
94
|
}
|
|
117
|
-
|
|
118
95
|
return [slide.id].concat((0, _toConsumableArray2.default)(subslides));
|
|
119
96
|
});
|
|
120
97
|
}
|
|
121
|
-
|
|
122
98
|
return [section.id].concat((0, _toConsumableArray2.default)(_lodash.default.flatten(slides)));
|
|
123
99
|
});
|
|
124
100
|
return _lodash.default.max(_lodash.default.flatten(ids));
|
|
125
|
-
}
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
// The sections, slides and subslides are currently ordered by sequence
|
|
126
104
|
// but the sequence is not necessarily 0-based and sequential (e.g. in the
|
|
127
105
|
// case of impostor decks). We fix that here.
|
|
128
|
-
|
|
129
|
-
|
|
130
106
|
function setSequentialSequences(deck) {
|
|
131
107
|
deck.sections.forEach(function (section, index) {
|
|
132
108
|
section.sequence = index;
|
|
@@ -140,37 +116,35 @@ function setSequentialSequences(deck) {
|
|
|
140
116
|
});
|
|
141
117
|
});
|
|
142
118
|
});
|
|
143
|
-
}
|
|
144
|
-
// tag then it's an impostor slide
|
|
145
|
-
|
|
119
|
+
}
|
|
146
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
|
|
147
123
|
function isImpostor(model) {
|
|
148
124
|
var tags = model.tags || [];
|
|
149
125
|
return tags.indexOf("section-header") !== -1;
|
|
150
|
-
}
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
// An impostor deck will have impostor slides - checking for these is the
|
|
151
129
|
// most reliable method of determining whether a deck is an impostor deck,
|
|
152
130
|
// and is also the same method that the server uses.
|
|
153
|
-
|
|
154
|
-
|
|
155
131
|
function isImpostorDeck(deckVersionModel) {
|
|
156
132
|
var section = deckVersionModel.section_set.first();
|
|
157
133
|
return Boolean(section && section.slide_set.find(function (slide) {
|
|
158
134
|
return isImpostor(slide);
|
|
159
135
|
}));
|
|
160
136
|
}
|
|
137
|
+
|
|
161
138
|
/**
|
|
162
139
|
* Strips base64 strings recursively.
|
|
163
140
|
*
|
|
164
141
|
* Optionally accepts a condition function, which you can use you add any extra
|
|
165
142
|
* checks to test whether you want to clear the string.
|
|
166
143
|
*/
|
|
167
|
-
|
|
168
|
-
|
|
169
144
|
function sanitizeBase64(obj) {
|
|
170
145
|
var conditionFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : function () {
|
|
171
146
|
return true;
|
|
172
147
|
};
|
|
173
|
-
|
|
174
148
|
if (Array.isArray(obj)) {
|
|
175
149
|
return obj.map(function (v) {
|
|
176
150
|
return sanitizeBase64(v, conditionFn);
|
|
@@ -181,12 +155,10 @@ function sanitizeBase64(obj) {
|
|
|
181
155
|
}, {});
|
|
182
156
|
} else if (typeof obj === "string") {
|
|
183
157
|
var re = /^data:image\/[a-zA-Z]+;base64,[A-Za-z0-9+/=]+$/;
|
|
184
|
-
|
|
185
158
|
if (re.test(obj) && conditionFn(obj)) {
|
|
186
159
|
return "";
|
|
187
160
|
}
|
|
188
161
|
}
|
|
189
|
-
|
|
190
162
|
return obj;
|
|
191
163
|
}
|
|
192
164
|
//# sourceMappingURL=utils.js.map
|