@livepreso/api 6.55.1 → 6.56.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/.rush/temp/shrinkwrap-deps.json +1013 -1191
- package/CHANGELOG.json +29 -0
- package/CHANGELOG.md +19 -1
- package/cjs/api.js +3 -5
- package/cjs/api.js.map +1 -1
- package/cjs/auth.spec.js +11 -11
- package/cjs/auth.spec.js.map +1 -1
- package/cjs/collections/appointment-tags.js +14 -15
- package/cjs/collections/appointment-tags.js.map +1 -1
- package/cjs/collections/base.spec.js +30 -30
- package/cjs/collections/base.spec.js.map +1 -1
- package/cjs/fixtures.js +1 -2
- package/cjs/fixtures.js.map +1 -1
- package/cjs/models/appointment.js +7 -7
- package/cjs/models/appointment.js.map +1 -1
- package/cjs/models/base.js +30 -12
- package/cjs/models/base.js.map +1 -1
- package/cjs/models/cms-val.spec.js +2 -2
- package/cjs/models/cms-val.spec.js.map +1 -1
- package/cjs/models/deck-version.js +14 -34
- package/cjs/models/deck-version.js.map +1 -1
- package/cjs/models/manifest-json.js +41 -5
- package/cjs/models/manifest-json.js.map +1 -1
- package/cjs/models/pack.js +2 -1
- package/cjs/models/pack.js.map +1 -1
- package/cjs/models/snapshot.spec.js +2 -2
- package/cjs/models/snapshot.spec.js.map +1 -1
- package/cjs/models/template.js +10 -10
- package/cjs/models/template.js.map +1 -1
- package/cjs/models/timing-log.spec.js +2 -2
- package/cjs/models/timing-log.spec.js.map +1 -1
- package/cjs/models/user.spec.js +4 -4
- package/cjs/models/user.spec.js.map +1 -1
- package/cjs/presentation/presentation-deck.js +19 -9
- package/cjs/presentation/presentation-deck.js.map +1 -1
- package/cjs/presentation/presentation-deck.spec.js +6 -6
- package/cjs/presentation/presentation-deck.spec.js.map +1 -1
- package/cjs/presentation/presentation-section.js +33 -10
- package/cjs/presentation/presentation-section.js.map +1 -1
- package/cjs/presentation/presentation-section.spec.js +24 -16
- package/cjs/presentation/presentation-section.spec.js.map +1 -1
- package/cjs/presentation/presentation-slide.js +18 -7
- package/cjs/presentation/presentation-slide.js.map +1 -1
- package/cjs/presentation/presentation-slide.spec.js +21 -12
- package/cjs/presentation/presentation-slide.spec.js.map +1 -1
- package/cjs/presentation/presentation-subslide.spec.js +10 -10
- package/cjs/presentation/presentation-subslide.spec.js.map +1 -1
- package/cjs/presentation/presentation.js +26 -26
- package/cjs/presentation/presentation.js.map +1 -1
- package/cjs/sync.js +1 -3
- package/cjs/sync.js.map +1 -1
- package/cjs/utils.js +33 -3
- package/cjs/utils.js.map +1 -1
- package/package.json +3 -3
- package/src/api.js +3 -5
- package/src/models/base.js +27 -9
- package/src/models/deck-version.js +5 -31
- package/src/models/manifest-json.js +33 -5
- package/src/models/pack.js +1 -0
- package/src/presentation/presentation-deck.js +9 -9
- package/src/presentation/presentation-section.js +35 -12
- package/src/presentation/presentation-section.spec.js +8 -0
- package/src/presentation/presentation-slide.js +7 -4
- package/src/presentation/presentation-slide.spec.js +9 -0
- package/src/sync.js +1 -3
- package/src/utils.js +31 -2
package/CHANGELOG.json
CHANGED
|
@@ -1,6 +1,35 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@livepreso/api",
|
|
3
3
|
"entries": [
|
|
4
|
+
{
|
|
5
|
+
"version": "6.56.0",
|
|
6
|
+
"tag": "@livepreso/api_v6.56.0",
|
|
7
|
+
"date": "Tue, 24 Feb 2026 21:01:56 GMT",
|
|
8
|
+
"comments": {
|
|
9
|
+
"patch": [
|
|
10
|
+
{
|
|
11
|
+
"comment": "Use URL instead of url.parse to work in node 24"
|
|
12
|
+
}
|
|
13
|
+
],
|
|
14
|
+
"minor": [
|
|
15
|
+
{
|
|
16
|
+
"comment": "Add isSection/isSlide to presentation models"
|
|
17
|
+
}
|
|
18
|
+
]
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"version": "6.55.2",
|
|
23
|
+
"tag": "@livepreso/api_v6.55.2",
|
|
24
|
+
"date": "Thu, 12 Feb 2026 22:59:11 GMT",
|
|
25
|
+
"comments": {
|
|
26
|
+
"patch": [
|
|
27
|
+
{
|
|
28
|
+
"comment": "Get list of cmsvals from project correctly for impostor decks (when dealing with loading from a manifest)"
|
|
29
|
+
}
|
|
30
|
+
]
|
|
31
|
+
}
|
|
32
|
+
},
|
|
4
33
|
{
|
|
5
34
|
"version": "6.55.1",
|
|
6
35
|
"tag": "@livepreso/api_v6.55.1",
|
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,24 @@
|
|
|
1
1
|
# Change Log - @livepreso/api
|
|
2
2
|
|
|
3
|
-
This log was last generated on
|
|
3
|
+
This log was last generated on Tue, 24 Feb 2026 21:01:56 GMT and should not be manually modified.
|
|
4
|
+
|
|
5
|
+
## 6.56.0
|
|
6
|
+
Tue, 24 Feb 2026 21:01:56 GMT
|
|
7
|
+
|
|
8
|
+
### Minor changes
|
|
9
|
+
|
|
10
|
+
- Add isSection/isSlide to presentation models
|
|
11
|
+
|
|
12
|
+
### Patches
|
|
13
|
+
|
|
14
|
+
- Use URL instead of url.parse to work in node 24
|
|
15
|
+
|
|
16
|
+
## 6.55.2
|
|
17
|
+
Thu, 12 Feb 2026 22:59:11 GMT
|
|
18
|
+
|
|
19
|
+
### Patches
|
|
20
|
+
|
|
21
|
+
- Get list of cmsvals from project correctly for impostor decks (when dealing with loading from a manifest)
|
|
4
22
|
|
|
5
23
|
## 6.55.1
|
|
6
24
|
Mon, 08 Dec 2025 22:44:51 GMT
|
package/cjs/api.js
CHANGED
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
exports.default = exports.Api = void 0;
|
|
8
8
|
var _bluebird = _interopRequireDefault(require("bluebird"));
|
|
9
|
-
var
|
|
9
|
+
var _utils = require("./utils.js");
|
|
10
10
|
/**
|
|
11
11
|
* @namespace api
|
|
12
12
|
*/
|
|
@@ -74,10 +74,8 @@ var Api = exports.Api = {
|
|
|
74
74
|
* @returns {string}
|
|
75
75
|
*/
|
|
76
76
|
getRootURL: function getRootURL() {
|
|
77
|
-
var
|
|
78
|
-
|
|
79
|
-
urlObj.search = "";
|
|
80
|
-
return _url.default.format(urlObj);
|
|
77
|
+
var url = (0, _utils.resolveURL)(Api._apiURL, "/");
|
|
78
|
+
return url;
|
|
81
79
|
},
|
|
82
80
|
/**
|
|
83
81
|
* Returns the full path to a resource endpoint, based on the resource
|
package/cjs/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","names":["_bluebird","_interopRequireDefault","require","
|
|
1
|
+
{"version":3,"file":"api.js","names":["_bluebird","_interopRequireDefault","require","_utils","Api","exports","resources","envs","_apiURL","version","initialize","apiURL","arguments","length","undefined","Promise","resolve","then","_ref","ApiModel","EnvsModel","api","url","concat","all","fetch","toJSON","catch","e","getURL","getRootURL","resolveURL","getResourceURL","resource","res","Error","_default","default"],"sources":["../src/api.js"],"sourcesContent":["import Promise from \"bluebird\";\nimport { resolveURL } from \"./utils.js\";\n\n/**\n * @namespace api\n */\n/**\n * Everything to do with the api endpoint\n * @constructor\n * @alias api.Api\n * @example\n * import {Api} from \"@livepreso/api\";\n */\nexport const Api = {\n\tresources: {},\n\tenvs: null,\n\t_apiURL: \"\",\n\n\t/**\n\t * @memberof api.Api\n\t * @prop {number} version\n\t */\n\tversion: 33,\n\n\t/**\n\t * Initialize the api. Connects to the network and returns the\n\t * api resource data.\n\t * @memberof api.Api\n\t * @method initialize\n\t * @param {string} apiURL - Api endpoint\n\t * @returns {Promise}\n\t */\n\tinitialize(apiURL, version = null) {\n\t\tApi._apiURL = apiURL;\n\t\tthis.version = version === null ? this.version : version;\n\n\t\treturn Promise.resolve()\n\t\t\t.then(() => {\n\t\t\t\treturn require(\"./models.js\");\n\t\t\t})\n\t\t\t.then(({ ApiModel, EnvsModel }) => {\n\t\t\t\tconst api = new ApiModel({ url: Api._apiURL });\n\t\t\t\tconst envs = new EnvsModel({ url: `${Api._apiURL}envs/` });\n\n\t\t\t\treturn Promise.all([api.fetch(), envs.fetch()])\n\t\t\t\t\t.then(() => {\n\t\t\t\t\t\tApi.resources = api.toJSON();\n\t\t\t\t\t\tApi.envs = envs.toJSON();\n\t\t\t\t\t})\n\t\t\t\t\t.catch((e) => {\n\t\t\t\t\t\tApi.envs = null;\n\t\t\t\t\t\tApi.resources = {};\n\n\t\t\t\t\t\tthrow e;\n\t\t\t\t\t});\n\t\t\t});\n\t},\n\n\t/**\n\t * Returns the full path of the api root\n\t * @memberof api.Api\n\t * @returns {string}\n\t */\n\tgetURL() {\n\t\treturn Api._apiURL;\n\t},\n\n\t/**\n\t * Returns the root URL (origin) of the api server. Ie,\n\t * server.com/api/ -> server.com/\n\t * @memberof api.Api\n\t * @returns {string}\n\t */\n\tgetRootURL() {\n\t\tconst url = resolveURL(Api._apiURL, \"/\");\n\t\treturn url;\n\t},\n\n\t/**\n\t * Returns the full path to a resource endpoint, based on the resource\n\t * name.\n\t * @memberof api.Api\n\t * @param {string} resource - name of resource\n\t * @returns {string}\n\t */\n\tgetResourceURL(resource) {\n\t\tconst res = Api.resources[resource];\n\t\tif (!res) {\n\t\t\tthrow new Error(`No API endpoint for: ${resource}`);\n\t\t}\n\t\treturn res;\n\t},\n};\n\nexport default Api;\n"],"mappings":";;;;;;;AAAA,IAAAA,SAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,IAAME,GAAG,GAAAC,OAAA,CAAAD,GAAA,GAAG;EAClBE,SAAS,EAAE,CAAC,CAAC;EACbC,IAAI,EAAE,IAAI;EACVC,OAAO,EAAE,EAAE;EAEX;AACD;AACA;AACA;EACCC,OAAO,EAAE,EAAE;EAEX;AACD;AACA;AACA;AACA;AACA;AACA;AACA;EACCC,UAAU,WAAVA,UAAUA,CAACC,MAAM,EAAkB;IAAA,IAAhBF,OAAO,GAAAG,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAI;IAChCR,GAAG,CAACI,OAAO,GAAGG,MAAM;IACpB,IAAI,CAACF,OAAO,GAAGA,OAAO,KAAK,IAAI,GAAG,IAAI,CAACA,OAAO,GAAGA,OAAO;IAExD,OAAOM,iBAAO,CAACC,OAAO,CAAC,CAAC,CACtBC,IAAI,CAAC,YAAM;MACX,OAAOf,OAAO,CAAC,aAAa,CAAC;IAC9B,CAAC,CAAC,CACDe,IAAI,CAAC,UAAAC,IAAA,EAA6B;MAAA,IAA1BC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;QAAEC,SAAS,GAAAF,IAAA,CAATE,SAAS;MAC3B,IAAMC,GAAG,GAAG,IAAIF,QAAQ,CAAC;QAAEG,GAAG,EAAElB,GAAG,CAACI;MAAQ,CAAC,CAAC;MAC9C,IAAMD,IAAI,GAAG,IAAIa,SAAS,CAAC;QAAEE,GAAG,KAAAC,MAAA,CAAKnB,GAAG,CAACI,OAAO;MAAQ,CAAC,CAAC;MAE1D,OAAOO,iBAAO,CAACS,GAAG,CAAC,CAACH,GAAG,CAACI,KAAK,CAAC,CAAC,EAAElB,IAAI,CAACkB,KAAK,CAAC,CAAC,CAAC,CAAC,CAC7CR,IAAI,CAAC,YAAM;QACXb,GAAG,CAACE,SAAS,GAAGe,GAAG,CAACK,MAAM,CAAC,CAAC;QAC5BtB,GAAG,CAACG,IAAI,GAAGA,IAAI,CAACmB,MAAM,CAAC,CAAC;MACzB,CAAC,CAAC,CACDC,KAAK,CAAC,UAACC,CAAC,EAAK;QACbxB,GAAG,CAACG,IAAI,GAAG,IAAI;QACfH,GAAG,CAACE,SAAS,GAAG,CAAC,CAAC;QAElB,MAAMsB,CAAC;MACR,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ,CAAC;EAED;AACD;AACA;AACA;AACA;EACCC,MAAM,WAANA,MAAMA,CAAA,EAAG;IACR,OAAOzB,GAAG,CAACI,OAAO;EACnB,CAAC;EAED;AACD;AACA;AACA;AACA;AACA;EACCsB,UAAU,WAAVA,UAAUA,CAAA,EAAG;IACZ,IAAMR,GAAG,GAAG,IAAAS,iBAAU,EAAC3B,GAAG,CAACI,OAAO,EAAE,GAAG,CAAC;IACxC,OAAOc,GAAG;EACX,CAAC;EAED;AACD;AACA;AACA;AACA;AACA;AACA;EACCU,cAAc,WAAdA,cAAcA,CAACC,QAAQ,EAAE;IACxB,IAAMC,GAAG,GAAG9B,GAAG,CAACE,SAAS,CAAC2B,QAAQ,CAAC;IACnC,IAAI,CAACC,GAAG,EAAE;MACT,MAAM,IAAIC,KAAK,yBAAAZ,MAAA,CAAyBU,QAAQ,CAAE,CAAC;IACpD;IACA,OAAOC,GAAG;EACX;AACD,CAAC;AAAC,IAAAE,QAAA,GAAA/B,OAAA,CAAAgC,OAAA,GAEajC,GAAG","ignoreList":[]}
|
package/cjs/auth.spec.js
CHANGED
|
@@ -12,26 +12,26 @@ beforeEach(function () {
|
|
|
12
12
|
_auth.Auth._loggedIn = false;
|
|
13
13
|
});
|
|
14
14
|
test("set the token", /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee() {
|
|
15
|
-
return _regenerator.default.wrap(function
|
|
15
|
+
return _regenerator.default.wrap(function (_context) {
|
|
16
16
|
while (1) switch (_context.prev = _context.next) {
|
|
17
17
|
case 0:
|
|
18
18
|
(0, _api2.G)("TokenModel").respondWith({
|
|
19
19
|
user: (0, _api2.G)("UserModel")
|
|
20
20
|
});
|
|
21
21
|
(0, _api2.G)("UserModel").respondWith();
|
|
22
|
-
_context.next =
|
|
22
|
+
_context.next = 1;
|
|
23
23
|
return _auth.Auth.loginWithToken("token");
|
|
24
|
-
case
|
|
24
|
+
case 1:
|
|
25
25
|
expect(_auth.Auth.token).toEqual("token");
|
|
26
26
|
expect(_auth.Auth.loggedIn).toBe(true);
|
|
27
|
-
case
|
|
27
|
+
case 2:
|
|
28
28
|
case "end":
|
|
29
29
|
return _context.stop();
|
|
30
30
|
}
|
|
31
31
|
}, _callee);
|
|
32
32
|
})));
|
|
33
33
|
test("set the user on success", /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee2() {
|
|
34
|
-
return _regenerator.default.wrap(function
|
|
34
|
+
return _regenerator.default.wrap(function (_context2) {
|
|
35
35
|
while (1) switch (_context2.prev = _context2.next) {
|
|
36
36
|
case 0:
|
|
37
37
|
(0, _api2.G)("TokenModel").respondWith({
|
|
@@ -41,12 +41,12 @@ test("set the user on success", /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#
|
|
|
41
41
|
first_name: "John",
|
|
42
42
|
last_name: "Doe"
|
|
43
43
|
});
|
|
44
|
-
_context2.next =
|
|
44
|
+
_context2.next = 1;
|
|
45
45
|
return _auth.Auth.loginWithToken("token");
|
|
46
|
-
case
|
|
46
|
+
case 1:
|
|
47
47
|
expect(_auth.Auth.user.first_name).toEqual("John");
|
|
48
48
|
expect(_auth.Auth.user.last_name).toEqual("Doe");
|
|
49
|
-
case
|
|
49
|
+
case 2:
|
|
50
50
|
case "end":
|
|
51
51
|
return _context2.stop();
|
|
52
52
|
}
|
|
@@ -54,7 +54,7 @@ test("set the user on success", /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#
|
|
|
54
54
|
})));
|
|
55
55
|
it("return a token from an auth request", /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee3() {
|
|
56
56
|
var login, response;
|
|
57
|
-
return _regenerator.default.wrap(function
|
|
57
|
+
return _regenerator.default.wrap(function (_context3) {
|
|
58
58
|
while (1) switch (_context3.prev = _context3.next) {
|
|
59
59
|
case 0:
|
|
60
60
|
login = _testdouble.default.func();
|
|
@@ -71,9 +71,9 @@ it("return a token from an auth request", /*#__PURE__*/(0, _asyncToGenerator2.de
|
|
|
71
71
|
})
|
|
72
72
|
});
|
|
73
73
|
_testdouble.default.when(login("token123")).thenResolve();
|
|
74
|
-
_context3.next =
|
|
74
|
+
_context3.next = 1;
|
|
75
75
|
return _auth.Auth.login("login", "password");
|
|
76
|
-
case
|
|
76
|
+
case 1:
|
|
77
77
|
case "end":
|
|
78
78
|
return _context3.stop();
|
|
79
79
|
}
|
package/cjs/auth.spec.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.spec.js","names":["_api","require","_auth","_api2","_superagentBluebirdPromise","_interopRequireDefault","_testdouble","beforeEach","Auth","_loggedIn","test","_asyncToGenerator2","default","_regenerator","mark","_callee","wrap","
|
|
1
|
+
{"version":3,"file":"auth.spec.js","names":["_api","require","_auth","_api2","_superagentBluebirdPromise","_interopRequireDefault","_testdouble","beforeEach","Auth","_loggedIn","test","_asyncToGenerator2","default","_regenerator","mark","_callee","wrap","_context","prev","next","G","respondWith","user","loginWithToken","expect","token","toEqual","loggedIn","toBe","stop","_callee2","_context2","first_name","last_name","it","_callee3","login","response","_context3","td","func","replace","Api","superagent","Request","prototype","when","thenResolve","statusCode","text","JSON","stringify","key"],"sources":["../src/auth.spec.js"],"sourcesContent":["import { Api } from \"./api.js\";\nimport { Auth } from \"./auth.js\";\nimport { G } from \"sp-test/api\";\nimport superagent from \"superagent-bluebird-promise\";\nimport td from \"testdouble\";\n\nbeforeEach(() => {\n\tAuth._loggedIn = false;\n});\n\ntest(\"set the token\", async () => {\n\tG(\"TokenModel\").respondWith({ user: G(\"UserModel\") });\n\tG(\"UserModel\").respondWith();\n\tawait Auth.loginWithToken(\"token\");\n\texpect(Auth.token).toEqual(\"token\");\n\texpect(Auth.loggedIn).toBe(true);\n});\n\ntest(\"set the user on success\", async () => {\n\tG(\"TokenModel\").respondWith({ user: G(\"UserModel\") });\n\tG(\"UserModel\").respondWith({ first_name: \"John\", last_name: \"Doe\" });\n\tawait Auth.loginWithToken(\"token\");\n\texpect(Auth.user.first_name).toEqual(\"John\");\n\texpect(Auth.user.last_name).toEqual(\"Doe\");\n});\n\nit(\"return a token from an auth request\", async () => {\n\tconst login = td.func();\n\tconst response = td.func();\n\n\ttd.replace(Api, \"getResourceURL\", () => \"/api/tokens\");\n\ttd.replace(Auth, \"loginWithToken\", login);\n\ttd.replace(superagent.Request.prototype, \"promise\", response);\n\n\ttd.when(response()).thenResolve({\n\t\tstatusCode: 200,\n\t\ttext: JSON.stringify({ key: \"token123\" }),\n\t});\n\ttd.when(login(\"token123\")).thenResolve();\n\n\tawait Auth.login(\"login\", \"password\");\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -56,7 +56,7 @@ var AppointmentTagsCollection = exports.AppointmentTagsCollection = _base.BaseCo
|
|
|
56
56
|
// These methods don't quite make sense right now, disable it for development.
|
|
57
57
|
fetchSet: function fetchSet() {
|
|
58
58
|
return (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee() {
|
|
59
|
-
return _regenerator.default.wrap(function
|
|
59
|
+
return _regenerator.default.wrap(function (_context) {
|
|
60
60
|
while (1) switch (_context.prev = _context.next) {
|
|
61
61
|
case 0:
|
|
62
62
|
throw new Error("Not implemented");
|
|
@@ -69,7 +69,7 @@ var AppointmentTagsCollection = exports.AppointmentTagsCollection = _base.BaseCo
|
|
|
69
69
|
},
|
|
70
70
|
fetchModels: function fetchModels() {
|
|
71
71
|
return (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee2() {
|
|
72
|
-
return _regenerator.default.wrap(function
|
|
72
|
+
return _regenerator.default.wrap(function (_context2) {
|
|
73
73
|
while (1) switch (_context2.prev = _context2.next) {
|
|
74
74
|
case 0:
|
|
75
75
|
throw new Error("Not implemented");
|
|
@@ -82,7 +82,7 @@ var AppointmentTagsCollection = exports.AppointmentTagsCollection = _base.BaseCo
|
|
|
82
82
|
},
|
|
83
83
|
delete: function _delete() {
|
|
84
84
|
return (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee3() {
|
|
85
|
-
return _regenerator.default.wrap(function
|
|
85
|
+
return _regenerator.default.wrap(function (_context3) {
|
|
86
86
|
while (1) switch (_context3.prev = _context3.next) {
|
|
87
87
|
case 0:
|
|
88
88
|
throw new Error("Cannot delete using this collection");
|
|
@@ -95,7 +95,7 @@ var AppointmentTagsCollection = exports.AppointmentTagsCollection = _base.BaseCo
|
|
|
95
95
|
},
|
|
96
96
|
save: function save() {
|
|
97
97
|
return (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee4() {
|
|
98
|
-
return _regenerator.default.wrap(function
|
|
98
|
+
return _regenerator.default.wrap(function (_context4) {
|
|
99
99
|
while (1) switch (_context4.prev = _context4.next) {
|
|
100
100
|
case 0:
|
|
101
101
|
throw new Error("Not implemented");
|
|
@@ -110,8 +110,8 @@ var AppointmentTagsCollection = exports.AppointmentTagsCollection = _base.BaseCo
|
|
|
110
110
|
var _this2 = this;
|
|
111
111
|
return (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee5() {
|
|
112
112
|
var _this2$_options;
|
|
113
|
-
var AppointmentModel, hasAppointment, tagModels, results;
|
|
114
|
-
return _regenerator.default.wrap(function
|
|
113
|
+
var AppointmentModel, hasAppointment, tagModels, results, _t;
|
|
114
|
+
return _regenerator.default.wrap(function (_context5) {
|
|
115
115
|
while (1) switch (_context5.prev = _context5.next) {
|
|
116
116
|
case 0:
|
|
117
117
|
AppointmentModel = (0, _stateRegister.getState)("AppointmentModel");
|
|
@@ -121,24 +121,23 @@ var AppointmentTagsCollection = exports.AppointmentTagsCollection = _base.BaseCo
|
|
|
121
121
|
hasAppointment = true;
|
|
122
122
|
}
|
|
123
123
|
if (hasAppointment) {
|
|
124
|
-
_context5.next =
|
|
124
|
+
_context5.next = 1;
|
|
125
125
|
break;
|
|
126
126
|
}
|
|
127
127
|
throw new Error("Requires an appointment model in collection options to fetch.");
|
|
128
|
-
case
|
|
128
|
+
case 1:
|
|
129
129
|
tagModels = Object.values(_this2.tagNameCollectionMapping); // Fetch all the separate tag models and combine them into a single collection
|
|
130
|
-
|
|
131
|
-
_context5.next =
|
|
130
|
+
_t = _lodash.default;
|
|
131
|
+
_context5.next = 2;
|
|
132
132
|
return Promise.all(tagModels.map(function (tagModel) {
|
|
133
133
|
var Collection = (0, _stateRegister.getState)(tagModel);
|
|
134
134
|
var tags = new Collection({}, _this2._options);
|
|
135
135
|
return tags.fetch(options);
|
|
136
136
|
}));
|
|
137
|
-
case
|
|
138
|
-
|
|
137
|
+
case 2:
|
|
138
|
+
results = _t.compact.call(_t, _context5.sent.flatMap(function (collection) {
|
|
139
139
|
return collection.results;
|
|
140
|
-
});
|
|
141
|
-
results = _context5.t0.compact.call(_context5.t0, _context5.t1).map(_this2._mapResultsToModel.bind(_this2));
|
|
140
|
+
})).map(_this2._mapResultsToModel.bind(_this2));
|
|
142
141
|
_this2.add(results);
|
|
143
142
|
return _context5.abrupt("return", {
|
|
144
143
|
count: results.length,
|
|
@@ -146,7 +145,7 @@ var AppointmentTagsCollection = exports.AppointmentTagsCollection = _base.BaseCo
|
|
|
146
145
|
previous: null,
|
|
147
146
|
results: _this2.toJSON()
|
|
148
147
|
});
|
|
149
|
-
case
|
|
148
|
+
case 3:
|
|
150
149
|
case "end":
|
|
151
150
|
return _context5.stop();
|
|
152
151
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"appointment-tags.js","names":["_stateRegister","require","_base","_lodash","_interopRequireDefault","AppointmentTagsCollection","exports","BaseCollection","extend","model","tagNameCollectionMapping","deckversion","section","slide","adjunct","_mapResultsToModel","result","_this","AppointmentTagsModel","getState","resultType","Object","keys","find","key","includes","Error","tags","content_type","content_url","appointment","user","url","fetchSet","_asyncToGenerator2","default","_regenerator","mark","_callee","wrap","_callee$","_context","prev","next","stop","fetchModels","_callee2","_callee2$","_context2","delete","_callee3","_callee3$","_context3","save","_callee4","_callee4$","_context4","fetch","options","_this2","_callee5","_this2$_options","AppointmentModel","hasAppointment","tagModels","results","_callee5$","_context5","_options","parent","values","t0","_","Promise","all","map","tagModel","Collection","t1","sent","flatMap","collection","compact","call","bind","add","abrupt","count","length","previous","toJSON","addFromAppointment","tagCollectionNames","flatten","collectionName","_data","canBeEmpty","register"],"sources":["../../src/collections/appointment-tags.js"],"sourcesContent":["import { getState, register } from \"../state-register.js\";\n\nimport { BaseCollection } from \"./base.js\";\nimport _ from \"lodash\";\n\n/**\n * @constructor\n * @alias collections.AppointmentTagsCollection\n * @extends collections.BaseCollection\n * @see models.AppointmentTagsModel\n */\nexport const AppointmentTagsCollection = BaseCollection.extend(\n\t/** @lends collections.AppointmentTagsCollection# */ {\n\t\tmodel: \"AppointmentTagsModel\",\n\n\t\ttagNameCollectionMapping: {\n\t\t\tdeckversion: \"AppointmentDeckVersionTagsCollection\",\n\t\t\tsection: \"AppointmentSectionTagsCollection\",\n\t\t\tslide: \"AppointmentSlideTagsCollection\",\n\t\t\tadjunct: \"AppointmentAdjunctTagsCollection\",\n\t\t},\n\n\t\t_mapResultsToModel(result) {\n\t\t\t// Maps a model from a content specific tag to a more generic one.\n\t\t\t// It's generally the same thing, except instead of something like:\n\t\t\t//\n\t\t\t// slide: \"/api/slides/1/\"\n\t\t\t//\n\t\t\t// It becomes:\n\t\t\t//\n\t\t\t// content_type: \"slide\",\n\t\t\t// content_url: \"/api/slides/1/\"\n\t\t\t//\n\t\t\t// So that we can return the list side by side.\n\t\t\tconst AppointmentTagsModel = getState(\"AppointmentTagsModel\");\n\t\t\tconst resultType = Object.keys(result).find((key) => {\n\t\t\t\treturn Object.keys(this.tagNameCollectionMapping).includes(key);\n\t\t\t});\n\t\t\tif (!resultType) {\n\t\t\t\tthrow new Error(\"Unknown type of result found\");\n\t\t\t}\n\t\t\treturn new AppointmentTagsModel({\n\t\t\t\ttags: result.tags,\n\t\t\t\tcontent_type: resultType,\n\t\t\t\tcontent_url: result[resultType],\n\t\t\t\tappointment: result.appointment,\n\t\t\t\tuser: result.user,\n\t\t\t\turl: result.url,\n\t\t\t});\n\t\t},\n\n\t\t// These methods don't quite make sense right now, disable it for development.\n\t\tasync fetchSet() {\n\t\t\tthrow new Error(\"Not implemented\");\n\t\t},\n\n\t\tasync fetchModels() {\n\t\t\tthrow new Error(\"Not implemented\");\n\t\t},\n\n\t\tasync delete() {\n\t\t\tthrow new Error(\"Cannot delete using this collection\");\n\t\t},\n\n\t\tasync save() {\n\t\t\tthrow new Error(\"Not implemented\");\n\t\t},\n\n\t\tasync fetch(options) {\n\t\t\tconst AppointmentModel = getState(\"AppointmentModel\");\n\n\t\t\tlet hasAppointment =\n\t\t\t\tthis._options?.appointment instanceof AppointmentModel ||\n\t\t\t\toptions?.appointment instanceof AppointmentModel;\n\n\t\t\tif (!hasAppointment && this.parent instanceof AppointmentModel) {\n\t\t\t\toptions.appointment = this.parent;\n\t\t\t\thasAppointment = true;\n\t\t\t}\n\n\t\t\tif (!hasAppointment) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t\"Requires an appointment model in collection options to fetch.\",\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst tagModels = Object.values(this.tagNameCollectionMapping);\n\t\t\t// Fetch all the separate tag models and combine them into a single collection\n\t\t\tconst results = _.compact(\n\t\t\t\t(\n\t\t\t\t\tawait Promise.all(\n\t\t\t\t\t\ttagModels.map((tagModel) => {\n\t\t\t\t\t\t\tconst Collection = getState(tagModel);\n\t\t\t\t\t\t\tconst tags = new Collection({}, this._options);\n\t\t\t\t\t\t\treturn tags.fetch(options);\n\t\t\t\t\t\t}),\n\t\t\t\t\t)\n\t\t\t\t).flatMap((collection) => collection.results),\n\t\t\t).map(this._mapResultsToModel.bind(this));\n\n\t\t\tthis.add(results);\n\n\t\t\treturn {\n\t\t\t\tcount: results.length,\n\t\t\t\tnext: null,\n\t\t\t\tprevious: null,\n\t\t\t\tresults: this.toJSON(),\n\t\t\t};\n\t\t},\n\n\t\t// Used by Telepresenter to add the tags in the hostedpreso bundle to\n\t\t// the appointment tags collection\n\t\taddFromAppointment(appointment) {\n\t\t\tconst tagCollectionNames = [\n\t\t\t\t\"appointmentdeckversiontags_set\",\n\t\t\t\t\"appointmentsectiontags_set\",\n\t\t\t\t\"appointmentslidetags_set\",\n\t\t\t\t\"appointmentadjuncttags_set\",\n\t\t\t];\n\n\t\t\t// flatMap currently doesn't work in TelePresenter\n\t\t\tconst results = _.compact(\n\t\t\t\t_.flatten(\n\t\t\t\t\ttagCollectionNames.map((collectionName) => {\n\t\t\t\t\t\tconst collection = appointment[collectionName];\n\t\t\t\t\t\treturn collection?._data || [];\n\t\t\t\t\t}),\n\t\t\t\t),\n\t\t\t).map(this._mapResultsToModel.bind(this));\n\n\t\t\tthis.add(results);\n\t\t},\n\t},\n);\n\nAppointmentTagsCollection.canBeEmpty = true;\n\nregister(\"AppointmentTagsCollection\", AppointmentTagsCollection);\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"appointment-tags.js","names":["_stateRegister","require","_base","_lodash","_interopRequireDefault","AppointmentTagsCollection","exports","BaseCollection","extend","model","tagNameCollectionMapping","deckversion","section","slide","adjunct","_mapResultsToModel","result","_this","AppointmentTagsModel","getState","resultType","Object","keys","find","key","includes","Error","tags","content_type","content_url","appointment","user","url","fetchSet","_asyncToGenerator2","default","_regenerator","mark","_callee","wrap","_context","prev","next","stop","fetchModels","_callee2","_context2","delete","_callee3","_context3","save","_callee4","_context4","fetch","options","_this2","_callee5","_this2$_options","AppointmentModel","hasAppointment","tagModels","results","_t","_context5","_options","parent","values","_","Promise","all","map","tagModel","Collection","compact","call","sent","flatMap","collection","bind","add","abrupt","count","length","previous","toJSON","addFromAppointment","tagCollectionNames","flatten","collectionName","_data","canBeEmpty","register"],"sources":["../../src/collections/appointment-tags.js"],"sourcesContent":["import { getState, register } from \"../state-register.js\";\n\nimport { BaseCollection } from \"./base.js\";\nimport _ from \"lodash\";\n\n/**\n * @constructor\n * @alias collections.AppointmentTagsCollection\n * @extends collections.BaseCollection\n * @see models.AppointmentTagsModel\n */\nexport const AppointmentTagsCollection = BaseCollection.extend(\n\t/** @lends collections.AppointmentTagsCollection# */ {\n\t\tmodel: \"AppointmentTagsModel\",\n\n\t\ttagNameCollectionMapping: {\n\t\t\tdeckversion: \"AppointmentDeckVersionTagsCollection\",\n\t\t\tsection: \"AppointmentSectionTagsCollection\",\n\t\t\tslide: \"AppointmentSlideTagsCollection\",\n\t\t\tadjunct: \"AppointmentAdjunctTagsCollection\",\n\t\t},\n\n\t\t_mapResultsToModel(result) {\n\t\t\t// Maps a model from a content specific tag to a more generic one.\n\t\t\t// It's generally the same thing, except instead of something like:\n\t\t\t//\n\t\t\t// slide: \"/api/slides/1/\"\n\t\t\t//\n\t\t\t// It becomes:\n\t\t\t//\n\t\t\t// content_type: \"slide\",\n\t\t\t// content_url: \"/api/slides/1/\"\n\t\t\t//\n\t\t\t// So that we can return the list side by side.\n\t\t\tconst AppointmentTagsModel = getState(\"AppointmentTagsModel\");\n\t\t\tconst resultType = Object.keys(result).find((key) => {\n\t\t\t\treturn Object.keys(this.tagNameCollectionMapping).includes(key);\n\t\t\t});\n\t\t\tif (!resultType) {\n\t\t\t\tthrow new Error(\"Unknown type of result found\");\n\t\t\t}\n\t\t\treturn new AppointmentTagsModel({\n\t\t\t\ttags: result.tags,\n\t\t\t\tcontent_type: resultType,\n\t\t\t\tcontent_url: result[resultType],\n\t\t\t\tappointment: result.appointment,\n\t\t\t\tuser: result.user,\n\t\t\t\turl: result.url,\n\t\t\t});\n\t\t},\n\n\t\t// These methods don't quite make sense right now, disable it for development.\n\t\tasync fetchSet() {\n\t\t\tthrow new Error(\"Not implemented\");\n\t\t},\n\n\t\tasync fetchModels() {\n\t\t\tthrow new Error(\"Not implemented\");\n\t\t},\n\n\t\tasync delete() {\n\t\t\tthrow new Error(\"Cannot delete using this collection\");\n\t\t},\n\n\t\tasync save() {\n\t\t\tthrow new Error(\"Not implemented\");\n\t\t},\n\n\t\tasync fetch(options) {\n\t\t\tconst AppointmentModel = getState(\"AppointmentModel\");\n\n\t\t\tlet hasAppointment =\n\t\t\t\tthis._options?.appointment instanceof AppointmentModel ||\n\t\t\t\toptions?.appointment instanceof AppointmentModel;\n\n\t\t\tif (!hasAppointment && this.parent instanceof AppointmentModel) {\n\t\t\t\toptions.appointment = this.parent;\n\t\t\t\thasAppointment = true;\n\t\t\t}\n\n\t\t\tif (!hasAppointment) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t\"Requires an appointment model in collection options to fetch.\",\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst tagModels = Object.values(this.tagNameCollectionMapping);\n\t\t\t// Fetch all the separate tag models and combine them into a single collection\n\t\t\tconst results = _.compact(\n\t\t\t\t(\n\t\t\t\t\tawait Promise.all(\n\t\t\t\t\t\ttagModels.map((tagModel) => {\n\t\t\t\t\t\t\tconst Collection = getState(tagModel);\n\t\t\t\t\t\t\tconst tags = new Collection({}, this._options);\n\t\t\t\t\t\t\treturn tags.fetch(options);\n\t\t\t\t\t\t}),\n\t\t\t\t\t)\n\t\t\t\t).flatMap((collection) => collection.results),\n\t\t\t).map(this._mapResultsToModel.bind(this));\n\n\t\t\tthis.add(results);\n\n\t\t\treturn {\n\t\t\t\tcount: results.length,\n\t\t\t\tnext: null,\n\t\t\t\tprevious: null,\n\t\t\t\tresults: this.toJSON(),\n\t\t\t};\n\t\t},\n\n\t\t// Used by Telepresenter to add the tags in the hostedpreso bundle to\n\t\t// the appointment tags collection\n\t\taddFromAppointment(appointment) {\n\t\t\tconst tagCollectionNames = [\n\t\t\t\t\"appointmentdeckversiontags_set\",\n\t\t\t\t\"appointmentsectiontags_set\",\n\t\t\t\t\"appointmentslidetags_set\",\n\t\t\t\t\"appointmentadjuncttags_set\",\n\t\t\t];\n\n\t\t\t// flatMap currently doesn't work in TelePresenter\n\t\t\tconst results = _.compact(\n\t\t\t\t_.flatten(\n\t\t\t\t\ttagCollectionNames.map((collectionName) => {\n\t\t\t\t\t\tconst collection = appointment[collectionName];\n\t\t\t\t\t\treturn collection?._data || [];\n\t\t\t\t\t}),\n\t\t\t\t),\n\t\t\t).map(this._mapResultsToModel.bind(this));\n\n\t\t\tthis.add(results);\n\t\t},\n\t},\n);\n\nAppointmentTagsCollection.canBeEmpty = true;\n\nregister(\"AppointmentTagsCollection\", AppointmentTagsCollection);\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -24,7 +24,7 @@ it("should parse an array of urls into models", function () {
|
|
|
24
24
|
});
|
|
25
25
|
it("should fetch the individual models in the collection", /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee() {
|
|
26
26
|
var Collection, collection, model1Fetch, model2Fetch;
|
|
27
|
-
return _regenerator.default.wrap(function
|
|
27
|
+
return _regenerator.default.wrap(function (_context) {
|
|
28
28
|
while (1) switch (_context.prev = _context.next) {
|
|
29
29
|
case 0:
|
|
30
30
|
(0, _api.G)(_base2.BaseModel, "TestModel");
|
|
@@ -38,12 +38,12 @@ it("should fetch the individual models in the collection", /*#__PURE__*/(0, _asy
|
|
|
38
38
|
}]);
|
|
39
39
|
model1Fetch = _testdouble.default.replace(collection.models[0], "fetch");
|
|
40
40
|
model2Fetch = _testdouble.default.replace(collection.models[1], "fetch");
|
|
41
|
-
_context.next =
|
|
41
|
+
_context.next = 1;
|
|
42
42
|
return collection.fetchModels();
|
|
43
|
-
case
|
|
43
|
+
case 1:
|
|
44
44
|
_testdouble.default.verify(model1Fetch({}));
|
|
45
45
|
_testdouble.default.verify(model2Fetch({}));
|
|
46
|
-
case
|
|
46
|
+
case 2:
|
|
47
47
|
case "end":
|
|
48
48
|
return _context.stop();
|
|
49
49
|
}
|
|
@@ -51,7 +51,7 @@ it("should fetch the individual models in the collection", /*#__PURE__*/(0, _asy
|
|
|
51
51
|
})));
|
|
52
52
|
it("should convert fetched urls into models", /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee2() {
|
|
53
53
|
var Model, Collection, collection, _iterator, _step, model;
|
|
54
|
-
return _regenerator.default.wrap(function
|
|
54
|
+
return _regenerator.default.wrap(function (_context2) {
|
|
55
55
|
while (1) switch (_context2.prev = _context2.next) {
|
|
56
56
|
case 0:
|
|
57
57
|
Model = (0, _api.G)(_base2.BaseModel.extend({
|
|
@@ -62,9 +62,9 @@ it("should convert fetched urls into models", /*#__PURE__*/(0, _asyncToGenerator
|
|
|
62
62
|
});
|
|
63
63
|
Collection.respondWith(["/api/test/1/", "/api/test/2/"]);
|
|
64
64
|
collection = new Collection();
|
|
65
|
-
_context2.next =
|
|
65
|
+
_context2.next = 1;
|
|
66
66
|
return collection.fetch();
|
|
67
|
-
case
|
|
67
|
+
case 1:
|
|
68
68
|
expect(collection.models).toHaveLength(2);
|
|
69
69
|
_iterator = _createForOfIteratorHelper(collection.models);
|
|
70
70
|
try {
|
|
@@ -77,7 +77,7 @@ it("should convert fetched urls into models", /*#__PURE__*/(0, _asyncToGenerator
|
|
|
77
77
|
} finally {
|
|
78
78
|
_iterator.f();
|
|
79
79
|
}
|
|
80
|
-
case
|
|
80
|
+
case 2:
|
|
81
81
|
case "end":
|
|
82
82
|
return _context2.stop();
|
|
83
83
|
}
|
|
@@ -85,7 +85,7 @@ it("should convert fetched urls into models", /*#__PURE__*/(0, _asyncToGenerator
|
|
|
85
85
|
})));
|
|
86
86
|
it("should convert fetched objects into models", /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee3() {
|
|
87
87
|
var Model, Collection, collection, _iterator2, _step2, model;
|
|
88
|
-
return _regenerator.default.wrap(function
|
|
88
|
+
return _regenerator.default.wrap(function (_context3) {
|
|
89
89
|
while (1) switch (_context3.prev = _context3.next) {
|
|
90
90
|
case 0:
|
|
91
91
|
Model = (0, _api.G)(_base2.BaseModel, "TestModel");
|
|
@@ -98,9 +98,9 @@ it("should convert fetched objects into models", /*#__PURE__*/(0, _asyncToGenera
|
|
|
98
98
|
id: 2
|
|
99
99
|
}]);
|
|
100
100
|
collection = new Collection();
|
|
101
|
-
_context3.next =
|
|
101
|
+
_context3.next = 1;
|
|
102
102
|
return collection.fetch();
|
|
103
|
-
case
|
|
103
|
+
case 1:
|
|
104
104
|
expect(collection.models).toHaveLength(2);
|
|
105
105
|
_iterator2 = _createForOfIteratorHelper(collection.models);
|
|
106
106
|
try {
|
|
@@ -113,7 +113,7 @@ it("should convert fetched objects into models", /*#__PURE__*/(0, _asyncToGenera
|
|
|
113
113
|
} finally {
|
|
114
114
|
_iterator2.f();
|
|
115
115
|
}
|
|
116
|
-
case
|
|
116
|
+
case 2:
|
|
117
117
|
case "end":
|
|
118
118
|
return _context3.stop();
|
|
119
119
|
}
|
|
@@ -222,7 +222,7 @@ var mockFetchResults = function mockFetchResults(dataFn) {
|
|
|
222
222
|
describe("fetchAll", function () {
|
|
223
223
|
it("calls Collection.prototype.fetch", /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee4() {
|
|
224
224
|
var Collection, baseCollection;
|
|
225
|
-
return _regenerator.default.wrap(function
|
|
225
|
+
return _regenerator.default.wrap(function (_context4) {
|
|
226
226
|
while (1) switch (_context4.prev = _context4.next) {
|
|
227
227
|
case 0:
|
|
228
228
|
mockFetchResults(function () {
|
|
@@ -241,12 +241,12 @@ describe("fetchAll", function () {
|
|
|
241
241
|
model: "TestModel"
|
|
242
242
|
}));
|
|
243
243
|
baseCollection = new Collection();
|
|
244
|
-
_context4.next =
|
|
244
|
+
_context4.next = 1;
|
|
245
245
|
return baseCollection.fetchAll();
|
|
246
|
-
case
|
|
246
|
+
case 1:
|
|
247
247
|
expect(baseCollection.length).toEqual(3);
|
|
248
248
|
expect(baseCollection.first().id).toEqual(20);
|
|
249
|
-
case
|
|
249
|
+
case 2:
|
|
250
250
|
case "end":
|
|
251
251
|
return _context4.stop();
|
|
252
252
|
}
|
|
@@ -254,7 +254,7 @@ describe("fetchAll", function () {
|
|
|
254
254
|
})));
|
|
255
255
|
it("adds results to existing results", /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee5() {
|
|
256
256
|
var Collection, baseCollection;
|
|
257
|
-
return _regenerator.default.wrap(function
|
|
257
|
+
return _regenerator.default.wrap(function (_context5) {
|
|
258
258
|
while (1) switch (_context5.prev = _context5.next) {
|
|
259
259
|
case 0:
|
|
260
260
|
mockFetchResults(function () {
|
|
@@ -271,14 +271,14 @@ describe("fetchAll", function () {
|
|
|
271
271
|
baseCollection = new Collection([{
|
|
272
272
|
id: 15
|
|
273
273
|
}]);
|
|
274
|
-
_context5.next =
|
|
274
|
+
_context5.next = 1;
|
|
275
275
|
return baseCollection.fetchAll();
|
|
276
|
-
case
|
|
276
|
+
case 1:
|
|
277
277
|
expect(baseCollection.length).toEqual(2);
|
|
278
278
|
// The models are sorted by ID
|
|
279
279
|
expect(baseCollection.first().id).toEqual(15);
|
|
280
280
|
expect(baseCollection.last().id).toEqual(22);
|
|
281
|
-
case
|
|
281
|
+
case 2:
|
|
282
282
|
case "end":
|
|
283
283
|
return _context5.stop();
|
|
284
284
|
}
|
|
@@ -286,7 +286,7 @@ describe("fetchAll", function () {
|
|
|
286
286
|
})));
|
|
287
287
|
it("fetches multiple pages", /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee6() {
|
|
288
288
|
var Collection, baseCollection;
|
|
289
|
-
return _regenerator.default.wrap(function
|
|
289
|
+
return _regenerator.default.wrap(function (_context6) {
|
|
290
290
|
while (1) switch (_context6.prev = _context6.next) {
|
|
291
291
|
case 0:
|
|
292
292
|
mockFetchResults(function (opts) {
|
|
@@ -305,13 +305,13 @@ describe("fetchAll", function () {
|
|
|
305
305
|
model: "TestModel"
|
|
306
306
|
}));
|
|
307
307
|
baseCollection = new Collection();
|
|
308
|
-
_context6.next =
|
|
308
|
+
_context6.next = 1;
|
|
309
309
|
return baseCollection.fetchAll();
|
|
310
|
-
case
|
|
310
|
+
case 1:
|
|
311
311
|
expect(baseCollection.length).toEqual(5);
|
|
312
312
|
expect(baseCollection.first().id).toEqual(11);
|
|
313
313
|
expect(baseCollection.last().id).toEqual(15);
|
|
314
|
-
case
|
|
314
|
+
case 2:
|
|
315
315
|
case "end":
|
|
316
316
|
return _context6.stop();
|
|
317
317
|
}
|
|
@@ -319,7 +319,7 @@ describe("fetchAll", function () {
|
|
|
319
319
|
})));
|
|
320
320
|
it("stops fetching pages at the hardcoded limit", /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee7() {
|
|
321
321
|
var Collection, baseCollection;
|
|
322
|
-
return _regenerator.default.wrap(function
|
|
322
|
+
return _regenerator.default.wrap(function (_context7) {
|
|
323
323
|
while (1) switch (_context7.prev = _context7.next) {
|
|
324
324
|
case 0:
|
|
325
325
|
mockFetchResults(function (opts) {
|
|
@@ -338,13 +338,13 @@ describe("fetchAll", function () {
|
|
|
338
338
|
model: "TestModel"
|
|
339
339
|
}));
|
|
340
340
|
baseCollection = new Collection();
|
|
341
|
-
_context7.next =
|
|
341
|
+
_context7.next = 1;
|
|
342
342
|
return baseCollection.fetchAll();
|
|
343
|
-
case
|
|
343
|
+
case 1:
|
|
344
344
|
expect(baseCollection.length).toEqual(20);
|
|
345
345
|
expect(baseCollection.first().id).toEqual(11);
|
|
346
346
|
expect(baseCollection.last().id).toEqual(30);
|
|
347
|
-
case
|
|
347
|
+
case 2:
|
|
348
348
|
case "end":
|
|
349
349
|
return _context7.stop();
|
|
350
350
|
}
|
|
@@ -352,7 +352,7 @@ describe("fetchAll", function () {
|
|
|
352
352
|
})));
|
|
353
353
|
it("should serialize collection models with urls", /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee8() {
|
|
354
354
|
var Collection, baseCollection;
|
|
355
|
-
return _regenerator.default.wrap(function
|
|
355
|
+
return _regenerator.default.wrap(function (_context8) {
|
|
356
356
|
while (1) switch (_context8.prev = _context8.next) {
|
|
357
357
|
case 0:
|
|
358
358
|
(0, _api.G)(_base.BaseCollection.extend({
|
|
@@ -405,7 +405,7 @@ describe("fetchAll", function () {
|
|
|
405
405
|
url: "/api/bar/2/",
|
|
406
406
|
tests: []
|
|
407
407
|
}]);
|
|
408
|
-
case
|
|
408
|
+
case 1:
|
|
409
409
|
case "end":
|
|
410
410
|
return _context8.stop();
|
|
411
411
|
}
|