@utiliread/http 1.17.8 → 1.18.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/.vscode/settings.json +2 -2
- package/dist/cjs/event-aggregator.js +29 -29
- package/dist/cjs/event-aggregator.js.map +1 -1
- package/dist/cjs/events.js +18 -18
- package/dist/cjs/events.js.map +1 -1
- package/dist/cjs/helpers.js +15 -15
- package/dist/cjs/http-builder.js +191 -191
- package/dist/cjs/http-builder.js.map +1 -1
- package/dist/cjs/http-error.js +29 -29
- package/dist/cjs/http-error.js.map +1 -1
- package/dist/cjs/http-response.js +50 -50
- package/dist/cjs/http-response.js.map +1 -1
- package/dist/cjs/http.js +95 -95
- package/dist/cjs/http.js.map +1 -1
- package/dist/cjs/http.spec.js +68 -68
- package/dist/cjs/http.spec.js.map +1 -1
- package/dist/cjs/index.js +37 -37
- package/dist/cjs/json/index.js +73 -73
- package/dist/cjs/jsonpatch/index.js +14 -14
- package/dist/cjs/mapping.js +36 -36
- package/dist/cjs/mapping.js.map +1 -1
- package/dist/cjs/msgpack/index.js +34 -34
- package/dist/cjs/msgpack/index.js.map +1 -1
- package/dist/cjs/pagination.js +2 -2
- package/dist/cjs/problem-details.js +2 -2
- package/dist/cjs/query-string.js +67 -65
- package/dist/cjs/query-string.js.map +1 -1
- package/dist/cjs/query-string.spec.js +51 -51
- package/dist/cjs/status-codes.js +70 -70
- package/dist/cjs/timeout-error.js +13 -13
- package/dist/esm/event-aggregator.d.ts +11 -11
- package/dist/esm/event-aggregator.js +25 -25
- package/dist/esm/event-aggregator.js.map +1 -1
- package/dist/esm/events.d.ts +11 -11
- package/dist/esm/events.js +14 -14
- package/dist/esm/events.js.map +1 -1
- package/dist/esm/helpers.d.ts +5 -5
- package/dist/esm/helpers.js +9 -9
- package/dist/esm/http-builder.d.ts +60 -60
- package/dist/esm/http-builder.js +186 -186
- package/dist/esm/http-builder.js.map +1 -1
- package/dist/esm/http-error.d.ts +10 -10
- package/dist/esm/http-error.js +25 -25
- package/dist/esm/http-error.js.map +1 -1
- package/dist/esm/http-response.d.ts +18 -18
- package/dist/esm/http-response.js +45 -45
- package/dist/esm/http-response.js.map +1 -1
- package/dist/esm/http.d.ts +33 -33
- package/dist/esm/http.js +91 -91
- package/dist/esm/http.js.map +1 -1
- package/dist/esm/http.spec.d.ts +1 -1
- package/dist/esm/http.spec.js +66 -66
- package/dist/esm/http.spec.js.map +1 -1
- package/dist/esm/index.d.ts +15 -15
- package/dist/esm/index.js +10 -10
- package/dist/esm/json/index.d.ts +15 -15
- package/dist/esm/json/index.js +71 -71
- package/dist/esm/jsonpatch/index.d.ts +9 -9
- package/dist/esm/jsonpatch/index.js +12 -12
- package/dist/esm/mapping.d.ts +9 -9
- package/dist/esm/mapping.js +31 -31
- package/dist/esm/mapping.js.map +1 -1
- package/dist/esm/msgpack/index.d.ts +8 -8
- package/dist/esm/msgpack/index.js +32 -32
- package/dist/esm/msgpack/index.js.map +1 -1
- package/dist/esm/pagination.d.ts +23 -23
- package/dist/esm/pagination.js +1 -1
- package/dist/esm/problem-details.d.ts +7 -7
- package/dist/esm/problem-details.js +1 -1
- package/dist/esm/query-string.d.ts +6 -6
- package/dist/esm/query-string.js +63 -61
- package/dist/esm/query-string.js.map +1 -1
- package/dist/esm/query-string.spec.d.ts +1 -1
- package/dist/esm/query-string.spec.js +49 -49
- package/dist/esm/status-codes.d.ts +67 -67
- package/dist/esm/status-codes.js +67 -67
- package/dist/esm/timeout-error.d.ts +3 -3
- package/dist/esm/timeout-error.js +9 -9
- package/package.json +10 -12
- package/plugins/json/node_modules/@utiliread/http/package.json +4 -0
- package/plugins/json/src/index.ts +124 -122
- package/plugins/jsonpatch/node_modules/@utiliread/http/package.json +4 -0
- package/plugins/jsonpatch/src/index.ts +31 -31
- package/plugins/msgpack/node_modules/@utiliread/http/package.json +4 -0
- package/plugins/msgpack/src/index.ts +67 -60
- package/src/event-aggregator.ts +21 -21
- package/src/events.ts +39 -39
- package/src/helpers.ts +6 -6
- package/src/http-builder.ts +252 -218
- package/src/http-error.ts +30 -23
- package/src/http-response.ts +1 -1
- package/src/http.spec.ts +1 -1
- package/src/http.ts +8 -5
- package/src/index.ts +1 -1
- package/src/mapping.ts +40 -32
- package/src/pagination.ts +16 -16
- package/src/problem-details.ts +6 -6
- package/src/query-string.spec.ts +59 -43
- package/src/query-string.ts +56 -58
- package/src/status-codes.ts +67 -67
- package/src/timeout-error.ts +7 -7
- package/tsconfig.cjs.json +1 -0
- package/tsconfig.json +1 -1
- package/web-test-runner.config.mjs +7 -0
- package/karma.config.js +0 -29
package/dist/cjs/json/index.js
CHANGED
|
@@ -1,74 +1,74 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const http_1 = require("@utiliread/http");
|
|
4
|
-
const json_1 = require("@utiliread/json");
|
|
5
|
-
http_1.HttpBuilder.prototype.withJson = function (content) {
|
|
6
|
-
this.message.content = (0, json_1.serialize)(content);
|
|
7
|
-
this.message.contentType = "application/json";
|
|
8
|
-
return this;
|
|
9
|
-
};
|
|
10
|
-
http_1.HttpBuilderOfT.prototype.withJson = function (content) {
|
|
11
|
-
this.message.content = (0, json_1.serialize)(content);
|
|
12
|
-
this.message.contentType = "application/json";
|
|
13
|
-
return this;
|
|
14
|
-
};
|
|
15
|
-
http_1.HttpBuilder.prototype.expectJson = function (typeOrMapper) {
|
|
16
|
-
this.message.headers.set("Accept", "application/json");
|
|
17
|
-
return this.useHandler((response) => {
|
|
18
|
-
return response.rawResponse
|
|
19
|
-
.json()
|
|
20
|
-
.then((x) => http_1.Mapping.getMapper(json_1.deserialize, typeOrMapper)(x));
|
|
21
|
-
});
|
|
22
|
-
};
|
|
23
|
-
http_1.HttpBuilder.prototype.expectJsonArray = function (typeOrMapper) {
|
|
24
|
-
this.message.headers.set("Accept", "application/json");
|
|
25
|
-
return this.useHandler((response) => {
|
|
26
|
-
return response.rawResponse.json().then((x) => {
|
|
27
|
-
const itemFactory = http_1.Mapping.getMapper(json_1.deserialize, typeOrMapper);
|
|
28
|
-
return x.map(itemFactory);
|
|
29
|
-
});
|
|
30
|
-
});
|
|
31
|
-
};
|
|
32
|
-
http_1.HttpBuilder.prototype.expectJsonNullableArray = function (typeOrMapper) {
|
|
33
|
-
this.message.headers.set("Accept", "application/json");
|
|
34
|
-
return this.useHandler((response) => {
|
|
35
|
-
return response.rawResponse.json().then((x) => {
|
|
36
|
-
const itemFactory = http_1.Mapping.getNullableMapper(json_1.deserialize, typeOrMapper);
|
|
37
|
-
return x.map(itemFactory);
|
|
38
|
-
});
|
|
39
|
-
});
|
|
40
|
-
};
|
|
41
|
-
http_1.HttpBuilder.prototype.expectJsonPaginationResult = function (typeOrMapper) {
|
|
42
|
-
this.message.headers.set("Accept", "application/json");
|
|
43
|
-
return this.useHandler((response) => {
|
|
44
|
-
return response.rawResponse.json().then((x) => {
|
|
45
|
-
const itemFactory = http_1.Mapping.getMapper(json_1.deserialize, typeOrMapper);
|
|
46
|
-
return {
|
|
47
|
-
meta: {
|
|
48
|
-
pageCount: x.meta.pageCount,
|
|
49
|
-
pageSize: x.meta.pageSize,
|
|
50
|
-
totalItems: x.meta.totalItems,
|
|
51
|
-
},
|
|
52
|
-
data: x.data.map(itemFactory),
|
|
53
|
-
};
|
|
54
|
-
});
|
|
55
|
-
});
|
|
56
|
-
};
|
|
57
|
-
http_1.HttpBuilder.prototype.expectJsonInfinitePaginationResult = function (typeOrMapper) {
|
|
58
|
-
this.message.headers.set("Accept", "application/json");
|
|
59
|
-
return this.useHandler((response) => {
|
|
60
|
-
return response.rawResponse
|
|
61
|
-
.json()
|
|
62
|
-
.then((x) => {
|
|
63
|
-
const itemFactory = http_1.Mapping.getMapper(json_1.deserialize, typeOrMapper);
|
|
64
|
-
return {
|
|
65
|
-
meta: {
|
|
66
|
-
pageSize: x.meta.pageSize,
|
|
67
|
-
continuationToken: x.meta.continuationToken,
|
|
68
|
-
},
|
|
69
|
-
data: x.data.map(itemFactory),
|
|
70
|
-
};
|
|
71
|
-
});
|
|
72
|
-
});
|
|
73
|
-
};
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const http_1 = require("@utiliread/http");
|
|
4
|
+
const json_1 = require("@utiliread/json");
|
|
5
|
+
http_1.HttpBuilder.prototype.withJson = function (content) {
|
|
6
|
+
this.message.content = (0, json_1.serialize)(content);
|
|
7
|
+
this.message.contentType = "application/json";
|
|
8
|
+
return this;
|
|
9
|
+
};
|
|
10
|
+
http_1.HttpBuilderOfT.prototype.withJson = function (content) {
|
|
11
|
+
this.message.content = (0, json_1.serialize)(content);
|
|
12
|
+
this.message.contentType = "application/json";
|
|
13
|
+
return this;
|
|
14
|
+
};
|
|
15
|
+
http_1.HttpBuilder.prototype.expectJson = function (typeOrMapper) {
|
|
16
|
+
this.message.headers.set("Accept", "application/json");
|
|
17
|
+
return this.useHandler((response) => {
|
|
18
|
+
return response.rawResponse
|
|
19
|
+
.json()
|
|
20
|
+
.then((x) => http_1.Mapping.getMapper(json_1.deserialize, typeOrMapper)(x));
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
http_1.HttpBuilder.prototype.expectJsonArray = function (typeOrMapper) {
|
|
24
|
+
this.message.headers.set("Accept", "application/json");
|
|
25
|
+
return this.useHandler((response) => {
|
|
26
|
+
return response.rawResponse.json().then((x) => {
|
|
27
|
+
const itemFactory = http_1.Mapping.getMapper(json_1.deserialize, typeOrMapper);
|
|
28
|
+
return x.map(itemFactory);
|
|
29
|
+
});
|
|
30
|
+
});
|
|
31
|
+
};
|
|
32
|
+
http_1.HttpBuilder.prototype.expectJsonNullableArray = function (typeOrMapper) {
|
|
33
|
+
this.message.headers.set("Accept", "application/json");
|
|
34
|
+
return this.useHandler((response) => {
|
|
35
|
+
return response.rawResponse.json().then((x) => {
|
|
36
|
+
const itemFactory = http_1.Mapping.getNullableMapper(json_1.deserialize, typeOrMapper);
|
|
37
|
+
return x.map(itemFactory);
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
};
|
|
41
|
+
http_1.HttpBuilder.prototype.expectJsonPaginationResult = function (typeOrMapper) {
|
|
42
|
+
this.message.headers.set("Accept", "application/json");
|
|
43
|
+
return this.useHandler((response) => {
|
|
44
|
+
return response.rawResponse.json().then((x) => {
|
|
45
|
+
const itemFactory = http_1.Mapping.getMapper(json_1.deserialize, typeOrMapper);
|
|
46
|
+
return {
|
|
47
|
+
meta: {
|
|
48
|
+
pageCount: x.meta.pageCount,
|
|
49
|
+
pageSize: x.meta.pageSize,
|
|
50
|
+
totalItems: x.meta.totalItems,
|
|
51
|
+
},
|
|
52
|
+
data: x.data.map(itemFactory),
|
|
53
|
+
};
|
|
54
|
+
});
|
|
55
|
+
});
|
|
56
|
+
};
|
|
57
|
+
http_1.HttpBuilder.prototype.expectJsonInfinitePaginationResult = function (typeOrMapper) {
|
|
58
|
+
this.message.headers.set("Accept", "application/json");
|
|
59
|
+
return this.useHandler((response) => {
|
|
60
|
+
return response.rawResponse
|
|
61
|
+
.json()
|
|
62
|
+
.then((x) => {
|
|
63
|
+
const itemFactory = http_1.Mapping.getMapper(json_1.deserialize, typeOrMapper);
|
|
64
|
+
return {
|
|
65
|
+
meta: {
|
|
66
|
+
pageSize: x.meta.pageSize,
|
|
67
|
+
continuationToken: x.meta.continuationToken,
|
|
68
|
+
},
|
|
69
|
+
data: x.data.map(itemFactory),
|
|
70
|
+
};
|
|
71
|
+
});
|
|
72
|
+
});
|
|
73
|
+
};
|
|
74
74
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const http_1 = require("@utiliread/http");
|
|
4
|
-
const json_1 = require("@utiliread/json");
|
|
5
|
-
http_1.HttpBuilder.prototype.withJsonPatch = function (operations) {
|
|
6
|
-
this.message.content = (0, json_1.serialize)(operations);
|
|
7
|
-
this.message.contentType = "application/json-patch+json";
|
|
8
|
-
return this;
|
|
9
|
-
};
|
|
10
|
-
http_1.HttpBuilderOfT.prototype.withJsonPatch = function (operations) {
|
|
11
|
-
this.message.content = (0, json_1.serialize)(operations);
|
|
12
|
-
this.message.contentType = "application/json-patch+json";
|
|
13
|
-
return this;
|
|
14
|
-
};
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const http_1 = require("@utiliread/http");
|
|
4
|
+
const json_1 = require("@utiliread/json");
|
|
5
|
+
http_1.HttpBuilder.prototype.withJsonPatch = function (operations) {
|
|
6
|
+
this.message.content = (0, json_1.serialize)(operations);
|
|
7
|
+
this.message.contentType = "application/json-patch+json";
|
|
8
|
+
return this;
|
|
9
|
+
};
|
|
10
|
+
http_1.HttpBuilderOfT.prototype.withJsonPatch = function (operations) {
|
|
11
|
+
this.message.content = (0, json_1.serialize)(operations);
|
|
12
|
+
this.message.contentType = "application/json-patch+json";
|
|
13
|
+
return this;
|
|
14
|
+
};
|
|
15
15
|
//# sourceMappingURL=index.js.map
|
package/dist/cjs/mapping.js
CHANGED
|
@@ -1,37 +1,37 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getMapper = exports.getNullableMapper = void 0;
|
|
4
|
-
function getNullableMapper(deserialize, typeOrMap) {
|
|
5
|
-
if (!typeOrMap) {
|
|
6
|
-
return (x) => x;
|
|
7
|
-
}
|
|
8
|
-
if (isZeroArgumentFunction(typeOrMap)) {
|
|
9
|
-
// It cannot be a factory function if it takes no arguments,
|
|
10
|
-
// so it must be a (zero argument) type (constructor)
|
|
11
|
-
return (x) => {
|
|
12
|
-
const bound = deserialize(x, typeOrMap);
|
|
13
|
-
// The server cannot produce the undefined result
|
|
14
|
-
if (bound === undefined) {
|
|
15
|
-
throw Error("The model factory created a undefined result");
|
|
16
|
-
}
|
|
17
|
-
return bound;
|
|
18
|
-
};
|
|
19
|
-
}
|
|
20
|
-
return typeOrMap;
|
|
21
|
-
}
|
|
22
|
-
exports.getNullableMapper = getNullableMapper;
|
|
23
|
-
function getMapper(deserialize, typeOrMap) {
|
|
24
|
-
const nullableFactory = getNullableMapper(deserialize, typeOrMap);
|
|
25
|
-
return (x) => {
|
|
26
|
-
const result = nullableFactory(x);
|
|
27
|
-
if (result === null) {
|
|
28
|
-
throw Error("The model factory created a null result");
|
|
29
|
-
}
|
|
30
|
-
return result;
|
|
31
|
-
};
|
|
32
|
-
}
|
|
33
|
-
exports.getMapper = getMapper;
|
|
34
|
-
function isZeroArgumentFunction(typeCtor) {
|
|
35
|
-
return typeCtor.length === 0;
|
|
36
|
-
}
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getMapper = exports.getNullableMapper = void 0;
|
|
4
|
+
function getNullableMapper(deserialize, typeOrMap) {
|
|
5
|
+
if (!typeOrMap) {
|
|
6
|
+
return (x) => x;
|
|
7
|
+
}
|
|
8
|
+
if (isZeroArgumentFunction(typeOrMap)) {
|
|
9
|
+
// It cannot be a factory function if it takes no arguments,
|
|
10
|
+
// so it must be a (zero argument) type (constructor)
|
|
11
|
+
return (x) => {
|
|
12
|
+
const bound = deserialize(x, typeOrMap);
|
|
13
|
+
// The server cannot produce the undefined result
|
|
14
|
+
if (bound === undefined) {
|
|
15
|
+
throw Error("The model factory created a undefined result");
|
|
16
|
+
}
|
|
17
|
+
return bound;
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
return typeOrMap;
|
|
21
|
+
}
|
|
22
|
+
exports.getNullableMapper = getNullableMapper;
|
|
23
|
+
function getMapper(deserialize, typeOrMap) {
|
|
24
|
+
const nullableFactory = getNullableMapper(deserialize, typeOrMap);
|
|
25
|
+
return (x) => {
|
|
26
|
+
const result = nullableFactory(x);
|
|
27
|
+
if (result === null) {
|
|
28
|
+
throw Error("The model factory created a null result");
|
|
29
|
+
}
|
|
30
|
+
return result;
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
exports.getMapper = getMapper;
|
|
34
|
+
function isZeroArgumentFunction(typeCtor) {
|
|
35
|
+
return typeCtor.length === 0;
|
|
36
|
+
}
|
|
37
37
|
//# sourceMappingURL=mapping.js.map
|
package/dist/cjs/mapping.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mapping.js","sourceRoot":"","sources":["../../src/mapping.ts"],"names":[],"mappings":";;;AAKA,SAAgB,iBAAiB,CAAI,WAA6B,EAAE,SAA0C;IAC1G,IAAI,CAAC,SAAS,EAAE;
|
|
1
|
+
{"version":3,"file":"mapping.js","sourceRoot":"","sources":["../../src/mapping.ts"],"names":[],"mappings":";;;AAKA,SAAgB,iBAAiB,CAAI,WAA6B,EAAE,SAA0C;IAC1G,IAAI,CAAC,SAAS,EAAE,CAAC;QACb,OAAO,CAAC,CAAM,EAAE,EAAE,CAAI,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI,sBAAsB,CAAC,SAAS,CAAC,EAAE,CAAC;QACpC,4DAA4D;QAC5D,qDAAqD;QACrD,OAAO,CAAC,CAAM,EAAE,EAAE;YACd,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;YAExC,iDAAiD;YACjD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACtB,MAAM,KAAK,CAAC,8CAA8C,CAAC,CAAC;YAChE,CAAC;YAED,OAAO,KAAK,CAAC;QACjB,CAAC,CAAA;IACL,CAAC;IAED,OAAO,SAAS,CAAC;AACrB,CAAC;AArBD,8CAqBC;AAED,SAAgB,SAAS,CAAI,WAA6B,EAAE,SAA0C;IAClG,MAAM,eAAe,GAAG,iBAAiB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAClE,OAAO,CAAC,CAAM,EAAE,EAAE;QACd,MAAM,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;QAElC,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YAClB,MAAM,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC3D,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC,CAAC;AACN,CAAC;AAXD,8BAWC;AAED,SAAS,sBAAsB,CAAI,QAAkB;IACjD,OAAO,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC;AACjC,CAAC"}
|
|
@@ -1,35 +1,35 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const http_1 = require("@utiliread/http");
|
|
4
|
-
const msgpack_1 = require("@msgpack/msgpack");
|
|
5
|
-
const msgpack_2 = require("@utiliread/msgpack");
|
|
6
|
-
http_1.HttpBuilder.prototype.expectMessagePack = function (typeOrMapper) {
|
|
7
|
-
this.message.headers.set("Accept", "application/x-msgpack");
|
|
8
|
-
return this.useHandler(async (response) => {
|
|
9
|
-
const itemFactory = http_1.Mapping.getMapper(msgpack_2.deserialize, typeOrMapper);
|
|
10
|
-
const decoded = await (0, msgpack_1.decodeAsync)(response.rawResponse.body);
|
|
11
|
-
return itemFactory(decoded);
|
|
12
|
-
});
|
|
13
|
-
};
|
|
14
|
-
http_1.HttpBuilder.prototype.expectMessagePackArray = function (typeOrMapper) {
|
|
15
|
-
this.message.headers.set("Accept", "application/x-msgpack");
|
|
16
|
-
return this.useHandler(async (response) => {
|
|
17
|
-
const items = [];
|
|
18
|
-
const itemFactory = http_1.Mapping.getMapper(msgpack_2.deserialize, typeOrMapper);
|
|
19
|
-
for await (const item of (0, msgpack_1.decodeArrayStream)(response.rawResponse.body)) {
|
|
20
|
-
items.push(itemFactory(item));
|
|
21
|
-
}
|
|
22
|
-
return items;
|
|
23
|
-
});
|
|
24
|
-
};
|
|
25
|
-
http_1.HttpBuilder.prototype.streamMessagePackArray = function (typeOrMapper) {
|
|
26
|
-
this.message.headers.set("Accept", "application/x-msgpack");
|
|
27
|
-
async function* handler(response) {
|
|
28
|
-
const itemFactory = http_1.Mapping.getMapper(msgpack_2.deserialize, typeOrMapper);
|
|
29
|
-
for await (const item of (0, msgpack_1.decodeArrayStream)(response.rawResponse.body)) {
|
|
30
|
-
yield itemFactory(item);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
return this.useHandler((response) => Promise.resolve(handler(response)));
|
|
34
|
-
};
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const http_1 = require("@utiliread/http");
|
|
4
|
+
const msgpack_1 = require("@msgpack/msgpack");
|
|
5
|
+
const msgpack_2 = require("@utiliread/msgpack");
|
|
6
|
+
http_1.HttpBuilder.prototype.expectMessagePack = function (typeOrMapper) {
|
|
7
|
+
this.message.headers.set("Accept", "application/x-msgpack");
|
|
8
|
+
return this.useHandler(async (response) => {
|
|
9
|
+
const itemFactory = http_1.Mapping.getMapper(msgpack_2.deserialize, typeOrMapper);
|
|
10
|
+
const decoded = await (0, msgpack_1.decodeAsync)(response.rawResponse.body);
|
|
11
|
+
return itemFactory(decoded);
|
|
12
|
+
});
|
|
13
|
+
};
|
|
14
|
+
http_1.HttpBuilder.prototype.expectMessagePackArray = function (typeOrMapper) {
|
|
15
|
+
this.message.headers.set("Accept", "application/x-msgpack");
|
|
16
|
+
return this.useHandler(async (response) => {
|
|
17
|
+
const items = [];
|
|
18
|
+
const itemFactory = http_1.Mapping.getMapper(msgpack_2.deserialize, typeOrMapper);
|
|
19
|
+
for await (const item of (0, msgpack_1.decodeArrayStream)(response.rawResponse.body)) {
|
|
20
|
+
items.push(itemFactory(item));
|
|
21
|
+
}
|
|
22
|
+
return items;
|
|
23
|
+
});
|
|
24
|
+
};
|
|
25
|
+
http_1.HttpBuilder.prototype.streamMessagePackArray = function (typeOrMapper) {
|
|
26
|
+
this.message.headers.set("Accept", "application/x-msgpack");
|
|
27
|
+
async function* handler(response) {
|
|
28
|
+
const itemFactory = http_1.Mapping.getMapper(msgpack_2.deserialize, typeOrMapper);
|
|
29
|
+
for await (const item of (0, msgpack_1.decodeArrayStream)(response.rawResponse.body)) {
|
|
30
|
+
yield itemFactory(item);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return this.useHandler((response) => Promise.resolve(handler(response)));
|
|
34
|
+
};
|
|
35
35
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../plugins/msgpack/src/index.ts"],"names":[],"mappings":";;AAAA,0CAAqF;AACrF,8CAAkE;AAElE,gDAAiD;AAejD,kBAAW,CAAC,SAAS,CAAC,iBAAiB,GAAG,UAExC,YAAsC;IAEtC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,uBAAuB,CAAC,CAAC;IAC5D,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;QACxC,MAAM,WAAW,GAAG,cAAO,CAAC,SAAS,CAAC,qBAAW,EAAE,YAAY,CAAC,CAAC;QACjE,MAAM,OAAO,GAAG,MAAM,IAAA,qBAAW,EAAC,QAAQ,CAAC,WAAW,CAAC,IAAK,CAAC,CAAC;QAC9D,OAAO,WAAW,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,kBAAW,CAAC,SAAS,CAAC,sBAAsB,GAAG,UAE7C,YAAsC;IAEtC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,uBAAuB,CAAC,CAAC;IAC5D,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;QACxC,MAAM,KAAK,GAAQ,EAAE,CAAC;QACtB,MAAM,WAAW,GAAG,cAAO,CAAC,SAAS,CAAC,qBAAW,EAAE,YAAY,CAAC,CAAC;QACjE,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,IAAA,2BAAiB,EAAC,QAAQ,CAAC,WAAW,CAAC,IAAK,CAAC,EAAE;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../plugins/msgpack/src/index.ts"],"names":[],"mappings":";;AAAA,0CAAqF;AACrF,8CAAkE;AAElE,gDAAiD;AAejD,kBAAW,CAAC,SAAS,CAAC,iBAAiB,GAAG,UAExC,YAAsC;IAEtC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,uBAAuB,CAAC,CAAC;IAC5D,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;QACxC,MAAM,WAAW,GAAG,cAAO,CAAC,SAAS,CAAC,qBAAW,EAAE,YAAY,CAAC,CAAC;QACjE,MAAM,OAAO,GAAG,MAAM,IAAA,qBAAW,EAAC,QAAQ,CAAC,WAAW,CAAC,IAAK,CAAC,CAAC;QAC9D,OAAO,WAAW,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,kBAAW,CAAC,SAAS,CAAC,sBAAsB,GAAG,UAE7C,YAAsC;IAEtC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,uBAAuB,CAAC,CAAC;IAC5D,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;QACxC,MAAM,KAAK,GAAQ,EAAE,CAAC;QACtB,MAAM,WAAW,GAAG,cAAO,CAAC,SAAS,CAAC,qBAAW,EAAE,YAAY,CAAC,CAAC;QACjE,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,IAAA,2BAAiB,EAAC,QAAQ,CAAC,WAAW,CAAC,IAAK,CAAC,EAAE,CAAC;YACvE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;QAChC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,kBAAW,CAAC,SAAS,CAAC,sBAAsB,GAAG,UAE7C,YAAsC;IAEtC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,uBAAuB,CAAC,CAAC;IAE5D,KAAK,SAAS,CAAC,CAAC,OAAO,CAAC,QAAsB;QAC5C,MAAM,WAAW,GAAG,cAAO,CAAC,SAAS,CAAC,qBAAW,EAAE,YAAY,CAAC,CAAC;QACjE,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,IAAA,2BAAiB,EAAC,QAAQ,CAAC,WAAW,CAAC,IAAK,CAAC,EAAE,CAAC;YACvE,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AAC3E,CAAC,CAAC"}
|
package/dist/cjs/pagination.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
//# sourceMappingURL=pagination.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
//# sourceMappingURL=problem-details.js.map
|
package/dist/cjs/query-string.js
CHANGED
|
@@ -1,66 +1,68 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.QueryString = void 0;
|
|
4
|
-
const luxon_1 = require("luxon");
|
|
5
|
-
class QueryString {
|
|
6
|
-
static serialize(params) {
|
|
7
|
-
if (!params) {
|
|
8
|
-
return "";
|
|
9
|
-
}
|
|
10
|
-
const serialized = this._serializeQueryString(params);
|
|
11
|
-
if (!serialized.length) {
|
|
12
|
-
return "";
|
|
13
|
-
}
|
|
14
|
-
return "?" + serialized;
|
|
15
|
-
}
|
|
16
|
-
static append(url, params) {
|
|
17
|
-
if (!params) {
|
|
18
|
-
return url;
|
|
19
|
-
}
|
|
20
|
-
const any = url.indexOf("?") >= 0;
|
|
21
|
-
const separator = any ? "&" : "?";
|
|
22
|
-
return url + separator + this._serializeQueryString(params);
|
|
23
|
-
}
|
|
24
|
-
static getParameter(name) {
|
|
25
|
-
const regex = new RegExp(`[?&]${name}(=([^&#]*)|&|#|$)`);
|
|
26
|
-
const match = regex.exec(window.location.href);
|
|
27
|
-
if (match) {
|
|
28
|
-
if (match[1].length > 0) {
|
|
29
|
-
return decodeURIComponent(match[2]);
|
|
30
|
-
}
|
|
31
|
-
else {
|
|
32
|
-
return null;
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
static _serializeQueryString(source, prefix) {
|
|
37
|
-
const parts = [];
|
|
38
|
-
for (const propertyName in source) {
|
|
39
|
-
if (source.hasOwnProperty(propertyName)) {
|
|
40
|
-
const key = prefix != null
|
|
41
|
-
? prefix + (Array.isArray(source)
|
|
42
|
-
? "[" + encodeURIComponent(propertyName) + "]"
|
|
43
|
-
: "." + encodeURIComponent(propertyName))
|
|
44
|
-
: encodeURIComponent(propertyName);
|
|
45
|
-
const value = source[propertyName];
|
|
46
|
-
if (value instanceof luxon_1.DateTime) {
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.QueryString = void 0;
|
|
4
|
+
const luxon_1 = require("luxon");
|
|
5
|
+
class QueryString {
|
|
6
|
+
static serialize(params) {
|
|
7
|
+
if (!params) {
|
|
8
|
+
return "";
|
|
9
|
+
}
|
|
10
|
+
const serialized = this._serializeQueryString(params);
|
|
11
|
+
if (!serialized.length) {
|
|
12
|
+
return "";
|
|
13
|
+
}
|
|
14
|
+
return "?" + serialized;
|
|
15
|
+
}
|
|
16
|
+
static append(url, params) {
|
|
17
|
+
if (!params) {
|
|
18
|
+
return url;
|
|
19
|
+
}
|
|
20
|
+
const any = url.indexOf("?") >= 0;
|
|
21
|
+
const separator = any ? "&" : "?";
|
|
22
|
+
return url + separator + this._serializeQueryString(params);
|
|
23
|
+
}
|
|
24
|
+
static getParameter(name) {
|
|
25
|
+
const regex = new RegExp(`[?&]${name}(=([^&#]*)|&|#|$)`);
|
|
26
|
+
const match = regex.exec(window.location.href);
|
|
27
|
+
if (match) {
|
|
28
|
+
if (match[1].length > 0) {
|
|
29
|
+
return decodeURIComponent(match[2]);
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
return null;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
static _serializeQueryString(source, prefix) {
|
|
37
|
+
const parts = [];
|
|
38
|
+
for (const propertyName in source) {
|
|
39
|
+
if (source.hasOwnProperty(propertyName)) {
|
|
40
|
+
const key = prefix != null
|
|
41
|
+
? prefix + (Array.isArray(source)
|
|
42
|
+
? "[" + encodeURIComponent(propertyName) + "]"
|
|
43
|
+
: "." + encodeURIComponent(propertyName))
|
|
44
|
+
: encodeURIComponent(propertyName);
|
|
45
|
+
const value = source[propertyName];
|
|
46
|
+
if (value instanceof luxon_1.DateTime) {
|
|
47
|
+
if (value.isValid) {
|
|
48
|
+
parts.push(key + "=" + encodeURIComponent(value.toISO()));
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
else if (value === null) {
|
|
52
|
+
parts.push(key);
|
|
53
|
+
}
|
|
54
|
+
else if (value !== undefined) {
|
|
55
|
+
if (typeof value === "object") {
|
|
56
|
+
parts.push(this._serializeQueryString(value, key));
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
parts.push(key + "=" + encodeURIComponent(value));
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
return parts.join("&");
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
exports.QueryString = QueryString;
|
|
66
68
|
//# sourceMappingURL=query-string.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-string.js","sourceRoot":"","sources":["../../src/query-string.ts"],"names":[],"mappings":";;;AAAA,iCAAiC;AAEjC,MAAa,WAAW;IACpB,MAAM,CAAC,SAAS,CAAC,MAAW;QACxB,IAAI,CAAC,MAAM,EAAE;
|
|
1
|
+
{"version":3,"file":"query-string.js","sourceRoot":"","sources":["../../src/query-string.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,52 +1,52 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const luxon_1 = require("luxon");
|
|
4
|
-
const query_string_1 = require("./query-string");
|
|
5
|
-
const chai_1 = require("chai");
|
|
6
|
-
describe("query-string", () => {
|
|
7
|
-
it("should handle string", () => {
|
|
8
|
-
const qs = query_string_1.QueryString.serialize({
|
|
9
|
-
aString: "hello"
|
|
10
|
-
});
|
|
11
|
-
(0, chai_1.expect)(qs).to.equal("?aString=hello");
|
|
12
|
-
});
|
|
13
|
-
it("should handle string array", () => {
|
|
14
|
-
const qs = query_string_1.QueryString.serialize({
|
|
15
|
-
aString: ["hello", "world"]
|
|
16
|
-
});
|
|
17
|
-
(0, chai_1.expect)(qs).to.equal("?aString[0]=hello&aString[1]=world");
|
|
18
|
-
});
|
|
19
|
-
it("should handle object array", () => {
|
|
20
|
-
const qs = query_string_1.QueryString.serialize({
|
|
21
|
-
array: [{ a: "hello" }, { b: "world" }]
|
|
22
|
-
});
|
|
23
|
-
(0, chai_1.expect)(qs).to.equal("?array[0].a=hello&array[1].b=world");
|
|
24
|
-
});
|
|
25
|
-
it("should handle luxon DateTime in local timezone", () => {
|
|
26
|
-
const datetime = luxon_1.DateTime.fromObject({ year: 2014, month: 11, day: 12, hour: 21, minute: 6 });
|
|
27
|
-
const qs = query_string_1.QueryString.serialize({
|
|
28
|
-
aDateTime: datetime
|
|
29
|
-
});
|
|
30
|
-
(0, chai_1.expect)(qs).to.equal("?aDateTime=" + encodeURIComponent("2014-11-12T21:06:00.000+01:00"));
|
|
31
|
-
});
|
|
32
|
-
it("should handle luxon DateTime in utc", () => {
|
|
33
|
-
const datetime = luxon_1.DateTime.fromObject({ year: 2014, month: 11, day: 12, hour: 21, minute: 6 }).toUTC();
|
|
34
|
-
const qs = query_string_1.QueryString.serialize({
|
|
35
|
-
aDateTime: datetime
|
|
36
|
-
});
|
|
37
|
-
(0, chai_1.expect)(qs).to.equal("?aDateTime=" + encodeURIComponent("2014-11-12T20:06:00.000Z"));
|
|
38
|
-
});
|
|
39
|
-
it("should handle null", () => {
|
|
40
|
-
const qs = query_string_1.QueryString.serialize({
|
|
41
|
-
null: null
|
|
42
|
-
});
|
|
43
|
-
(0, chai_1.expect)(qs).to.equal("?null");
|
|
44
|
-
});
|
|
45
|
-
it("should not include undefined", () => {
|
|
46
|
-
const qs = query_string_1.QueryString.serialize({
|
|
47
|
-
null: undefined
|
|
48
|
-
});
|
|
49
|
-
(0, chai_1.expect)(qs).to.equal("");
|
|
50
|
-
});
|
|
51
|
-
});
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const luxon_1 = require("luxon");
|
|
4
|
+
const query_string_1 = require("./query-string");
|
|
5
|
+
const chai_1 = require("chai");
|
|
6
|
+
describe("query-string", () => {
|
|
7
|
+
it("should handle string", () => {
|
|
8
|
+
const qs = query_string_1.QueryString.serialize({
|
|
9
|
+
aString: "hello"
|
|
10
|
+
});
|
|
11
|
+
(0, chai_1.expect)(qs).to.equal("?aString=hello");
|
|
12
|
+
});
|
|
13
|
+
it("should handle string array", () => {
|
|
14
|
+
const qs = query_string_1.QueryString.serialize({
|
|
15
|
+
aString: ["hello", "world"]
|
|
16
|
+
});
|
|
17
|
+
(0, chai_1.expect)(qs).to.equal("?aString[0]=hello&aString[1]=world");
|
|
18
|
+
});
|
|
19
|
+
it("should handle object array", () => {
|
|
20
|
+
const qs = query_string_1.QueryString.serialize({
|
|
21
|
+
array: [{ a: "hello" }, { b: "world" }]
|
|
22
|
+
});
|
|
23
|
+
(0, chai_1.expect)(qs).to.equal("?array[0].a=hello&array[1].b=world");
|
|
24
|
+
});
|
|
25
|
+
it("should handle luxon DateTime in local timezone", () => {
|
|
26
|
+
const datetime = luxon_1.DateTime.fromObject({ year: 2014, month: 11, day: 12, hour: 21, minute: 6 });
|
|
27
|
+
const qs = query_string_1.QueryString.serialize({
|
|
28
|
+
aDateTime: datetime
|
|
29
|
+
});
|
|
30
|
+
(0, chai_1.expect)(qs).to.equal("?aDateTime=" + encodeURIComponent("2014-11-12T21:06:00.000+01:00"));
|
|
31
|
+
});
|
|
32
|
+
it("should handle luxon DateTime in utc", () => {
|
|
33
|
+
const datetime = luxon_1.DateTime.fromObject({ year: 2014, month: 11, day: 12, hour: 21, minute: 6 }).toUTC();
|
|
34
|
+
const qs = query_string_1.QueryString.serialize({
|
|
35
|
+
aDateTime: datetime
|
|
36
|
+
});
|
|
37
|
+
(0, chai_1.expect)(qs).to.equal("?aDateTime=" + encodeURIComponent("2014-11-12T20:06:00.000Z"));
|
|
38
|
+
});
|
|
39
|
+
it("should handle null", () => {
|
|
40
|
+
const qs = query_string_1.QueryString.serialize({
|
|
41
|
+
null: null
|
|
42
|
+
});
|
|
43
|
+
(0, chai_1.expect)(qs).to.equal("?null");
|
|
44
|
+
});
|
|
45
|
+
it("should not include undefined", () => {
|
|
46
|
+
const qs = query_string_1.QueryString.serialize({
|
|
47
|
+
null: undefined
|
|
48
|
+
});
|
|
49
|
+
(0, chai_1.expect)(qs).to.equal("");
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
52
|
//# sourceMappingURL=query-string.spec.js.map
|