@venizia/ardor-kernel 0.1.4-4 → 0.1.4-5
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/README.md +2 -2
- package/dist/base/applications/abstract.d.ts.map +1 -1
- package/dist/base/applications/abstract.js +8 -1
- package/dist/base/applications/abstract.js.map +1 -1
- package/dist/base/decorators/api.d.ts +1 -1
- package/dist/base/decorators/api.d.ts.map +1 -1
- package/dist/base/decorators/api.js +3 -3
- package/dist/base/decorators/api.js.map +1 -1
- package/dist/base/services/auth.d.ts.map +1 -1
- package/dist/base/services/auth.js +6 -2
- package/dist/base/services/auth.js.map +1 -1
- package/dist/base/services/base.d.ts +2 -6
- package/dist/base/services/base.d.ts.map +1 -1
- package/dist/base/services/base.js +2 -5
- package/dist/base/services/base.js.map +1 -1
- package/dist/base/services/network-request.d.ts +75 -29
- package/dist/base/services/network-request.d.ts.map +1 -1
- package/dist/base/services/network-request.js +208 -210
- package/dist/base/services/network-request.js.map +1 -1
- package/dist/common/constants.d.ts +11 -5
- package/dist/common/constants.d.ts.map +1 -1
- package/dist/common/constants.js +26 -9
- package/dist/common/constants.js.map +1 -1
- package/dist/common/keys.d.ts +2 -0
- package/dist/common/keys.d.ts.map +1 -1
- package/dist/common/keys.js +8 -0
- package/dist/common/keys.js.map +1 -1
- package/dist/common/types.d.ts +25 -48
- package/dist/common/types.d.ts.map +1 -1
- package/dist/helpers/logger.d.ts +21 -15
- package/dist/helpers/logger.d.ts.map +1 -1
- package/dist/helpers/logger.js +20 -15
- package/dist/helpers/logger.js.map +1 -1
- package/dist/helpers/networks/base-request.d.ts +7 -7
- package/dist/helpers/networks/base-request.d.ts.map +1 -1
- package/dist/helpers/networks/base-request.js.map +1 -1
- package/dist/helpers/networks/fetchers/abstract.d.ts +25 -21
- package/dist/helpers/networks/fetchers/abstract.d.ts.map +1 -1
- package/dist/helpers/networks/fetchers/abstract.js +16 -18
- package/dist/helpers/networks/fetchers/abstract.js.map +1 -1
- package/dist/helpers/networks/fetchers/node-fetch.d.ts +1 -2
- package/dist/helpers/networks/fetchers/node-fetch.d.ts.map +1 -1
- package/dist/helpers/networks/fetchers/node-fetch.js +6 -8
- package/dist/helpers/networks/fetchers/node-fetch.js.map +1 -1
- package/dist/helpers/networks/headers.d.ts +16 -0
- package/dist/helpers/networks/headers.d.ts.map +1 -0
- package/dist/helpers/networks/headers.js +32 -0
- package/dist/helpers/networks/headers.js.map +1 -0
- package/dist/helpers/networks/index.d.ts +1 -0
- package/dist/helpers/networks/index.d.ts.map +1 -1
- package/dist/helpers/networks/index.js +1 -0
- package/dist/helpers/networks/index.js.map +1 -1
- package/dist/helpers/socket-io-client.d.ts +6 -3
- package/dist/helpers/socket-io-client.d.ts.map +1 -1
- package/dist/helpers/socket-io-client.js +30 -3
- package/dist/helpers/socket-io-client.js.map +1 -1
- package/dist/utilities/boolean.d.ts +16 -5
- package/dist/utilities/boolean.d.ts.map +1 -1
- package/dist/utilities/boolean.js +13 -10
- package/dist/utilities/boolean.js.map +1 -1
- package/dist/utilities/file.d.ts +4 -1
- package/dist/utilities/file.d.ts.map +1 -1
- package/dist/utilities/file.js +8 -7
- package/dist/utilities/file.js.map +1 -1
- package/dist/utilities/parse.d.ts +46 -14
- package/dist/utilities/parse.d.ts.map +1 -1
- package/dist/utilities/parse.js +69 -83
- package/dist/utilities/parse.js.map +1 -1
- package/dist/utilities/url.d.ts +7 -4
- package/dist/utilities/url.d.ts.map +1 -1
- package/dist/utilities/url.js +13 -19
- package/dist/utilities/url.js.map +1 -1
- package/package.json +13 -13
package/README.md
CHANGED
|
@@ -19,10 +19,10 @@ which re-exports this package.
|
|
|
19
19
|
| Providers | `BaseProvider` |
|
|
20
20
|
| Decorators | `api()` - logs and rethrows a failing API method |
|
|
21
21
|
| Bindings | `CoreBindings`, `LocalStorageKeys` |
|
|
22
|
-
| Constants | `RequestMethods`, `RequestTypes`, `RequestBodyTypes`, `RequestCountData`, `
|
|
22
|
+
| Constants | `RequestMethods`, `RequestTypes`, `RequestBodyTypes`, `RequestCountData`, `HeaderConstants`, `Environments`, `App` |
|
|
23
23
|
| Network | `BaseNetworkRequest`, `NodeFetchNetworkRequest`, `NodeFetcher` (fetch only) |
|
|
24
24
|
| Helpers | `Logger`, `BaseHelper`, `SocketIOClientHelper` |
|
|
25
|
-
| Utilities | `isDefined`, `isString`, `isNumber`, `isBrowser`, `isValidDate`, `isEditableTarget`, `
|
|
25
|
+
| Utilities | `isDefined`, `isString`, `isNumber`, `isObject`, `isBrowser`, `isValidDate`, `isEditableTarget`, `isInteger`, `isFloat`, `toInteger`, `toFloat`, `toBoolean`, `toStringDecimal`, `getNumberValue`, `generateUniqueId`, `toCamelCase`, `keysToCamelCase`, `toDataUrl`, `toQueryString`, `parseQueryString` |
|
|
26
26
|
| Types | `IdType`, `AnyType`, `AnyObject`, `ValueOrPromise`, `ValueOf`, `TConstValue`, `TPaths`, `TFullPaths`, `ISendParams`, `IRestDataProviderOptions`, `IApplicationInfo`, ... |
|
|
27
27
|
|
|
28
28
|
## License
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abstract.d.ts","sourceRoot":"","sources":["../../../src/base/applications/abstract.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,KAAK,OAAO,EAEZ,SAAS,EAET,KAAK,aAAa,EAClB,KAAK,MAAM,EACZ,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,cAAc,EACpB,MAAM,UAAU,CAAC;AAYlB,kGAAkG;AAClG,MAAM,WAAW,qBAAqB;IACpC,gEAAgE;IAChE,OAAO,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7C,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,kEAAkE;IAClE,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;;GAIG;AACH,8BAAsB,wBAAyB,SAAQ,SAAU,YAAW,iBAAiB;IAC3F,QAAQ,CAAC,WAAW,IAAI,cAAc,CAAC,IAAI,CAAC;IAC5C,QAAQ,CAAC,UAAU,IAAI,cAAc,CAAC,gBAAgB,CAAC;IAEvD,+FAA+F;IAC/F,OAAO,CAAC,eAAe,CAAoC;IAE3D,YAAY,IAAI,cAAc,CAAC,IAAI,CAAC;IAgBpC;;;;;OAKG;IACH,iBAAiB,IAAI,IAAI;IA4CzB,oEAAoE;IACpE,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IAI9C;;;OAGG;IACH,SAAS,IAAI,KAAK,CAAC,cAAc,CAAC;IAIlC,yFAAyF;IACzF,QAAQ,IAAI,KAAK,CAAC,YAAY,CAAC;IAI/B;;;;;OAKG;YACW,sBAAsB;IA8BpC;;;;;;;OAOG;IACH,OAAO,CAAC,aAAa;
|
|
1
|
+
{"version":3,"file":"abstract.d.ts","sourceRoot":"","sources":["../../../src/base/applications/abstract.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,KAAK,OAAO,EAEZ,SAAS,EAET,KAAK,aAAa,EAClB,KAAK,MAAM,EACZ,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,cAAc,EACpB,MAAM,UAAU,CAAC;AAYlB,kGAAkG;AAClG,MAAM,WAAW,qBAAqB;IACpC,gEAAgE;IAChE,OAAO,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7C,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,kEAAkE;IAClE,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;;GAIG;AACH,8BAAsB,wBAAyB,SAAQ,SAAU,YAAW,iBAAiB;IAC3F,QAAQ,CAAC,WAAW,IAAI,cAAc,CAAC,IAAI,CAAC;IAC5C,QAAQ,CAAC,UAAU,IAAI,cAAc,CAAC,gBAAgB,CAAC;IAEvD,+FAA+F;IAC/F,OAAO,CAAC,eAAe,CAAoC;IAE3D,YAAY,IAAI,cAAc,CAAC,IAAI,CAAC;IAgBpC;;;;;OAKG;IACH,iBAAiB,IAAI,IAAI;IA4CzB,oEAAoE;IACpE,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IAI9C;;;OAGG;IACH,SAAS,IAAI,KAAK,CAAC,cAAc,CAAC;IAIlC,yFAAyF;IACzF,QAAQ,IAAI,KAAK,CAAC,YAAY,CAAC;IAI/B;;;;;OAKG;YACW,sBAAsB;IA8BpC;;;;;;;OAOG;IACH,OAAO,CAAC,aAAa;IA8BrB;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAyBxB,aAAa,IAAI,cAAc,CAAC,IAAI,CAAC;IAErC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,CAAC,CAAC;IASvE,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,CAAC,CAAC;IAS1E,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,CAAC,CAAC;IAS1E,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,CAAC,CAAC;IASzE,sFAAsF;IACtF,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC;IAS7D,KAAK;IAMX,oGAAoG;IACpG,OAAO,CAAC,gBAAgB;CA0BzB;AAED,8BAAsB,oBAAqB,SAAQ,wBAAwB;CAAG"}
|
|
@@ -129,7 +129,14 @@ export class AbstractArdorApplication extends Container {
|
|
|
129
129
|
continue;
|
|
130
130
|
}
|
|
131
131
|
for (const kind of ArtifactIndexKinds) {
|
|
132
|
-
for (const target of index[kind] ?? []) {
|
|
132
|
+
for (const [position, target] of (index[kind] ?? []).entries()) {
|
|
133
|
+
// A cycle leaves `undefined` here: a bundler's eager class list is built while the module of
|
|
134
|
+
// the class is still evaluating. Say so, rather than fail on `.name` below.
|
|
135
|
+
if (typeof target !== 'function') {
|
|
136
|
+
throw getError({
|
|
137
|
+
message: `[artifacts] '${kind}' lists an entry that is not a class (position ${position}) | Usually an import cycle: the module that imports the index (or @venizia/ignis-boot/auto) must not define decorated classes or be imported by them`,
|
|
138
|
+
});
|
|
139
|
+
}
|
|
133
140
|
if (!discovered.has(target)) {
|
|
134
141
|
throw getError({
|
|
135
142
|
message: `[artifacts] '${kind}' lists ${target.name}, which was never discovered | Decorate it with its stereotype and regenerate the index`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abstract.js","sourceRoot":"","sources":["../../../src/base/applications/abstract.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"abstract.js","sourceRoot":"","sources":["../../../src/base/applications/abstract.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { type BaseService } from '../services/index.js';
|
|
2
2
|
/** Logs a failing method with its name, and its `resource` when the class has one, then rethrows. */
|
|
3
|
-
export declare
|
|
3
|
+
export declare const api: () => (_target: BaseService, propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
|
|
4
4
|
//# sourceMappingURL=api.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/base/decorators/api.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,qGAAqG;AACrG,
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/base/decorators/api.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,qGAAqG;AACrG,eAAO,MAAM,GAAG,SACN,SAAS,WAAW,EAAE,aAAa,MAAM,EAAE,YAAY,kBAAkB,uBAuBlF,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/** Logs a failing method with its name, and its `resource` when the class has one, then rethrows. */
|
|
2
|
-
export
|
|
3
|
-
return
|
|
2
|
+
export const api = () => {
|
|
3
|
+
return (_target, propertyKey, descriptor) => {
|
|
4
4
|
const originalMethod = descriptor.value;
|
|
5
5
|
descriptor.value = async function (...args) {
|
|
6
6
|
try {
|
|
@@ -13,5 +13,5 @@ export function api() {
|
|
|
13
13
|
};
|
|
14
14
|
return descriptor;
|
|
15
15
|
};
|
|
16
|
-
}
|
|
16
|
+
};
|
|
17
17
|
//# sourceMappingURL=api.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/base/decorators/api.ts"],"names":[],"mappings":"AAIA,qGAAqG;AACrG,MAAM,
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/base/decorators/api.ts"],"names":[],"mappings":"AAIA,qGAAqG;AACrG,MAAM,CAAC,MAAM,GAAG,GAAG,GAAG,EAAE;IACtB,OAAO,CAAC,OAAoB,EAAE,WAAmB,EAAE,UAA8B,EAAE,EAAE;QACnF,MAAM,cAAc,GAAG,UAAU,CAAC,KAAK,CAAC;QAExC,UAAU,CAAC,KAAK,GAAG,KAAK,WAEtB,GAAG,IAAe;YAElB,IAAI,CAAC;gBACH,OAAO,MAAM,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YACzD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,+BAA+B,EAC/B,WAAW,EACX,IAAI,CAAC,QAAQ,IAAI,GAAG,EACpB,KAAK,CACN,CAAC;gBAEF,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC,CAAC;QAEF,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/base/services/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAoB,MAAM,UAAU,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAErC,qBAAa,kBAAmB,SAAQ,WAAW;;IAKjD,OAAO;IAKP,QAAQ;IAMR,OAAO;
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/base/services/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAoB,MAAM,UAAU,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAErC,qBAAa,kBAAmB,SAAQ,WAAW;;IAKjD,OAAO;IAKP,QAAQ;IAMR,OAAO;IAeP,QAAQ,CAAC,IAAI,EAAE;QACb,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;QAExB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,WAAW,CAAC,EAAE,MAAM,CAAC;QAErB,KAAK,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC;QAEvC;;;WAGG;QACH,KAAK,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;KAC/B;IAgBD,OAAO;CASR"}
|
|
@@ -14,9 +14,13 @@ export class DefaultAuthService extends BaseService {
|
|
|
14
14
|
return new Set(roles);
|
|
15
15
|
}
|
|
16
16
|
getAuth() {
|
|
17
|
+
// Nothing stored is not an error: it is every visitor who has not signed in.
|
|
18
|
+
const stored = localStorage.getItem(LocalStorageKeys.KEY_AUTH_TOKEN);
|
|
19
|
+
if (stored === null) {
|
|
20
|
+
return null;
|
|
21
|
+
}
|
|
17
22
|
try {
|
|
18
|
-
|
|
19
|
-
return JSON.parse(encryptedToken);
|
|
23
|
+
return JSON.parse(stored);
|
|
20
24
|
}
|
|
21
25
|
catch (error) {
|
|
22
26
|
this.logger.error('[getAuth] Failed to parse stored auth token | error: %s', error);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/base/services/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,gBAAgB,EAAE,MAAM,UAAU,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAErC,MAAM,OAAO,kBAAmB,SAAQ,WAAW;IACjD;QACE,KAAK,CAAC,EAAE,KAAK,EAAE,kBAAkB,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO;QACL,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;QAC1E,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACxD,CAAC;IAED,QAAQ;QACN,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,CAAC;QAC1E,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACzD,OAAO,IAAI,GAAG,CAAS,KAAK,CAAC,CAAC;IAChC,CAAC;IAED,OAAO;QACL,
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/base/services/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,gBAAgB,EAAE,MAAM,UAAU,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAErC,MAAM,OAAO,kBAAmB,SAAQ,WAAW;IACjD;QACE,KAAK,CAAC,EAAE,KAAK,EAAE,kBAAkB,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO;QACL,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;QAC1E,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACxD,CAAC;IAED,QAAQ;QACN,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,CAAC;QAC1E,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACzD,OAAO,IAAI,GAAG,CAAS,KAAK,CAAC,CAAC;IAChC,CAAC;IAED,OAAO;QACL,6EAA6E;QAC7E,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;QACrE,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC5B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yDAAyD,EAAE,KAAK,CAAC,CAAC;YACpF,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,QAAQ,CAAC,IAcR;QACC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,GAAG,EAAE,EAAE,QAAQ,GAAG,EAAE,EAAE,WAAW,GAAG,EAAE,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QACtF,YAAY,CAAC,OAAO,CAClB,gBAAgB,CAAC,cAAc,EAC/B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CACvD,CAAC;QACF,YAAY,CAAC,OAAO,CAClB,gBAAgB,CAAC,iBAAiB,EAClC,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAC5D,CAAC;QAEF,IAAI,KAAK,EAAE,CAAC;YACV,YAAY,CAAC,OAAO,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QACpF,CAAC;IACH,CAAC;IAED,OAAO;QACL,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACxC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;gBACrE,OAAO;YACT,CAAC;YAED,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -1,8 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare class BaseService {
|
|
3
|
-
protected logger: Logger;
|
|
4
|
-
constructor(opts: {
|
|
5
|
-
scope: string;
|
|
6
|
-
});
|
|
1
|
+
import { BaseHelper } from '../../helpers/index.js';
|
|
2
|
+
export declare class BaseService extends BaseHelper {
|
|
7
3
|
}
|
|
8
4
|
//# sourceMappingURL=base.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/base/services/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/base/services/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,qBAAa,WAAY,SAAQ,UAAU;CAAG"}
|
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export class BaseService {
|
|
3
|
-
constructor(opts) {
|
|
4
|
-
this.logger = Logger.getInstance({ scope: opts.scope });
|
|
5
|
-
}
|
|
1
|
+
import { BaseHelper } from '../../helpers/index.js';
|
|
2
|
+
export class BaseService extends BaseHelper {
|
|
6
3
|
}
|
|
7
4
|
//# sourceMappingURL=base.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/base/services/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/base/services/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,MAAM,OAAO,WAAY,SAAQ,UAAU;CAAG"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type AnyType, type IAuthRecoveryOptions, type IGetRequestPropsParams, type IGetRequestPropsResult, type INoAuthOptions, RequestCountData, type TConstValue, type TNoAuthPathRegex, type TRequestMethod, type TRequestType } from '../../common/index.js';
|
|
1
|
+
import { type AnyType, type IApplicationInfo, type IAuthRecoveryOptions, type IGetRequestPropsParams, type IGetRequestPropsResult, type INoAuthOptions, RequestCountData, type TConstValue, type TNoAuthPathRegex, type TRequestMethod, type TRequestType } from '../../common/index.js';
|
|
2
2
|
import { NodeFetchNetworkRequest } from '../../helpers/index.js';
|
|
3
3
|
import { BaseService } from './base.js';
|
|
4
4
|
export interface IAuthTokenRecord {
|
|
@@ -6,13 +6,6 @@ export interface IAuthTokenRecord {
|
|
|
6
6
|
value: string;
|
|
7
7
|
provider?: string;
|
|
8
8
|
}
|
|
9
|
-
/** Where a token comes from when none was set on the service. */
|
|
10
|
-
export type TAuthTokenResolver = () => IAuthTokenRecord | undefined;
|
|
11
|
-
/**
|
|
12
|
-
* Reads the stored token, and `undefined` outside a browser. Also the resolver to hand
|
|
13
|
-
* `HttpDataSource`, so both transports send the same token.
|
|
14
|
-
*/
|
|
15
|
-
export declare const readAuthTokenFromStorage: TAuthTokenResolver;
|
|
16
9
|
/** What an `HttpDataSource` hook reads from the request it is asked about. */
|
|
17
10
|
export interface IDataSourceRequestContext {
|
|
18
11
|
paths: Array<string>;
|
|
@@ -28,10 +21,13 @@ export interface IDataSourceAuth {
|
|
|
28
21
|
onUnauthorized: (context: IDataSourceRequestContext) => Promise<boolean>;
|
|
29
22
|
errorRootKey: string;
|
|
30
23
|
}
|
|
24
|
+
/**
|
|
25
|
+
* The options hold data: the base URL, headers, the no-auth lists and the refresh path. Behaviour
|
|
26
|
+
* is in the protected hooks, each taking one `opts` object - `resolveAuthToken`, `isNoAuthPath`,
|
|
27
|
+
* `refreshToken`, `onAuthFailure` and `buildRequestTracingId` - which a subclass overrides, and
|
|
28
|
+
* `DefaultRestDataProvider.createNetworkService` returns.
|
|
29
|
+
*/
|
|
31
30
|
export declare class DefaultNetworkRequestService extends BaseService {
|
|
32
|
-
protected authToken?: IAuthTokenRecord;
|
|
33
|
-
protected authTokenResolver: TAuthTokenResolver;
|
|
34
|
-
protected useAuth: boolean;
|
|
35
31
|
protected noAuthPaths?: string[];
|
|
36
32
|
protected noAuthPathRegexes: RegExp[];
|
|
37
33
|
protected headers: Record<string, string>;
|
|
@@ -44,40 +40,71 @@ export declare class DefaultNetworkRequestService extends BaseService {
|
|
|
44
40
|
baseUrl?: string;
|
|
45
41
|
headers?: HeadersInit;
|
|
46
42
|
authRecovery?: IAuthRecoveryOptions;
|
|
47
|
-
authTokenResolver?: TAuthTokenResolver;
|
|
48
43
|
});
|
|
49
|
-
|
|
44
|
+
/**
|
|
45
|
+
* Reads the stored token, and `undefined` outside a browser. The default of `resolveAuthToken`,
|
|
46
|
+
* and what to hand an `HttpDataSource` as its `authTokenResolver`, so both transports send the
|
|
47
|
+
* same token.
|
|
48
|
+
*/
|
|
49
|
+
static readAuthTokenFromStorage(): IAuthTokenRecord | undefined;
|
|
50
|
+
/**
|
|
51
|
+
* The token this service sends. The one way to supply a token: override it to read another
|
|
52
|
+
* store, or to hold the token in memory.
|
|
53
|
+
*/
|
|
54
|
+
protected resolveAuthToken(): IAuthTokenRecord | undefined;
|
|
55
|
+
/**
|
|
56
|
+
* Whether a request goes without a token: its `resource` is in `noAuthPaths`, or the resource, or
|
|
57
|
+
* the joined `paths`, matches `noAuthPathRegex`. To send no token at all (an API with no sign-in),
|
|
58
|
+
* set `noAuthPathRegex: /./`.
|
|
59
|
+
*/
|
|
60
|
+
protected isNoAuthPath(opts: {
|
|
50
61
|
resource?: string;
|
|
51
62
|
paths?: string[];
|
|
52
63
|
}): boolean;
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
64
|
+
/**
|
|
65
|
+
* Refreshes the session after a 401. Resolve `true` once it is refreshed - the request is then
|
|
66
|
+
* retried with the new token; resolve `false` when this service has no refresh (the default); throw
|
|
67
|
+
* when the refresh failed, and `onAuthFailure` runs. A request to `authRecovery.refreshTokenPath`
|
|
68
|
+
* never gets here.
|
|
69
|
+
*/
|
|
70
|
+
protected refreshToken(): Promise<boolean>;
|
|
71
|
+
/** Runs once when `refreshToken` threw. The place to send the user back to sign-in. */
|
|
72
|
+
protected onAuthFailure(): Promise<void>;
|
|
73
|
+
/** The tracing id of a request, sent in `x-request-tracing-id`. Default `<application name>_<uuid>`. */
|
|
74
|
+
protected buildRequestTracingId(opts: {
|
|
75
|
+
applicationInfo: IApplicationInfo;
|
|
76
|
+
}): string;
|
|
77
|
+
/** `noAuthPathRegex` as `RegExp`s; a string is compiled, and an invalid one is logged and dropped. */
|
|
78
|
+
protected compileNoAuthPathRegex(opts: {
|
|
79
|
+
input?: TNoAuthPathRegex;
|
|
80
|
+
}): RegExp[];
|
|
81
|
+
/**
|
|
82
|
+
* Refreshes the session, once for every 401 in flight on either transport: the callers share one
|
|
83
|
+
* `refreshToken` call. `true` when the token was refreshed. Also what `DefaultAuthProvider.refreshToken`
|
|
84
|
+
* calls, so a refresh is made in one place.
|
|
85
|
+
*/
|
|
86
|
+
refresh(): Promise<boolean>;
|
|
57
87
|
private canRecover;
|
|
58
|
-
/** The token this service sends: the one `setAuthToken` set, else the resolver's. */
|
|
59
|
-
resolveAuthToken(): IAuthTokenRecord | undefined;
|
|
60
88
|
/**
|
|
61
89
|
* Spread into an `HttpDataSource`'s settings. Each of its requests then carries, as read at send
|
|
62
90
|
* time, the session headers (`setHeaders`) and the timezone; with the data provider's options,
|
|
63
91
|
* the request channel and tracing id too. A no-auth path gets no token and no refresh, as on the
|
|
64
|
-
* data provider. Any other 401 joins this service's refresh
|
|
65
|
-
* 401 in flight on either transport, `onAuthFailure` on a failed one, and no retry when
|
|
66
|
-
*
|
|
92
|
+
* data provider. Any other 401 joins this service's `refresh`: one `refreshToken` call for every
|
|
93
|
+
* 401 in flight on either transport, `onAuthFailure` on a failed one, and no retry when the
|
|
94
|
+
* service has no refresh. The refresh is shared, so one call's abort never cancels it.
|
|
67
95
|
*/
|
|
68
96
|
getDataSourceAuth(opts?: Pick<IGetRequestPropsParams, 'restDataProviderOptions' | 'applicationInfo'>): IDataSourceAuth;
|
|
69
97
|
getRequestAuthorizationHeader(): {
|
|
70
98
|
provider: string | undefined;
|
|
71
99
|
token: string;
|
|
72
100
|
};
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
101
|
+
/** Adds headers to every request this service sends; a name already set is replaced, in any case. */
|
|
102
|
+
setHeaders(opts: {
|
|
103
|
+
headers: HeadersInit;
|
|
104
|
+
}): void;
|
|
105
|
+
removeHeaders(opts: {
|
|
106
|
+
keys: string[];
|
|
76
107
|
}): void;
|
|
77
|
-
setAuthRecovery(authRecovery: Partial<IAuthRecoveryOptions>): void;
|
|
78
|
-
getAuthRecovery(): IAuthRecoveryOptions | undefined;
|
|
79
|
-
setHeaders(headers: HeadersInit): void;
|
|
80
|
-
removeHeaders(keys: string[]): void;
|
|
81
108
|
/** The timezone, then whatever `setHeaders` holds now. Both transports send these. */
|
|
82
109
|
protected getSessionHeaders(): Record<string, string>;
|
|
83
110
|
/** The request channel, `web` unless configured, and a fresh tracing id. */
|
|
@@ -85,6 +112,25 @@ export declare class DefaultNetworkRequestService extends BaseService {
|
|
|
85
112
|
getRequestHeader(opts: {
|
|
86
113
|
resource: string;
|
|
87
114
|
}): Record<string, string>;
|
|
115
|
+
protected isFileList(opts: {
|
|
116
|
+
value: unknown;
|
|
117
|
+
}): boolean;
|
|
118
|
+
/** A multipart text value: JSON for objects and arrays, ISO-8601 for a `Date`, `String()` otherwise. */
|
|
119
|
+
protected encodeFormValue(opts: {
|
|
120
|
+
key: string;
|
|
121
|
+
value: unknown;
|
|
122
|
+
bodyType: string;
|
|
123
|
+
}): string;
|
|
124
|
+
/** Skips only `undefined` and `null`: `0`, `false` and `''` are values the caller meant to send. */
|
|
125
|
+
protected appendFormDataValue(opts: {
|
|
126
|
+
formData: FormData;
|
|
127
|
+
key: string;
|
|
128
|
+
value: unknown;
|
|
129
|
+
}): void;
|
|
130
|
+
/** The file name a `Content-Disposition` header names, `filename*` before `filename`. */
|
|
131
|
+
protected parseFilenameFromContentDisposition(opts: {
|
|
132
|
+
header: string;
|
|
133
|
+
}): string | undefined;
|
|
88
134
|
getRequestProps(params: IGetRequestPropsParams): IGetRequestPropsResult;
|
|
89
135
|
/** The total from `Content-Range`, or the page's own row count when the header is absent or malformed. */
|
|
90
136
|
private resolveTotal;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"network-request.d.ts","sourceRoot":"","sources":["../../../src/base/services/network-request.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"network-request.d.ts","sourceRoot":"","sources":["../../../src/base/services/network-request.ts"],"names":[],"mappings":"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"}
|