@mountainpass/waycharter 2.0.2 → 2.0.3
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/CHANGELOG.md +6 -0
- package/README.md +1 -1
- package/dist/collections/build-next-link.d.ts +1 -3
- package/dist/collections/build-next-link.js +3 -6
- package/dist/collections/build-next-link.js.map +1 -1
- package/dist/collections/build-previous-link.d.ts +1 -4
- package/dist/collections/build-previous-link.js +7 -38
- package/dist/collections/build-previous-link.js.map +1 -1
- package/dist/handler.d.ts +1 -1
- package/dist/util/check-page.d.ts +4 -6
- package/dist/util/check-page.js +13 -50
- package/dist/util/check-page.js.map +1 -1
- package/dist/waycharter.d.ts +0 -1
- package/dist/waycharter.js +6 -9
- package/dist/waycharter.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
## <small>2.0.3 (2022-08-18)</small>
|
|
2
|
+
|
|
3
|
+
* test(collections): removed no longer relevant test ([38d937b](https://github.com/mountain-pass/waycharter/commit/38d937b))
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
1
7
|
## <small>2.0.2 (2022-08-04)</small>
|
|
2
8
|
|
|
3
9
|
* fix(collections): fixing nextPage links ([b34587a](https://github.com/mountain-pass/waycharter/commit/b34587a))
|
package/README.md
CHANGED
|
@@ -13,7 +13,7 @@ This library is compatible with Node.js 10.x, 12.x and 14.x
|
|
|
13
13
|
|
|
14
14
|
<!-- [](https://www.codacy.com/gh/mountain-pass/waycharter/dashboard?utm_source=github.com&utm_medium=referral&utm_content=mountain-pass/waycharter&utm_campaign=Badge_Grade) [](https://www.codacy.com/gh/mountain-pass/waycharter/dashboard?utm_source=github.com&utm_medium=referral&utm_content=mountain-pass/waycharter&utm_campaign=Badge_Coverage) -->
|
|
15
15
|
|
|
16
|
-
[](https://snyk.io/test/github/mountain-pass/waycharter) [](https://snyk.io/test/github/mountain-pass/waycharter) [](https://snyk.io/test/npm/@mountainpass/waycharter/2.0.3)
|
|
17
17
|
|
|
18
18
|
|
|
19
19
|
[](https://conventionalcommits.org) [](https://github.com/prettier/prettier)
|
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
import { Query } from 'express-serve-static-core';
|
|
2
2
|
/**
|
|
3
|
-
* @param hasMore
|
|
4
|
-
* @param page
|
|
5
3
|
* @param nextPage
|
|
6
4
|
* @param collectionPath
|
|
7
5
|
* @param otherParameters
|
|
8
6
|
*/
|
|
9
|
-
export declare function buildNextLink(
|
|
7
|
+
export declare function buildNextLink(nextPage: string | undefined, collectionPath: string, otherParameters: Query): {
|
|
10
8
|
rel: string;
|
|
11
9
|
uri: string;
|
|
12
10
|
}[];
|
|
@@ -13,19 +13,16 @@ var __assign = (this && this.__assign) || function () {
|
|
|
13
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
14
|
exports.buildNextLink = void 0;
|
|
15
15
|
/**
|
|
16
|
-
* @param hasMore
|
|
17
|
-
* @param page
|
|
18
16
|
* @param nextPage
|
|
19
17
|
* @param collectionPath
|
|
20
18
|
* @param otherParameters
|
|
21
19
|
*/
|
|
22
|
-
function buildNextLink(
|
|
23
|
-
|
|
24
|
-
return hasMore || nextPage !== undefined
|
|
20
|
+
function buildNextLink(nextPage, collectionPath, otherParameters) {
|
|
21
|
+
return nextPage !== undefined
|
|
25
22
|
? [
|
|
26
23
|
{
|
|
27
24
|
rel: 'next',
|
|
28
|
-
uri: "".concat(collectionPath, "?").concat(new URLSearchParams(__assign({ page:
|
|
25
|
+
uri: "".concat(collectionPath, "?").concat(new URLSearchParams(__assign({ page: nextPage }, otherParameters)).toString())
|
|
29
26
|
}
|
|
30
27
|
]
|
|
31
28
|
: [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-next-link.js","sourceRoot":"","sources":["../../src/collections/build-next-link.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAEA
|
|
1
|
+
{"version":3,"file":"build-next-link.js","sourceRoot":"","sources":["../../src/collections/build-next-link.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAEA;;;;GAIG;AACH,SAAgB,aAAa,CAC3B,QAA4B,EAC5B,cAAsB,EACtB,eAAsB;IAEtB,OAAO,QAAQ,KAAK,SAAS;QAC3B,CAAC,CAAC;YACA;gBACE,GAAG,EAAE,MAAM;gBACX,GAAG,EAAE,UAAG,cAAc,cAAI,IAAI,eAAe,YAC3C,IAAI,EAAE,QAAQ,IACX,eAAe,EAClB,CAAC,QAAQ,EAAE,CAAE;aAChB;SACF;QACD,CAAC,CAAC,EAAE,CAAA;AACR,CAAC;AAhBD,sCAgBC"}
|
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
import { Query } from 'express-serve-static-core';
|
|
2
2
|
/**
|
|
3
|
-
* @param pageInt
|
|
4
|
-
* @param page
|
|
5
|
-
* @param prevPage
|
|
6
3
|
* @param previousPage
|
|
7
4
|
* @param collectionPath
|
|
8
5
|
* @param otherParameters
|
|
9
6
|
*/
|
|
10
|
-
export declare function buildPreviousLink(
|
|
7
|
+
export declare function buildPreviousLink(previousPage: string | undefined, collectionPath: string, otherParameters: Query): {
|
|
11
8
|
rel: string;
|
|
12
9
|
uri: string;
|
|
13
10
|
}[];
|
|
@@ -13,48 +13,17 @@ var __assign = (this && this.__assign) || function () {
|
|
|
13
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
14
|
exports.buildPreviousLink = void 0;
|
|
15
15
|
/**
|
|
16
|
-
* @param pageInt
|
|
17
|
-
* @param page
|
|
18
|
-
* @param prevPage
|
|
19
16
|
* @param previousPage
|
|
20
17
|
* @param collectionPath
|
|
21
18
|
* @param otherParameters
|
|
22
19
|
*/
|
|
23
|
-
function buildPreviousLink(
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
}
|
|
31
|
-
]
|
|
32
|
-
: [
|
|
33
|
-
{
|
|
34
|
-
rel: 'prev',
|
|
35
|
-
uri: collectionPath
|
|
36
|
-
}
|
|
37
|
-
];
|
|
38
|
-
}
|
|
39
|
-
else if (typeof page === 'number' && page > 1) {
|
|
40
|
-
return [
|
|
41
|
-
{
|
|
42
|
-
rel: 'prev',
|
|
43
|
-
uri: "".concat(collectionPath, "?").concat(new URLSearchParams(__assign({ page: (page - 1).toFixed() }, otherParameters)).toString())
|
|
44
|
-
}
|
|
45
|
-
];
|
|
46
|
-
}
|
|
47
|
-
else if (previousPage !== undefined) {
|
|
48
|
-
return [
|
|
49
|
-
{
|
|
50
|
-
rel: 'prev',
|
|
51
|
-
uri: "".concat(collectionPath, "?").concat(new URLSearchParams(__assign({ page: previousPage }, otherParameters)).toString())
|
|
52
|
-
}
|
|
53
|
-
];
|
|
54
|
-
}
|
|
55
|
-
else {
|
|
56
|
-
return [];
|
|
57
|
-
}
|
|
20
|
+
function buildPreviousLink(previousPage, collectionPath, otherParameters) {
|
|
21
|
+
return previousPage !== undefined ? [
|
|
22
|
+
{
|
|
23
|
+
rel: 'prev',
|
|
24
|
+
uri: "".concat(collectionPath, "?").concat(new URLSearchParams(__assign({ page: previousPage }, otherParameters)).toString())
|
|
25
|
+
}
|
|
26
|
+
] : [];
|
|
58
27
|
}
|
|
59
28
|
exports.buildPreviousLink = buildPreviousLink;
|
|
60
29
|
//# sourceMappingURL=build-previous-link.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-previous-link.js","sourceRoot":"","sources":["../../src/collections/build-previous-link.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAEA
|
|
1
|
+
{"version":3,"file":"build-previous-link.js","sourceRoot":"","sources":["../../src/collections/build-previous-link.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAEA;;;;GAIG;AACH,SAAgB,iBAAiB,CAC/B,YAAgC,EAChC,cAAsB,EACtB,eAAsB;IAEtB,OAAO,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC;QAClC;YACE,GAAG,EAAE,MAAM;YACX,GAAG,EAAE,UAAG,cAAc,cAAI,IAAI,eAAe,YAC3C,IAAI,EAAE,YAAY,IACf,eAAe,EAClB,CAAC,QAAQ,EAAE,CAAE;SAChB;KACF,CAAC,CAAC,CAAC,EAAE,CAAC;AACT,CAAC;AAdD,8CAcC"}
|
package/dist/handler.d.ts
CHANGED
|
@@ -12,7 +12,7 @@ export declare type HandlerParameters<ResponseBody> = {
|
|
|
12
12
|
};
|
|
13
13
|
export declare type Handler<ResponseBody> = (parameters: HandlerParameters<ResponseBody>) => Promise<void> | void;
|
|
14
14
|
export declare type CollectionHandlerParameters<ResponseBody> = HandlerParameters<ResponseBody> & {
|
|
15
|
-
page:
|
|
15
|
+
page: string;
|
|
16
16
|
};
|
|
17
17
|
export declare type CollectionHandler<ResponseBody> = (parameters: CollectionHandlerParameters<ResponseBody>) => Promise<void> | void;
|
|
18
18
|
export declare type ActionHandlerParameters<ResponseBody> = Omit<HandlerParameters<ResponseBody>, 'requestHeaders'> & {
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
import { ProblemDocument } from '@mountainpass/problem-document';
|
|
2
|
-
import {
|
|
2
|
+
import { HandlerResponse } from '../waycharter';
|
|
3
|
+
import { ParsedQs } from 'qs';
|
|
3
4
|
/**
|
|
4
5
|
* @param page
|
|
5
|
-
* @param expandedPath
|
|
6
6
|
*/
|
|
7
|
-
export declare function checkPage(page: string |
|
|
8
|
-
page
|
|
7
|
+
export declare function checkPage(page: string | ParsedQs | string[] | ParsedQs[] | undefined): {
|
|
8
|
+
page?: string;
|
|
9
9
|
} | {
|
|
10
10
|
pageValidationError: HandlerResponse<ProblemDocument>;
|
|
11
|
-
} | {
|
|
12
|
-
redirect: EmptyHandlerResponse;
|
|
13
11
|
};
|
package/dist/util/check-page.js
CHANGED
|
@@ -4,58 +4,21 @@ exports.checkPage = void 0;
|
|
|
4
4
|
var problem_document_1 = require("@mountainpass/problem-document");
|
|
5
5
|
/**
|
|
6
6
|
* @param page
|
|
7
|
-
* @param expandedPath
|
|
8
7
|
*/
|
|
9
|
-
function checkPage(page
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
8
|
+
function checkPage(page) {
|
|
9
|
+
return typeof page === 'string' || typeof page === 'undefined' ? { page: page } : {
|
|
10
|
+
pageValidationError: {
|
|
11
|
+
status: 400,
|
|
12
|
+
body: new problem_document_1.ProblemDocument({
|
|
13
|
+
type: 'https://waycharter.io/bad-page',
|
|
14
|
+
title: "Bad Page",
|
|
15
|
+
detail: "We don't understand what page '".concat(page, "' is that you are trying to retrieve"),
|
|
16
|
+
page: page
|
|
17
|
+
}),
|
|
18
|
+
headers: {
|
|
19
|
+
'content-type': 'application/problem+json'
|
|
17
20
|
}
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
if (Array.isArray(page)) {
|
|
21
|
-
return {
|
|
22
|
-
pageValidationError: {
|
|
23
|
-
status: 400,
|
|
24
|
-
body: new problem_document_1.ProblemDocument({
|
|
25
|
-
type: 'https://waycharter.io/bad-page',
|
|
26
|
-
title: "Bad Page",
|
|
27
|
-
detail: "We don't understand what page '".concat(page, "' is that you are trying to retrieve"),
|
|
28
|
-
page: page
|
|
29
|
-
}),
|
|
30
|
-
headers: {
|
|
31
|
-
'content-type': 'application/problem+json'
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
};
|
|
35
|
-
}
|
|
36
|
-
// page should be >= 0
|
|
37
|
-
var pageInt = Number.parseInt(page || '0');
|
|
38
|
-
if (Number.isNaN(pageInt)) {
|
|
39
|
-
return { page: page };
|
|
40
|
-
}
|
|
41
|
-
if (pageInt < 0) {
|
|
42
|
-
return {
|
|
43
|
-
pageValidationError: {
|
|
44
|
-
status: 400,
|
|
45
|
-
body: new problem_document_1.ProblemDocument({
|
|
46
|
-
type: 'https://waycharter.io/bad-page',
|
|
47
|
-
title: "Bad Page",
|
|
48
|
-
detail: "You've asked for a negative page '".concat(page, "'. We don't know what that means"),
|
|
49
|
-
page: page
|
|
50
|
-
}),
|
|
51
|
-
headers: {
|
|
52
|
-
'content-type': 'application/problem+json'
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
};
|
|
56
|
-
}
|
|
57
|
-
return {
|
|
58
|
-
page: pageInt
|
|
21
|
+
}
|
|
59
22
|
};
|
|
60
23
|
}
|
|
61
24
|
exports.checkPage = checkPage;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-page.js","sourceRoot":"","sources":["../../src/util/check-page.ts"],"names":[],"mappings":";;;AAAA,mEAAgE;AAGhE
|
|
1
|
+
{"version":3,"file":"check-page.js","sourceRoot":"","sources":["../../src/util/check-page.ts"],"names":[],"mappings":";;;AAAA,mEAAgE;AAGhE;;GAEG;AACH,SAAgB,SAAS,CACvB,IAA2D;IAE3D,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,MAAA,EAAE,CAAC,CAAC,CAAC;QAC1E,mBAAmB,EAAE;YACnB,MAAM,EAAE,GAAG;YACX,IAAI,EAAE,IAAI,kCAAe,CAAC;gBACxB,IAAI,EAAE,gCAAgC;gBACtC,KAAK,EAAE,UAAU;gBACjB,MAAM,EAAE,yCAAkC,IAAI,yCAAsC;gBACpF,IAAI,MAAA;aACL,CAAC;YACF,OAAO,EAAE;gBACP,cAAc,EAAE,0BAA0B;aAC3C;SACF;KACF,CAAC;AACJ,CAAC;AAjBD,8BAiBC"}
|
package/dist/waycharter.d.ts
CHANGED
|
@@ -15,7 +15,6 @@ export declare type HandlerResponse<ResponseBody> = EmptyHandlerResponse & {
|
|
|
15
15
|
};
|
|
16
16
|
export declare type CollectionHandlerResponse<ResponseBody> = HandlerResponse<ResponseBody> & {
|
|
17
17
|
collectionPointer: string;
|
|
18
|
-
hasMore?: boolean;
|
|
19
18
|
prevPage?: string;
|
|
20
19
|
nextPage?: string;
|
|
21
20
|
};
|
package/dist/waycharter.js
CHANGED
|
@@ -292,18 +292,15 @@ var EndPoint = /** @class */ (function () {
|
|
|
292
292
|
return __generator(this, function (_b) {
|
|
293
293
|
expandedPath = endpoint.path(__assign(__assign({}, pathParameters || {}), queryParameters || {}));
|
|
294
294
|
page = queryParameters.page;
|
|
295
|
-
pageCheckResult = (0, check_page_1.checkPage)(page
|
|
296
|
-
if ('
|
|
297
|
-
response.chartRedirect(pageCheckResult.redirect);
|
|
298
|
-
}
|
|
299
|
-
else if ('pageValidationError' in pageCheckResult) {
|
|
295
|
+
pageCheckResult = (0, check_page_1.checkPage)(page);
|
|
296
|
+
if ('pageValidationError' in pageCheckResult) {
|
|
300
297
|
response.chartError(pageCheckResult.pageValidationError);
|
|
301
298
|
}
|
|
302
299
|
else {
|
|
303
300
|
filteredQueryParameters_1 = (0, filter_parameters_1.filterParameters)(filters, request.query);
|
|
304
301
|
response.chartCollection = function (resource) { return __awaiter(_this, void 0, void 0, function () {
|
|
305
302
|
return __generator(this, function (_a) {
|
|
306
|
-
sendCollectionHandlerResponse(resource, request.url, response,
|
|
303
|
+
sendCollectionHandlerResponse(resource, request.url, response, expandedPath, filteredQueryParameters_1, itemActions, itemEndpoint);
|
|
307
304
|
return [2 /*return*/];
|
|
308
305
|
});
|
|
309
306
|
}); };
|
|
@@ -488,9 +485,9 @@ exports.EndPoint = EndPoint;
|
|
|
488
485
|
* @param itemEndpoint
|
|
489
486
|
* @param staticLinks
|
|
490
487
|
*/
|
|
491
|
-
function sendCollectionHandlerResponse(resource, requestUrl, response,
|
|
492
|
-
var body = resource.body, collectionPointer = resource.collectionPointer,
|
|
488
|
+
function sendCollectionHandlerResponse(resource, requestUrl, response, expandedPath, filteredParameters, itemActions, itemEndpoint) {
|
|
489
|
+
var body = resource.body, collectionPointer = resource.collectionPointer, prevPage = resource.prevPage, nextPage = resource.nextPage, links = resource.links, other = __rest(resource, ["body", "collectionPointer", "prevPage", "nextPage", "links"]);
|
|
493
490
|
var _a = (0, built_item_links_1.builtItemLinks)(collectionPointer, itemEndpoint, requestUrl, itemActions), itemLinks = _a.itemLinks, canonicalLinks = _a.canonicalLinks;
|
|
494
|
-
response.chart(__assign({ body: body, links: __spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([], __read(itemLinks), false), __read(canonicalLinks), false), __read((0, build_next_link_1.buildNextLink)(
|
|
491
|
+
response.chart(__assign({ body: body, links: __spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([], __read(itemLinks), false), __read(canonicalLinks), false), __read((0, build_next_link_1.buildNextLink)(nextPage, expandedPath, filteredParameters)), false), __read((0, build_previous_link_1.buildPreviousLink)(prevPage, expandedPath, filteredParameters)), false), __read((0, build_first_link_1.buildFirstLink)(expandedPath, filteredParameters)), false), __read(links || []), false) }, other));
|
|
495
492
|
}
|
|
496
493
|
//# sourceMappingURL=waycharter.js.map
|
package/dist/waycharter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"waycharter.js","sourceRoot":"","sources":["../src/waycharter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,uDAAuC;AACvC,wEAAmE;AAEnE,mEAA+D;AAC/D,yEAAqE;AACrE,iEAA6D;AAC7D,mEAA+D;AAC/D,8DAA0D;AAC1D,uCAAoC;AAGpC,wDAAqD;AACrD,gDAA6C;AAC7C,0EAAsE;AACtE,kEAA6D;AAC7D,8DAGiC;AACjC,wCAAsC;
|
|
1
|
+
{"version":3,"file":"waycharter.js","sourceRoot":"","sources":["../src/waycharter.ts"],"names":[],"mappings":"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"}
|