@zajno/common 2.6.7 → 2.7.1
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/cjs/api/builder.js +5 -3
- package/cjs/api/builder.js.map +1 -1
- package/cjs/api/call.config.js +77 -0
- package/cjs/api/call.config.js.map +1 -0
- package/cjs/api/call.js +16 -51
- package/cjs/api/call.js.map +1 -1
- package/cjs/api/call.types.js +2 -0
- package/cjs/api/call.types.js.map +1 -1
- package/cjs/api/config.js +43 -0
- package/cjs/api/config.js.map +1 -0
- package/cjs/api/endpoint.js.map +1 -1
- package/cjs/api/extensions/contentType.js +9 -0
- package/cjs/api/extensions/contentType.js.map +1 -1
- package/cjs/api/extensions/endpointHooks.js +41 -0
- package/cjs/api/extensions/endpointHooks.js.map +1 -0
- package/cjs/api/extensions/index.js +1 -0
- package/cjs/api/extensions/index.js.map +1 -1
- package/cjs/api/extensions/validation.js +8 -0
- package/cjs/api/extensions/validation.js.map +1 -1
- package/cjs/api/hooks.js +56 -0
- package/cjs/api/hooks.js.map +1 -0
- package/cjs/api/index.js +4 -5
- package/cjs/api/index.js.map +1 -1
- package/cjs/api/interceptor.js +29 -0
- package/cjs/api/interceptor.js.map +1 -0
- package/cjs/api/logging.js +3 -3
- package/cjs/api/logging.js.map +1 -1
- package/cjs/functions/assert.js +18 -14
- package/cjs/functions/assert.js.map +1 -1
- package/cjs/functions/disposer.js +2 -2
- package/cjs/functions/disposer.js.map +1 -1
- package/cjs/functions/throttle.js +4 -4
- package/cjs/functions/throttle.js.map +1 -1
- package/cjs/logger/index.js +8 -18
- package/cjs/logger/index.js.map +1 -1
- package/cjs/logger/manager.js +14 -0
- package/cjs/logger/manager.js.map +1 -1
- package/cjs/logger/shared.js +18 -0
- package/cjs/logger/shared.js.map +1 -0
- package/cjs/models/LogicModel.js +2 -2
- package/cjs/models/LogicModel.js.map +1 -1
- package/cjs/observing/event.js +2 -2
- package/cjs/observing/event.js.map +1 -1
- package/cjs/observing/progressTracker.js +2 -2
- package/cjs/observing/progressTracker.js.map +1 -1
- package/cjs/structures/promiseCache.js +2 -2
- package/cjs/structures/promiseCache.js.map +1 -1
- package/cjs/structures/queue/parallel.js +2 -2
- package/cjs/structures/queue/parallel.js.map +1 -1
- package/cjs/structures/subscribersMap.js +2 -2
- package/cjs/structures/subscribersMap.js.map +1 -1
- package/esm/api/builder.js +5 -3
- package/esm/api/builder.js.map +1 -1
- package/esm/api/call.config.js +72 -0
- package/esm/api/call.config.js.map +1 -0
- package/esm/api/call.js +16 -51
- package/esm/api/call.js.map +1 -1
- package/esm/api/call.types.js +2 -0
- package/esm/api/call.types.js.map +1 -1
- package/esm/api/config.js +39 -0
- package/esm/api/config.js.map +1 -0
- package/esm/api/endpoint.js.map +1 -1
- package/esm/api/extensions/contentType.js +9 -0
- package/esm/api/extensions/contentType.js.map +1 -1
- package/esm/api/extensions/endpointHooks.js +38 -0
- package/esm/api/extensions/endpointHooks.js.map +1 -0
- package/esm/api/extensions/index.js +1 -0
- package/esm/api/extensions/index.js.map +1 -1
- package/esm/api/extensions/validation.js +8 -0
- package/esm/api/extensions/validation.js.map +1 -1
- package/esm/api/hooks.js +53 -0
- package/esm/api/hooks.js.map +1 -0
- package/esm/api/index.js +3 -2
- package/esm/api/index.js.map +1 -1
- package/esm/api/interceptor.js +26 -0
- package/esm/api/interceptor.js.map +1 -0
- package/esm/api/logging.js +3 -3
- package/esm/api/logging.js.map +1 -1
- package/esm/functions/assert.js +16 -13
- package/esm/functions/assert.js.map +1 -1
- package/esm/functions/disposer.js +1 -1
- package/esm/functions/disposer.js.map +1 -1
- package/esm/functions/throttle.js +1 -1
- package/esm/functions/throttle.js.map +1 -1
- package/esm/logger/index.js +6 -13
- package/esm/logger/index.js.map +1 -1
- package/esm/logger/manager.js +14 -0
- package/esm/logger/manager.js.map +1 -1
- package/esm/logger/shared.js +15 -0
- package/esm/logger/shared.js.map +1 -0
- package/esm/models/LogicModel.js +1 -1
- package/esm/models/LogicModel.js.map +1 -1
- package/esm/observing/event.js +1 -1
- package/esm/observing/event.js.map +1 -1
- package/esm/observing/progressTracker.js +1 -1
- package/esm/observing/progressTracker.js.map +1 -1
- package/esm/structures/promiseCache.js +1 -1
- package/esm/structures/promiseCache.js.map +1 -1
- package/esm/structures/queue/parallel.js +1 -1
- package/esm/structures/queue/parallel.js.map +1 -1
- package/esm/structures/subscribersMap.js +1 -1
- package/esm/structures/subscribersMap.js.map +1 -1
- package/package.json +1 -1
- package/tsconfig.cjs.tsbuildinfo +1 -1
- package/tsconfig.esm.tsbuildinfo +1 -1
- package/tsconfig.types.tsbuildinfo +1 -1
- package/types/api/call.config.d.ts +25 -0
- package/types/api/call.types.d.ts +28 -25
- package/types/api/config.d.ts +23 -0
- package/types/api/extensions/contentType.d.ts +6 -4
- package/types/api/extensions/endpointHooks.d.ts +16 -0
- package/types/api/extensions/index.d.ts +1 -0
- package/types/api/extensions/validation.d.ts +2 -0
- package/types/api/hooks.d.ts +27 -0
- package/types/api/index.d.ts +3 -3
- package/types/api/interceptor.d.ts +14 -0
- package/types/api/logging.d.ts +3 -3
- package/types/functions/assert.d.ts +5 -1
- package/types/functions/throttle.d.ts +1 -1
- package/types/logger/index.d.ts +8 -8
- package/types/logger/manager.d.ts +7 -0
- package/types/logger/shared.d.ts +15 -0
- package/types/models/LogicModel.d.ts +1 -1
- package/types/observing/event.d.ts +1 -1
- package/types/observing/progressTracker.d.ts +1 -1
- package/types/structures/promiseCache.d.ts +1 -1
- package/cjs/api/helpers.js +0 -32
- package/cjs/api/helpers.js.map +0 -1
- package/cjs/api/processor.js +0 -51
- package/cjs/api/processor.js.map +0 -1
- package/cjs/api/register.js +0 -25
- package/cjs/api/register.js.map +0 -1
- package/esm/api/helpers.js +0 -25
- package/esm/api/helpers.js.map +0 -1
- package/esm/api/processor.js +0 -46
- package/esm/api/processor.js.map +0 -1
- package/esm/api/register.js +0 -19
- package/esm/api/register.js.map +0 -1
- package/types/api/helpers.d.ts +0 -11
- package/types/api/processor.d.ts +0 -7
- package/types/api/register.d.ts +0 -7
package/cjs/api/builder.js
CHANGED
|
@@ -5,7 +5,6 @@ exports.buildApi = buildApi;
|
|
|
5
5
|
exports.createEndpointCallable = createEndpointCallable;
|
|
6
6
|
const endpoint_js_1 = require("./endpoint.js");
|
|
7
7
|
const assert_js_1 = require("../functions/assert.js");
|
|
8
|
-
const helpers_js_1 = require("./helpers.js");
|
|
9
8
|
/** Converts each endpoint in a nested structure to something via transformer */
|
|
10
9
|
function remapApisStructure(root, transformer) {
|
|
11
10
|
if (endpoint_js_1.ApiEndpoint.isEndpoint(root)) {
|
|
@@ -27,13 +26,16 @@ function buildApi(api, caller) {
|
|
|
27
26
|
}
|
|
28
27
|
/** Partial application: binding an endpoint to callApi, so only input data and extra are passed to a newly created function. */
|
|
29
28
|
function createEndpointCallable(endpoint, caller) {
|
|
30
|
-
const path =
|
|
29
|
+
const path = caller.config.getTemplate(endpoint).replaceAll('/', '_').replaceAll(':', '$') || 'root';
|
|
31
30
|
const name = `${endpoint.displayName || '?'}_${endpoint.method}_${path}`;
|
|
32
31
|
const fn = {
|
|
33
32
|
[name]: function (data, extra) { return caller(endpoint, data, extra); },
|
|
34
33
|
}[name]; // this sets the name of the function
|
|
35
34
|
const result = fn;
|
|
36
|
-
|
|
35
|
+
// Defining as getter to make readonly according to the interface
|
|
36
|
+
Object.defineProperty(result, 'Endpoint', {
|
|
37
|
+
get: () => endpoint,
|
|
38
|
+
});
|
|
37
39
|
return result;
|
|
38
40
|
}
|
|
39
41
|
//# sourceMappingURL=builder.js.map
|
package/cjs/api/builder.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../src/api/builder.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../src/api/builder.ts"],"names":[],"mappings":";;AAoBA,gDAYC;AASD,4BAWC;AAGD,wDAoBC;AAzED,+CAA4C;AAC5C,sDAAgD;AAgBhD,gFAAgF;AAChF,SAAgB,kBAAkB,CAAsC,IAAU,EAAE,WAA4C;IAC5H,IAAI,yBAAW,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,OAAO,WAAW,CAAC,IAAI,CAA+B,CAAC;IAC3D,CAAC;IAED,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QACrD,MAAM,IAAI,GAAG,KAAK,CAAC;QACnB,IAAI,IAAI,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC3C,GAAG,CAAC,GAAG,CAAC,GAAG,kBAAkB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACrD,CAAC;QACD,OAAO,GAAG,CAAC;IACf,CAAC,EAAE,EAA+C,CAA+B,CAAC;AACtF,CAAC;AAQD,+EAA+E;AAC/E,SAAgB,QAAQ,CACpB,GAAS,EACT,MAAgC;IAEhC,IAAA,kBAAM,EAAC,CAAC,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,kCAAkC,CAAC,CAAC;IAC7E,IAAA,kBAAM,EAAC,CAAC,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,2BAA2B,CAAC,CAAC;IAE9E,OAAO,kBAAkB,CACrB,GAAG,EACH,CAAC,CAAC,EAAE,CAAC,sBAAsB,CAAC,CAAC,EAAE,MAA0B,CAAC,CACvB,CAAC;AAC5C,CAAC;AAED,gIAAgI;AAChI,SAAgB,sBAAsB,CAIpC,QAAmB,EAAE,MAAe;IAClC,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC;IACrG,MAAM,IAAI,GAAG,GAAG,QAAQ,CAAC,WAAW,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;IAEzE,MAAM,EAAE,GAAG;QACP,CAAC,IAAI,CAAC,EAAE,UAAU,IAAiC,EAAE,KAA8B,IAAI,OAAO,MAAM,CAAY,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;KAC5I,CAAC,IAAI,CAAC,CAAC,CAAC,qCAAqC;IAE9C,MAAM,MAAM,GAAG,EAAwC,CAAC;IAExD,iEAAiE;IACjE,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,UAAU,EAAE;QACtC,GAAG,EAAE,GAAG,EAAE,CAAC,QAAQ;KACtB,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAClB,CAAC"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RequestMeta = void 0;
|
|
4
|
+
exports.createConfig = createConfig;
|
|
5
|
+
const config_js_1 = require("./config.js");
|
|
6
|
+
function createConfig(endpointsConfig, api, data, extra) {
|
|
7
|
+
const { headers, log = 'res', noLoader, ...restExtra } = extra || {};
|
|
8
|
+
const resultInput = data && { ...data };
|
|
9
|
+
const pathInputs = {};
|
|
10
|
+
const queryInputs = {};
|
|
11
|
+
let queryStr = '';
|
|
12
|
+
// extract path inputs from data
|
|
13
|
+
const pathKeys = api.path?.args;
|
|
14
|
+
if (resultInput && pathKeys?.length) {
|
|
15
|
+
for (const key of pathKeys) {
|
|
16
|
+
pathInputs[key] = resultInput[key];
|
|
17
|
+
delete resultInput[key];
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
// extract query inputs from data
|
|
21
|
+
const queryKeysExpected = api.queryKeys;
|
|
22
|
+
if (resultInput && queryKeysExpected?.length) {
|
|
23
|
+
let empty = true;
|
|
24
|
+
for (const key of queryKeysExpected) {
|
|
25
|
+
const v = resultInput[key];
|
|
26
|
+
if (v != null) {
|
|
27
|
+
queryInputs[key] = v;
|
|
28
|
+
empty = false;
|
|
29
|
+
}
|
|
30
|
+
delete resultInput[key];
|
|
31
|
+
}
|
|
32
|
+
// compile query string
|
|
33
|
+
if (!empty) {
|
|
34
|
+
const params = new URLSearchParams(queryInputs);
|
|
35
|
+
queryStr = '?' + params.toString();
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
const sendingData = resultInput && Object.keys(resultInput).length > 0
|
|
39
|
+
? resultInput
|
|
40
|
+
: undefined;
|
|
41
|
+
const method = api.method || 'GET';
|
|
42
|
+
const config = {
|
|
43
|
+
method,
|
|
44
|
+
url: endpointsConfig.getPath(api, pathInputs) + queryStr,
|
|
45
|
+
data: sendingData || undefined,
|
|
46
|
+
headers: headers || {},
|
|
47
|
+
_meta: new RequestMeta(api, endpointsConfig, log, noLoader ?? method === 'GET', restExtra),
|
|
48
|
+
};
|
|
49
|
+
return {
|
|
50
|
+
config,
|
|
51
|
+
resultInput,
|
|
52
|
+
pathInputs,
|
|
53
|
+
queryInputs,
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Request meta wrapped in a class for:
|
|
58
|
+
*
|
|
59
|
+
* - not being a plain object
|
|
60
|
+
* - being able to extend it in the future with helpful methods
|
|
61
|
+
*/
|
|
62
|
+
class RequestMeta {
|
|
63
|
+
api;
|
|
64
|
+
pathsConfig;
|
|
65
|
+
log;
|
|
66
|
+
noLoader;
|
|
67
|
+
extra;
|
|
68
|
+
constructor(api, pathsConfig = new config_js_1.EndpointsPathsConfig(), log = 'res', noLoader = false, extra = {}) {
|
|
69
|
+
this.api = api;
|
|
70
|
+
this.pathsConfig = pathsConfig;
|
|
71
|
+
this.log = log;
|
|
72
|
+
this.noLoader = noLoader;
|
|
73
|
+
this.extra = extra;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
exports.RequestMeta = RequestMeta;
|
|
77
|
+
//# sourceMappingURL=call.config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"call.config.js","sourceRoot":"","sources":["../../../src/api/call.config.ts"],"names":[],"mappings":";;;AAMA,oCA4EC;AAhFD,2CAAmD;AAInD,SAAgB,YAAY,CACxB,eAAqC,EACrC,GAAM,EACN,IAAiC,EACjC,KAAgC;IAKhC,MAAM,EACF,OAAO,EACP,GAAG,GAAG,KAAK,EACX,QAAQ,EACR,GAAG,SAAS,EACf,GAAG,KAAK,IAAI,EAAE,CAAC;IAEhB,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,GAAG,IAAI,EAAE,CAAC;IACxC,MAAM,UAAU,GAAoC,EAAE,CAAC;IACvD,MAAM,WAAW,GAAc,EAAE,CAAC;IAClC,IAAI,QAAQ,GAAW,EAAE,CAAC;IAE1B,gCAAgC;IAChC,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC;IAChC,IAAI,WAAW,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;QAClC,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YACzB,UAAU,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;YACnC,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC;QAC5B,CAAC;IACL,CAAC;IAED,iCAAiC;IACjC,MAAM,iBAAiB,GAAG,GAAG,CAAC,SAAS,CAAC;IACxC,IAAI,WAAW,IAAI,iBAAiB,EAAE,MAAM,EAAE,CAAC;QAC3C,IAAI,KAAK,GAAG,IAAI,CAAC;QACjB,KAAK,MAAM,GAAG,IAAI,iBAAiB,EAAE,CAAC;YAClC,MAAM,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;YAC3B,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;gBACZ,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACrB,KAAK,GAAG,KAAK,CAAC;YAClB,CAAC;YACD,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC;QAC5B,CAAC;QAED,uBAAuB;QACvB,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,WAAW,CAAC,CAAC;YAChD,QAAQ,GAAG,GAAG,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QACvC,CAAC;IACL,CAAC;IAED,MAAM,WAAW,GAAG,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC;QAClE,CAAC,CAAC,WAAW;QACb,CAAC,CAAC,SAAS,CAAC;IAEhB,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,KAAK,CAAC;IACnC,MAAM,MAAM,GAAmC;QAC3C,MAAM;QACN,GAAG,EAAE,eAAe,CAAC,OAAO,CAAC,GAAG,EAAE,UAA0C,CAAC,GAAG,QAAQ;QACxF,IAAI,EAAE,WAAW,IAAI,SAAS;QAC9B,OAAO,EAAE,OAAoB,IAAI,EAAE;QAEnC,KAAK,EAAE,IAAI,WAAW,CAClB,GAAG,EACH,eAAe,EACf,GAAG,EACH,QAAQ,IAAI,MAAgB,KAAK,KAAK,EACtC,SAAmB,CACtB;KACJ,CAAC;IAEF,OAAO;QACH,MAAM;QACN,WAAW;QACX,UAAU;QACV,WAAW;KACd,CAAC;AACN,CAAC;AAED;;;;;GAKG;AACH,MAAa,WAAW;IAEA;IACA;IACA;IACA;IACA;IALpB,YACoB,GAAM,EACN,cAAoC,IAAI,gCAAoB,EAAE,EAC9D,MAAgB,KAAK,EACrB,WAAoB,KAAK,EACzB,QAAgB,EAA8B;QAJ9C,QAAG,GAAH,GAAG,CAAG;QACN,gBAAW,GAAX,WAAW,CAAmD;QAC9D,QAAG,GAAH,GAAG,CAAkB;QACrB,aAAQ,GAAR,QAAQ,CAAiB;QACzB,UAAK,GAAL,KAAK,CAAyC;IAGlE,CAAC;CACJ;AAVD,kCAUC"}
|
package/cjs/api/call.js
CHANGED
|
@@ -1,68 +1,33 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.buildApiCaller = buildApiCaller;
|
|
4
|
-
const
|
|
5
|
-
const
|
|
4
|
+
const config_js_1 = require("./config.js");
|
|
5
|
+
const hooks_js_1 = require("./hooks.js");
|
|
6
|
+
const call_config_js_1 = require("./call.config.js");
|
|
6
7
|
function buildApiCaller(options) {
|
|
7
|
-
const { request, hooks = {} } = options;
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
const pathInputs =
|
|
12
|
-
const queryInputs = {};
|
|
13
|
-
let queryStr = '';
|
|
14
|
-
// extract path inputs from data
|
|
15
|
-
const pathKeys = api.path?.args;
|
|
16
|
-
if (resultInput && pathKeys?.length) {
|
|
17
|
-
for (const key of pathKeys) {
|
|
18
|
-
pathInputs[key] = resultInput[key];
|
|
19
|
-
delete resultInput[key];
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
// extract query inputs from data
|
|
23
|
-
const queryKeysExpected = api.queryKeys;
|
|
24
|
-
if (resultInput && queryKeysExpected?.length) {
|
|
25
|
-
let empty = true;
|
|
26
|
-
for (const key of queryKeysExpected) {
|
|
27
|
-
const v = resultInput[key];
|
|
28
|
-
if (v != null) {
|
|
29
|
-
queryInputs[key] = v;
|
|
30
|
-
empty = false;
|
|
31
|
-
}
|
|
32
|
-
delete resultInput[key];
|
|
33
|
-
}
|
|
34
|
-
// compile query string
|
|
35
|
-
if (!empty) {
|
|
36
|
-
const params = new URLSearchParams(queryInputs);
|
|
37
|
-
queryStr = '?' + params.toString();
|
|
38
|
-
}
|
|
39
|
-
}
|
|
8
|
+
const { request, config: endpointsConfigSource, hooks: hooksSource = {}, } = options;
|
|
9
|
+
const hooks = hooks_js_1.CallerHooks.merge(hooksSource);
|
|
10
|
+
const endpointsConfig = new config_js_1.EndpointsPathsConfig(endpointsConfigSource);
|
|
11
|
+
const caller = async function callApi(api, data, extra) {
|
|
12
|
+
const { config, resultInput, pathInputs, queryInputs } = (0, call_config_js_1.createConfig)(endpointsConfig, api, data, extra);
|
|
40
13
|
if (hooks.beforeConfig) {
|
|
41
14
|
// copy all inputs to avoid mutation
|
|
42
15
|
await hooks.beforeConfig(api, { ...resultInput }, { ...pathInputs }, { ...queryInputs });
|
|
43
16
|
}
|
|
44
|
-
const sendingData = resultInput && Object.keys(resultInput).length > 0
|
|
45
|
-
? resultInput
|
|
46
|
-
: undefined;
|
|
47
|
-
const method = api.method || 'GET';
|
|
48
|
-
const config = {
|
|
49
|
-
method,
|
|
50
|
-
url: (0, helpers_js_1.getPath)(api, pathInputs) + queryStr,
|
|
51
|
-
data: register_js_1.PreProcessors.process(api, sendingData) || undefined,
|
|
52
|
-
headers: headers || {},
|
|
53
|
-
_api: api,
|
|
54
|
-
_noLoader: noLoader ?? method === 'GET',
|
|
55
|
-
_log: log,
|
|
56
|
-
_extra: restExtra,
|
|
57
|
-
};
|
|
58
17
|
if (hooks.beforeRequest) {
|
|
59
18
|
const result = await hooks.beforeRequest(config);
|
|
60
19
|
if (result && typeof result === 'object') {
|
|
61
20
|
Object.assign(config, result);
|
|
62
21
|
}
|
|
63
22
|
}
|
|
64
|
-
|
|
65
|
-
|
|
23
|
+
let response = await request(config);
|
|
24
|
+
if (response && hooks.afterResponse) {
|
|
25
|
+
response = await hooks.afterResponse(config, response) ?? response;
|
|
26
|
+
}
|
|
27
|
+
return response?.data;
|
|
66
28
|
};
|
|
29
|
+
return Object.assign(caller, {
|
|
30
|
+
config: endpointsConfig,
|
|
31
|
+
});
|
|
67
32
|
}
|
|
68
33
|
//# sourceMappingURL=call.js.map
|
package/cjs/api/call.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"call.js","sourceRoot":"","sources":["../../../src/api/call.ts"],"names":[],"mappings":";;AAcA,
|
|
1
|
+
{"version":3,"file":"call.js","sourceRoot":"","sources":["../../../src/api/call.ts"],"names":[],"mappings":";;AAcA,wCAsDC;AA5DD,2CAAmD;AACnD,yCAAyC;AACzC,qDAAgD;AAIhD,SAAgB,cAAc,CAA8C,OAA8B;IAEtG,MAAM,EACF,OAAO,EACP,MAAM,EAAE,qBAAqB,EAC7B,KAAK,EAAE,WAAW,GAAG,EAAE,GAC1B,GAAG,OAAO,CAAC;IAEZ,MAAM,KAAK,GAAG,sBAAW,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAC7C,MAAM,eAAe,GAAG,IAAI,gCAAoB,CAAC,qBAAqB,CAAC,CAAC;IAExE,MAAM,MAAM,GAAG,KAAK,UAAU,OAAO,CACjC,GAAM,EACN,IAAiC,EACjC,KAAgC;QAIhC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,IAAA,6BAAY,EACjE,eAAe,EACf,GAAG,EACH,IAAI,EACJ,KAAK,CACR,CAAC;QAEF,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;YACrB,oCAAoC;YACpC,MAAM,KAAK,CAAC,YAAY,CACpB,GAAG,EACH,EAAE,GAAG,WAAW,EAAwC,EACxD,EAAE,GAAG,UAAU,EAA0C,EACzD,EAAE,GAAG,WAAW,EAA2C,CAC9D,CAAC;QACN,CAAC;QAED,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;YACtB,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YACjD,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACvC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAClC,CAAC;QACL,CAAC;QAED,IAAI,QAAQ,GAAyB,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;QAE3D,IAAI,QAAQ,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;YAClC,QAAQ,GAAG,MAAM,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,QAAQ,CAAC;QACvE,CAAC;QAED,OAAO,QAAQ,EAAE,IAAI,CAAC;IAC1B,CAAC,CAAC;IAEF,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE;QACzB,MAAM,EAAE,eAAe;KAC1B,CAAC,CAAC;AACP,CAAC"}
|
package/cjs/api/call.types.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"call.types.js","sourceRoot":"","sources":["../../../src/api/call.types.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"call.types.js","sourceRoot":"","sources":["../../../src/api/call.types.ts"],"names":[],"mappings":";;AAoBC,CAAC;AAqBD,CAAC;AAyCD,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DefaultSettings = exports.EndpointsPathsConfig = void 0;
|
|
4
|
+
const index_js_1 = require("../structures/path/index.js");
|
|
5
|
+
class EndpointsPathsConfig {
|
|
6
|
+
templateArgPrefix = ':';
|
|
7
|
+
basePrefix = '/';
|
|
8
|
+
constructor(settings) {
|
|
9
|
+
if (settings) {
|
|
10
|
+
this.templateArgPrefix = settings.templateArgPrefix ?? this.templateArgPrefix;
|
|
11
|
+
this.basePrefix = settings.basePrefix ?? this.basePrefix;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
getPath(endpoint, pathArgs, prefix = true) {
|
|
15
|
+
const path = endpoint.path ?? index_js_1.Path.Empty;
|
|
16
|
+
return path.build(pathArgs || undefined, { addStart: this.getPrefix(prefix) });
|
|
17
|
+
}
|
|
18
|
+
getTemplate(endpoint, prefix = true) {
|
|
19
|
+
const path = endpoint.path ?? index_js_1.Path.Empty;
|
|
20
|
+
return path.template(this.templateArgPrefix, { addStart: this.getPrefix(prefix) });
|
|
21
|
+
}
|
|
22
|
+
getFormattedDisplayName(endpoint) {
|
|
23
|
+
const template = this.getTemplate(endpoint);
|
|
24
|
+
const prefix = endpoint.displayName
|
|
25
|
+
? `[${endpoint.displayName}] `
|
|
26
|
+
: '';
|
|
27
|
+
return prefix + template;
|
|
28
|
+
}
|
|
29
|
+
getEndpointsEqual(a, b) {
|
|
30
|
+
return a === b || (a == null && b == null) || (a != null && b != null
|
|
31
|
+
&& a.method === b.method
|
|
32
|
+
&& this.getTemplate(a) === this.getTemplate(b));
|
|
33
|
+
}
|
|
34
|
+
getPrefix(prefix) {
|
|
35
|
+
return typeof prefix === 'string'
|
|
36
|
+
? prefix
|
|
37
|
+
: (prefix ? this.basePrefix : false);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
exports.EndpointsPathsConfig = EndpointsPathsConfig;
|
|
41
|
+
/** @deprecated Be careful with using this shared instance. Don't be lazy and create your own! */
|
|
42
|
+
exports.DefaultSettings = new EndpointsPathsConfig();
|
|
43
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/api/config.ts"],"names":[],"mappings":";;;AAAA,0DAAmD;AAanD,MAAa,oBAAoB;IAEb,iBAAiB,GAA2B,GAAG,CAAC;IAChD,UAAU,GAAW,GAAG,CAAC;IAEzC,YAAY,QAAgC;QACxC,IAAI,QAAQ,EAAE,CAAC;YACX,IAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC,iBAAiB,IAAI,IAAI,CAAC,iBAAiB,CAAC;YAC9E,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC;QAC7D,CAAC;IACL,CAAC;IAEM,OAAO,CACV,QAAW,EACX,QAAsC,EACtC,SAAwB,IAAI;QAE5B,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,IAAK,eAAI,CAAC,KAAuB,CAAC;QAE5D,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACnF,CAAC;IAEM,WAAW,CAA0B,QAAW,EAAE,SAAwB,IAAI;QACjF,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,IAAK,eAAI,CAAC,KAAuB,CAAC;QAE5D,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACvF,CAAC;IAEM,uBAAuB,CAAC,QAAuB;QAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAG,QAAQ,CAAC,WAAW;YAC/B,CAAC,CAAC,IAAI,QAAQ,CAAC,WAAW,IAAI;YAC9B,CAAC,CAAC,EAAE,CAAC;QACT,OAAO,MAAM,GAAG,QAAQ,CAAC;IAC7B,CAAC;IAEM,iBAAiB,CAAC,CAA0B,EAAE,CAA0B;QAC3E,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAC1C,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI;eACnB,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;eACrB,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CACjD,CAAC;IACN,CAAC;IAEO,SAAS,CAAC,MAAqB;QACnC,OAAO,OAAO,MAAM,KAAK,QAAQ;YAC7B,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC7C,CAAC;CACJ;AAjDD,oDAiDC;AAED,iGAAiG;AACpF,QAAA,eAAe,GAAG,IAAI,oBAAoB,EAAE,CAAC"}
|
package/cjs/api/endpoint.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"endpoint.js","sourceRoot":"","sources":["../../../src/api/endpoint.ts"],"names":[],"mappings":";;;AAAA,0DAAmD;AACnD,6CAA+C;AA2C/C,IAAiB,WAAW,
|
|
1
|
+
{"version":3,"file":"endpoint.js","sourceRoot":"","sources":["../../../src/api/endpoint.ts"],"names":[],"mappings":"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"}
|
|
@@ -35,5 +35,14 @@ var IEndpointInputContentType;
|
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
37
|
IEndpointInputContentType.tryApplyContentType = tryApplyContentType;
|
|
38
|
+
function createHooks() {
|
|
39
|
+
return {
|
|
40
|
+
beforeRequest: (config) => {
|
|
41
|
+
config.headers = config.headers || {};
|
|
42
|
+
tryApplyContentType(config._meta.api, config.headers);
|
|
43
|
+
},
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
IEndpointInputContentType.createHooks = createHooks;
|
|
38
47
|
})(IEndpointInputContentType || (exports.IEndpointInputContentType = IEndpointInputContentType = {}));
|
|
39
48
|
//# sourceMappingURL=contentType.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contentType.js","sourceRoot":"","sources":["../../../../src/api/extensions/contentType.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"contentType.js","sourceRoot":"","sources":["../../../../src/api/extensions/contentType.ts"],"names":[],"mappings":";;;AAwBA,IAAiB,yBAAyB,CA0CzC;AA1CD,WAAiB,yBAAyB;IACzB,kCAAQ,GAA4D,CAAwB,IAAO,EAAE,EAAE;QAChH,MAAM,GAAG,GAAG;YACR,WAAW,EAAE,SAAS;YACtB,eAAe,CAAgC,WAAmB;gBAC9D,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;gBAC/B,OAAO,IAAI,CAAC;YAChB,CAAC;YACD,MAAM;gBACF,IAAI,CAAC,WAAW,GAAG,kBAAkB,CAAC;gBACtC,OAAO,IAAI,CAAC;YAChB,CAAC;YACD,eAAe;gBACX,IAAI,CAAC,WAAW,GAAG,qBAAqB,CAAC;gBACzC,OAAO,IAAI,CAAC;YAChB,CAAC;YACD,YAAY;gBACR,IAAI,CAAC,WAAW,GAAG,mCAAmC,CAAC;gBACvD,OAAO,IAAI,CAAC;YAChB,CAAC;SACyB,CAAC;QAC/B,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC,CAAC;IAEF,SAAgB,KAAK,CAAC,GAAkB;QACpC,OAAO,aAAa,IAAI,GAAG,CAAC;IAChC,CAAC;IAFe,+BAAK,QAEpB,CAAA;IAED,SAAgB,mBAAmB,CAAC,GAAkB,EAAE,OAA+B;QACnF,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;YAChC,OAAO,CAAC,cAAc,CAAC,GAAG,GAAG,CAAC,WAAW,CAAC;QAC9C,CAAC;IACL,CAAC;IAJe,6CAAmB,sBAIlC,CAAA;IAED,SAAgB,WAAW;QACvB,OAAO;YACH,aAAa,EAAE,CAAC,MAAM,EAAE,EAAE;gBACtB,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;gBACtC,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;YAC1D,CAAC;SACJ,CAAC;IACN,CAAC;IAPe,qCAAW,cAO1B,CAAA;AACL,CAAC,EA1CgB,yBAAyB,yCAAzB,yBAAyB,QA0CzC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.IEndpointHooks = void 0;
|
|
4
|
+
var IEndpointHooks;
|
|
5
|
+
(function (IEndpointHooks) {
|
|
6
|
+
IEndpointHooks.extender = (base) => {
|
|
7
|
+
const ext = {
|
|
8
|
+
hooks: undefined,
|
|
9
|
+
withHooks(hooks) {
|
|
10
|
+
this.hooks = hooks;
|
|
11
|
+
return this;
|
|
12
|
+
},
|
|
13
|
+
};
|
|
14
|
+
return Object.assign(base, ext);
|
|
15
|
+
};
|
|
16
|
+
function guard(api) {
|
|
17
|
+
return 'hooks' in api;
|
|
18
|
+
}
|
|
19
|
+
IEndpointHooks.guard = guard;
|
|
20
|
+
function createHooks() {
|
|
21
|
+
return {
|
|
22
|
+
beforeConfig: (api, body, pathParams, queryParams) => {
|
|
23
|
+
if (guard(api) && api.hooks?.beforeConfig) {
|
|
24
|
+
return api.hooks.beforeConfig(api, body, pathParams, queryParams);
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
beforeRequest: (config) => {
|
|
28
|
+
if (guard(config._meta.api) && config._meta.api.hooks?.beforeRequest) {
|
|
29
|
+
return config._meta.api.hooks.beforeRequest(config);
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
afterResponse: (config, response) => {
|
|
33
|
+
if (guard(config._meta.api) && config._meta.api.hooks?.afterResponse) {
|
|
34
|
+
return config._meta.api.hooks.afterResponse(config, response);
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
IEndpointHooks.createHooks = createHooks;
|
|
40
|
+
})(IEndpointHooks || (exports.IEndpointHooks = IEndpointHooks = {}));
|
|
41
|
+
//# sourceMappingURL=endpointHooks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"endpointHooks.js","sourceRoot":"","sources":["../../../../src/api/extensions/endpointHooks.ts"],"names":[],"mappings":";;;AAcA,IAAiB,cAAc,CAmC9B;AAnCD,WAAiB,cAAc;IACd,uBAAQ,GAAiD,CAAwB,IAAO,EAAE,EAAE;QACrG,MAAM,GAAG,GAAG;YACR,KAAK,EAAE,SAAS;YAChB,SAAS,CAAgC,KAAkB;gBACvD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;gBACnB,OAAO,IAAI,CAAC;YAChB,CAAC;SACc,CAAC;QACpB,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC,CAAC;IAEF,SAAgB,KAAK,CAAC,GAAkB;QACpC,OAAO,OAAO,IAAI,GAAG,CAAC;IAC1B,CAAC;IAFe,oBAAK,QAEpB,CAAA;IAED,SAAgB,WAAW;QACvB,OAAO;YACH,YAAY,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,EAAE;gBACjD,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC;oBACxC,OAAO,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;gBACtE,CAAC;YACL,CAAC;YACD,aAAa,EAAE,CAAC,MAAM,EAAE,EAAE;gBACtB,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,aAAa,EAAE,CAAC;oBACnE,OAAO,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;gBACxD,CAAC;YACL,CAAC;YACD,aAAa,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE;gBAChC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,aAAa,EAAE,CAAC;oBACnE,OAAO,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE,QAAQ,CAA+B,CAAC;gBAChG,CAAC;YACL,CAAC;SACJ,CAAC;IACN,CAAC;IAlBe,0BAAW,cAkB1B,CAAA;AACL,CAAC,EAnCgB,cAAc,8BAAd,cAAc,QAmC9B"}
|
|
@@ -3,4 +3,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
4
|
tslib_1.__exportStar(require("./contentType.js"), exports);
|
|
5
5
|
tslib_1.__exportStar(require("./validation.js"), exports);
|
|
6
|
+
tslib_1.__exportStar(require("./endpointHooks.js"), exports);
|
|
6
7
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/api/extensions/index.ts"],"names":[],"mappings":";;;AAAA,2DAAiC;AACjC,0DAAgC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/api/extensions/index.ts"],"names":[],"mappings":";;;AAAA,2DAAiC;AACjC,0DAAgC;AAChC,6DAAmC"}
|
|
@@ -23,5 +23,13 @@ var IEndpointInputValidation;
|
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
25
|
IEndpointInputValidation.tryValidate = tryValidate;
|
|
26
|
+
function createHooks() {
|
|
27
|
+
return {
|
|
28
|
+
beforeConfig: (api, body) => {
|
|
29
|
+
return tryValidate(api, body);
|
|
30
|
+
},
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
IEndpointInputValidation.createHooks = createHooks;
|
|
26
34
|
})(IEndpointInputValidation || (exports.IEndpointInputValidation = IEndpointInputValidation = {}));
|
|
27
35
|
//# sourceMappingURL=validation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../../src/api/extensions/validation.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../../src/api/extensions/validation.ts"],"names":[],"mappings":";;;AAWA,IAAiB,wBAAwB,CAgCxC;AAhCD,WAAiB,wBAAwB;IAGxB,iCAAQ,GAA2D,CAAwB,IAAO,EAAE,EAAE;QAE/G,MAAM,GAAG,GAAG;YACR,QAAQ,EAAE,SAAS;YACnB,cAAc,CAA8B,QAA+C;gBACvF,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;gBACzB,OAAO,IAAoC,CAAC;YAChD,CAAC;SACwB,CAAC;QAC9B,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC,CAAC;IAEF,SAAgB,KAAK,CAAC,GAAkB;QACpC,OAAO,UAAU,IAAI,GAAG,CAAC;IAC7B,CAAC;IAFe,8BAAK,QAEpB,CAAA;IAED,SAAgB,WAAW,CAAC,GAAkB,EAAE,KAAgB;QAC5D,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;YAC7B,OAAO,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;IACL,CAAC;IAJe,oCAAW,cAI1B,CAAA;IAED,SAAgB,WAAW;QACvB,OAAO;YACH,YAAY,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;gBACxB,OAAO,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAClC,CAAC;SACJ,CAAC;IACN,CAAC;IANe,oCAAW,cAM1B,CAAA;AACL,CAAC,EAhCgB,wBAAwB,wCAAxB,wBAAwB,QAgCxC"}
|
package/cjs/api/hooks.js
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CallerHooks = void 0;
|
|
4
|
+
var CallerHooks;
|
|
5
|
+
(function (CallerHooks) {
|
|
6
|
+
// by default, no adapter, previous value is not affecting the next one
|
|
7
|
+
const Adapters = {
|
|
8
|
+
beforeRequest: async (prev, next, arg) => next(await prev ?? arg),
|
|
9
|
+
afterResponse: async (prev, next, config, response) => {
|
|
10
|
+
const nextResponse = await prev ?? response;
|
|
11
|
+
return next(config, nextResponse);
|
|
12
|
+
},
|
|
13
|
+
};
|
|
14
|
+
function merge(items) {
|
|
15
|
+
const result = {};
|
|
16
|
+
if (!items) {
|
|
17
|
+
return result;
|
|
18
|
+
}
|
|
19
|
+
if (!Array.isArray(items)) {
|
|
20
|
+
Object.assign(result, items);
|
|
21
|
+
return result;
|
|
22
|
+
}
|
|
23
|
+
const mergeOne = (key, value, adapter) => {
|
|
24
|
+
if (!value) {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
const current = result[key];
|
|
28
|
+
if (!current) {
|
|
29
|
+
result[key] = value;
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
const prevHook = current;
|
|
33
|
+
const nextHook = value;
|
|
34
|
+
const res = async (...args) => {
|
|
35
|
+
const prev = await prevHook(...args);
|
|
36
|
+
if (!adapter) {
|
|
37
|
+
return nextHook(...args);
|
|
38
|
+
}
|
|
39
|
+
return adapter(prev, value, ...args);
|
|
40
|
+
};
|
|
41
|
+
result[key] = res;
|
|
42
|
+
};
|
|
43
|
+
items.forEach(item => {
|
|
44
|
+
Object.entries(item).forEach(([k, value]) => {
|
|
45
|
+
if (!value) {
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
const key = k;
|
|
49
|
+
mergeOne(key, value, Adapters[key]);
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
return result;
|
|
53
|
+
}
|
|
54
|
+
CallerHooks.merge = merge;
|
|
55
|
+
})(CallerHooks || (exports.CallerHooks = CallerHooks = {}));
|
|
56
|
+
//# sourceMappingURL=hooks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../../src/api/hooks.ts"],"names":[],"mappings":";;;AAwCA,IAAiB,WAAW,CAkF3B;AAlFD,WAAiB,WAAW;IAUxB,uEAAuE;IACvE,MAAM,QAAQ,GAA4B;QACtC,aAAa,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,GAAG,CAAC;QACjE,aAAa,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE;YAClD,MAAM,YAAY,GAAG,MAAM,IAAI,IAAI,QAAQ,CAAC;YAC5C,OAAO,IAAI,CAAC,MAAM,EAAE,YAAmB,CAAC,CAAC;QAC7C,CAAC;KACJ,CAAC;IAEF,SAAgB,KAAK,CAAwB,KAA4D;QACrG,MAAM,MAAM,GAAwB,EAAG,CAAC;QACxC,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,OAAO,MAAM,CAAC;QAClB,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACxB,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAC7B,OAAO,MAAM,CAAC;QAClB,CAAC;QAKD,MAAM,QAAQ,GAAG,CACb,GAAM,EACN,KAAkB,EAClB,OAAmF,EACrF,EAAE;YACA,IAAI,CAAC,KAAK,EAAE,CAAC;gBACT,OAAO;YACX,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YAC5B,IAAI,CAAC,OAAO,EAAE,CAAC;gBACX,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBACpB,OAAO;YACX,CAAC;YAID,MAAM,QAAQ,GAAG,OAAmB,CAAC;YACrC,MAAM,QAAQ,GAAG,KAAiB,CAAC;YAEnC,MAAM,GAAG,GAAG,KAAK,EAAE,GAAG,IAAmB,EAAE,EAAE;gBACzC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC;gBACrC,IAAI,CAAC,OAAO,EAAE,CAAC;oBACX,OAAO,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC;gBAC7B,CAAC;gBAED,OAAO,OAAO,CACV,IAAI,EACJ,KAAK,EACL,GAAG,IAAI,CACV,CAAC;YACN,CAAC,CAAC;YAEF,MAAM,CAAC,GAAG,CAAC,GAAG,GAAY,CAAC;QAC/B,CAAC,CAAC;QAEF,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACjB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE;gBACxC,IAAI,CAAC,KAAK,EAAE,CAAC;oBACT,OAAO;gBACX,CAAC;gBAED,MAAM,GAAG,GAAG,CAAa,CAAC;gBAC1B,QAAQ,CAAC,GAAG,EAAE,KAAuB,EAAE,QAAQ,CAAC,GAAG,CAAoC,CAAC,CAAC;YAC7F,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAClB,CAAC;IA9De,iBAAK,QA8DpB,CAAA;AACL,CAAC,EAlFgB,WAAW,2BAAX,WAAW,QAkF3B"}
|
package/cjs/api/index.js
CHANGED
|
@@ -1,20 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.LogTypes = exports.
|
|
3
|
+
exports.LogTypes = exports.createEndpointCallable = exports.buildApi = exports.buildApiCaller = exports.EndpointMethods = exports.ApiEndpoint = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
var endpoint_js_1 = require("./endpoint.js");
|
|
6
6
|
Object.defineProperty(exports, "ApiEndpoint", { enumerable: true, get: function () { return endpoint_js_1.ApiEndpoint; } });
|
|
7
7
|
var methods_js_1 = require("./methods.js");
|
|
8
8
|
Object.defineProperty(exports, "EndpointMethods", { enumerable: true, get: function () { return methods_js_1.EndpointMethods; } });
|
|
9
|
-
tslib_1.__exportStar(require("./
|
|
9
|
+
tslib_1.__exportStar(require("./config.js"), exports);
|
|
10
10
|
var call_js_1 = require("./call.js");
|
|
11
11
|
Object.defineProperty(exports, "buildApiCaller", { enumerable: true, get: function () { return call_js_1.buildApiCaller; } });
|
|
12
12
|
var builder_js_1 = require("./builder.js");
|
|
13
13
|
Object.defineProperty(exports, "buildApi", { enumerable: true, get: function () { return builder_js_1.buildApi; } });
|
|
14
14
|
Object.defineProperty(exports, "createEndpointCallable", { enumerable: true, get: function () { return builder_js_1.createEndpointCallable; } });
|
|
15
|
-
var register_js_1 = require("./register.js");
|
|
16
|
-
Object.defineProperty(exports, "registerPostProcessor", { enumerable: true, get: function () { return register_js_1.registerPostProcessor; } });
|
|
17
|
-
Object.defineProperty(exports, "registerPreProcessor", { enumerable: true, get: function () { return register_js_1.registerPreProcessor; } });
|
|
18
15
|
var logging_js_1 = require("./logging.js");
|
|
19
16
|
Object.defineProperty(exports, "LogTypes", { enumerable: true, get: function () { return logging_js_1.LogTypes; } });
|
|
17
|
+
tslib_1.__exportStar(require("./hooks.js"), exports);
|
|
18
|
+
tslib_1.__exportStar(require("./interceptor.js"), exports);
|
|
20
19
|
//# sourceMappingURL=index.js.map
|
package/cjs/api/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/index.ts"],"names":[],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/index.ts"],"names":[],"mappings":";;;;AACA,6CAA4C;AAAnC,0GAAA,WAAW,OAAA;AAEpB,2CAA+C;AAAtC,6GAAA,eAAe,OAAA;AACxB,sDAA4B;AAE5B,qCAA2C;AAAlC,yGAAA,cAAc,OAAA;AACvB,2CAAgE;AAAvD,sGAAA,QAAQ,OAAA;AAAE,oHAAA,sBAAsB,OAAA;AACzC,2CAAwC;AAA/B,sGAAA,QAAQ,OAAA;AACjB,qDAA2B;AAC3B,2DAAiC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createInterceptor = createInterceptor;
|
|
4
|
+
const event_js_1 = require("../observing/event.js");
|
|
5
|
+
const hookKeys = ['beforeRequest', 'beforeConfig', 'afterResponse'];
|
|
6
|
+
const eventKeys = hookKeys.map(k => `intercept${k.charAt(0).toUpperCase() + k.slice(1)}`);
|
|
7
|
+
/**
|
|
8
|
+
* Experimental. Creates linked caller hooks and interception events.
|
|
9
|
+
*
|
|
10
|
+
* Use hooks to recieve events and events to subscribe to them externally.
|
|
11
|
+
*/
|
|
12
|
+
function createInterceptor() {
|
|
13
|
+
const events = eventKeys.reduce((acc, key) => {
|
|
14
|
+
acc[key] = new event_js_1.Event();
|
|
15
|
+
return acc;
|
|
16
|
+
}, {});
|
|
17
|
+
const hooks = hookKeys.reduce((acc, key, index) => {
|
|
18
|
+
acc[key] = async (...args) => {
|
|
19
|
+
const event = events[eventKeys[index]];
|
|
20
|
+
await event.triggerAsync(args);
|
|
21
|
+
};
|
|
22
|
+
return acc;
|
|
23
|
+
}, {});
|
|
24
|
+
return {
|
|
25
|
+
hooks,
|
|
26
|
+
events,
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=interceptor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interceptor.js","sourceRoot":"","sources":["../../../src/api/interceptor.ts"],"names":[],"mappings":";;AAcA,8CAmBC;AAjCD,oDAA2D;AAM3D,MAAM,QAAQ,GAAG,CAAC,eAAe,EAAE,cAAc,EAAE,eAAe,CAA0C,CAAC;AAC7G,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAsC,CAAC;AAE/H;;;;GAIG;AACH,SAAgB,iBAAiB;IAE7B,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QACzC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,gBAAK,EAAE,CAAC;QACvB,OAAO,GAAG,CAAC;IACf,CAAC,EAAE,EAA0B,CAAC,CAAC;IAE/B,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE;QAC9C,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,EAAE,GAAG,IAAe,EAAE,EAAE;YACpC,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAU,CAAC;YAChD,MAAM,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC,CAAC;QACF,OAAO,GAAG,CAAC;IACf,CAAC,EAAE,EAAyB,CAAC,CAAC;IAE9B,OAAO;QACH,KAAK;QACL,MAAM;KACT,CAAC;AACN,CAAC"}
|
package/cjs/api/logging.js
CHANGED
|
@@ -31,10 +31,10 @@ var LogTypes;
|
|
|
31
31
|
}
|
|
32
32
|
LogTypes.getIsEnabled = getIsEnabled;
|
|
33
33
|
function logCall(logger, cfg, dir, data) {
|
|
34
|
-
if (!cfg.
|
|
34
|
+
if (!cfg._meta.api || (dir === 'req' && cfg._meta.api.method === methods_js_1.EndpointMethods.GET && cfg.data == null)) {
|
|
35
35
|
return;
|
|
36
36
|
}
|
|
37
|
-
const info = LogTypes.getIsEnabled(cfg.
|
|
37
|
+
const info = LogTypes.getIsEnabled(cfg._meta.log, dir);
|
|
38
38
|
if (!info.enabled) {
|
|
39
39
|
return;
|
|
40
40
|
}
|
|
@@ -44,7 +44,7 @@ var LogTypes;
|
|
|
44
44
|
const prefix = dir === 'req'
|
|
45
45
|
? 'REQ ====>'
|
|
46
46
|
: 'RES <====';
|
|
47
|
-
logger.log(prefix, cfg.
|
|
47
|
+
logger.log(prefix, cfg._meta.api.method, cfg.url, dataLogged);
|
|
48
48
|
}
|
|
49
49
|
LogTypes.logCall = logCall;
|
|
50
50
|
})(LogTypes || (exports.LogTypes = LogTypes = {}));
|
package/cjs/api/logging.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logging.js","sourceRoot":"","sources":["../../../src/api/logging.ts"],"names":[],"mappings":";;;AAGA,6CAA+C;AAW/C,IAAiB,QAAQ,CAwExB;AAxED,WAAiB,QAAQ;IAIrB;;;;MAIE;IACF,SAAgB,YAAY,CAAc,IAAwB,EAAE,GAAQ;QACxE,IAAI,IAAI,EAAE,CAAC;YACP,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACnD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAC7B,CAAC;YAED,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;gBACtB,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;oBACf,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;gBAC7B,CAAC;gBAED,IAAI,OAAO,GAAG,KAAK,UAAU,EAAE,CAAC;oBAC5B,OAAO;wBACH,OAAO,EAAE,IAAI;wBACb,SAAS,EAAE,GAAG;qBACjB,CAAC;gBACN,CAAC;YACL,CAAC;QACL,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC9B,CAAC;IAtBe,qBAAY,eAsB3B,CAAA;IAmBD,SAAgB,OAAO,CAAC,MAAe,EAAE,
|
|
1
|
+
{"version":3,"file":"logging.js","sourceRoot":"","sources":["../../../src/api/logging.ts"],"names":[],"mappings":";;;AAGA,6CAA+C;AAW/C,IAAiB,QAAQ,CAwExB;AAxED,WAAiB,QAAQ;IAIrB;;;;MAIE;IACF,SAAgB,YAAY,CAAc,IAAwB,EAAE,GAAQ;QACxE,IAAI,IAAI,EAAE,CAAC;YACP,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACnD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAC7B,CAAC;YAED,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;gBACtB,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;oBACf,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;gBAC7B,CAAC;gBAED,IAAI,OAAO,GAAG,KAAK,UAAU,EAAE,CAAC;oBAC5B,OAAO;wBACH,OAAO,EAAE,IAAI;wBACb,SAAS,EAAE,GAAG;qBACjB,CAAC;gBACN,CAAC;YACL,CAAC;QACL,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC9B,CAAC;IAtBe,qBAAY,eAsB3B,CAAA;IAmBD,SAAgB,OAAO,CAAC,MAAe,EAAE,GAAmB,EAAE,GAAiB,EAAE,IAAc;QAC3F,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,KAAK,KAAK,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,KAAK,4BAAe,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC;YACxG,OAAO;QACX,CAAC;QAED,MAAM,IAAI,GAAG,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACvD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAChB,OAAO;QACX,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS;YAC7B,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC;YAClC,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;QAEzB,MAAM,MAAM,GAAG,GAAG,KAAK,KAAK;YACxB,CAAC,CAAC,WAAW;YACb,CAAC,CAAC,WAAW,CAAC;QAElB,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IAClE,CAAC;IAnBe,gBAAO,UAmBtB,CAAA;AAGL,CAAC,EAxEgB,QAAQ,wBAAR,QAAQ,QAwExB"}
|
package/cjs/functions/assert.js
CHANGED
|
@@ -1,20 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.assert =
|
|
3
|
+
exports.assert = void 0;
|
|
4
|
+
exports.createAssert = createAssert;
|
|
4
5
|
const tslib_1 = require("tslib");
|
|
5
6
|
const index_js_1 = require("../types/index.js");
|
|
6
|
-
const
|
|
7
|
-
function
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
7
|
+
const shared_js_1 = tslib_1.__importDefault(require("../logger/shared.js"));
|
|
8
|
+
function createAssert(logger) {
|
|
9
|
+
return function assert(condition, error, objectToLog) {
|
|
10
|
+
if (condition) {
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
const e = index_js_1.Getter.toValue(error);
|
|
14
|
+
if (objectToLog) {
|
|
15
|
+
logger.error('Assertion failed:', e, index_js_1.Getter.toValue(objectToLog));
|
|
16
|
+
}
|
|
17
|
+
if (typeof e === 'string') {
|
|
18
|
+
throw new Error(e);
|
|
19
|
+
}
|
|
20
|
+
throw e;
|
|
21
|
+
};
|
|
19
22
|
}
|
|
23
|
+
exports.assert = createAssert(shared_js_1.default);
|
|
20
24
|
//# sourceMappingURL=assert.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assert.js","sourceRoot":"","sources":["../../../src/functions/assert.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"assert.js","sourceRoot":"","sources":["../../../src/functions/assert.ts"],"names":[],"mappings":";;;AAMA,oCAiBC;;AAvBD,gDAA2C;AAC3C,4EAAyC;AAKzC,SAAgB,YAAY,CAAC,MAAe;IACxC,OAAO,SAAS,MAAM,CAAC,SAAkB,EAAE,KAA6B,EAAE,WAAyB;QAC/F,IAAI,SAAS,EAAE,CAAC;YACZ,OAAO;QACX,CAAC;QAED,MAAM,CAAC,GAAG,iBAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,WAAW,EAAE,CAAC;YACd,MAAM,CAAC,KAAK,CAAC,mBAAmB,EAAE,CAAC,EAAE,iBAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;QACtE,CAAC;QAED,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;QACvB,CAAC;QAED,MAAM,CAAC,CAAC;IACZ,CAAC,CAAC;AACN,CAAC;AAEY,QAAA,MAAM,GAAa,YAAY,CAAC,mBAAM,CAAC,CAAC"}
|