@odx/angular 2.13.0 → 2.14.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/CHANGELOG.md +7 -0
- package/esm2020/sdk/index.mjs +2 -0
- package/esm2020/sdk/lib/application-environment.mjs +37 -0
- package/esm2020/sdk/odx-angular-sdk.mjs +5 -0
- package/fesm2015/odx-angular-sdk.mjs +47 -0
- package/fesm2015/odx-angular-sdk.mjs.map +1 -0
- package/fesm2020/odx-angular-sdk.mjs +44 -0
- package/fesm2020/odx-angular-sdk.mjs.map +1 -0
- package/package.json +11 -3
- package/sdk/README.md +3 -0
- package/sdk/index.d.ts +1 -0
- package/sdk/lib/application-environment.d.ts +9 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
# @odx/angular 2.14.0 (2023-10-06)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Features
|
|
5
|
+
|
|
6
|
+
* **angular/sdk:** add application environment ([165bcc9](https://dev.azure.com/draeger/ODXP/_git/odx-libraries/commit/165bcc991be66f84315215fd5ffcbdca2e87c8ce))
|
|
7
|
+
|
|
1
8
|
# @odx/angular 2.13.0 (2023-09-18)
|
|
2
9
|
|
|
3
10
|
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './lib/application-environment';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc2RrL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLCtCQUErQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwbGljYXRpb24tZW52aXJvbm1lbnQnO1xuIl19
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { APP_INITIALIZER, inject, InjectionToken, makeEnvironmentProviders } from '@angular/core';
|
|
2
|
+
export function createHttpApplicationEnvironmentLoader(handler) {
|
|
3
|
+
return (...args) => fetch(...args).then((res) => handler(res));
|
|
4
|
+
}
|
|
5
|
+
export async function loadApplicationEnvironment(loader, ...args) {
|
|
6
|
+
const environment = await loader(...args);
|
|
7
|
+
if (!environment) {
|
|
8
|
+
throw new Error('[@odx/angular/sdk] Failed load application environment');
|
|
9
|
+
}
|
|
10
|
+
return environment;
|
|
11
|
+
}
|
|
12
|
+
export function createApplicationEnvironment(loader) {
|
|
13
|
+
const APPLICATION_ENVIRONMENT = new InjectionToken('@odx/angular/sdk::ApplicationEnvironment');
|
|
14
|
+
let environment = null;
|
|
15
|
+
return {
|
|
16
|
+
provideApplicationEnvironment(...args) {
|
|
17
|
+
return makeEnvironmentProviders([
|
|
18
|
+
{
|
|
19
|
+
provide: APP_INITIALIZER,
|
|
20
|
+
useValue: async () => {
|
|
21
|
+
environment = await loadApplicationEnvironment(loader, ...args);
|
|
22
|
+
},
|
|
23
|
+
multi: true,
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
provide: APPLICATION_ENVIRONMENT,
|
|
27
|
+
useFactory: () => environment,
|
|
28
|
+
},
|
|
29
|
+
]);
|
|
30
|
+
},
|
|
31
|
+
injectApplicationEnvironment() {
|
|
32
|
+
return inject(APPLICATION_ENVIRONMENT);
|
|
33
|
+
},
|
|
34
|
+
APPLICATION_ENVIRONMENT,
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24tZW52aXJvbm1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc2RrL3NyYy9saWIvYXBwbGljYXRpb24tZW52aXJvbm1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBd0IsTUFBTSxFQUFFLGNBQWMsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUl4SCxNQUFNLFVBQVUsc0NBQXNDLENBQ3BELE9BQXlDO0lBRXpDLE9BQU8sQ0FBQyxHQUFHLElBQThCLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDM0YsQ0FBQztBQUVELE1BQU0sQ0FBQyxLQUFLLFVBQVUsMEJBQTBCLENBQzlDLE1BQWtELEVBQ2xELEdBQUcsSUFBWTtJQUVmLE1BQU0sV0FBVyxHQUFHLE1BQU0sTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDMUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtRQUNoQixNQUFNLElBQUksS0FBSyxDQUFDLHdEQUF3RCxDQUFDLENBQUM7S0FDM0U7SUFDRCxPQUFPLFdBQVcsQ0FBQztBQUNyQixDQUFDO0FBRUQsTUFBTSxVQUFVLDRCQUE0QixDQUFpQyxNQUFrRDtJQUM3SCxNQUFNLHVCQUF1QixHQUFHLElBQUksY0FBYyxDQUF5QiwwQ0FBMEMsQ0FBQyxDQUFDO0lBRXZILElBQUksV0FBVyxHQUFnQixJQUFJLENBQUM7SUFFcEMsT0FBTztRQUNMLDZCQUE2QixDQUFDLEdBQUcsSUFBK0I7WUFDOUQsT0FBTyx3QkFBd0IsQ0FBQztnQkFDOUI7b0JBQ0UsT0FBTyxFQUFFLGVBQWU7b0JBQ3hCLFFBQVEsRUFBRSxLQUFLLElBQUksRUFBRTt3QkFDbkIsV0FBVyxHQUFHLE1BQU0sMEJBQTBCLENBQUMsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7b0JBQ2xFLENBQUM7b0JBQ0QsS0FBSyxFQUFFLElBQUk7aUJBQ1o7Z0JBQ0Q7b0JBQ0UsT0FBTyxFQUFFLHVCQUF1QjtvQkFDaEMsVUFBVSxFQUFFLEdBQUcsRUFBRSxDQUFDLFdBQVc7aUJBQzlCO2FBQ0YsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUNELDRCQUE0QjtZQUMxQixPQUFPLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQ3pDLENBQUM7UUFDRCx1QkFBdUI7S0FDeEIsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBUFBfSU5JVElBTElaRVIsIEVudmlyb25tZW50UHJvdmlkZXJzLCBpbmplY3QsIEluamVjdGlvblRva2VuLCBtYWtlRW52aXJvbm1lbnRQcm92aWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IHR5cGUgQXBwbGljYXRpb25FbnZpcm9ubWVudExvYWRlcjxFbnZpcm9ubWVudERhdGEsIFBhcmFtcyBleHRlbmRzIHVua25vd25bXT4gPSAoLi4uYXJnczogUGFyYW1zKSA9PiBQcm9taXNlPEVudmlyb25tZW50RGF0YT47XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVIdHRwQXBwbGljYXRpb25FbnZpcm9ubWVudExvYWRlcjxEYXRhPihcbiAgaGFuZGxlcjogKHJlczogUmVzcG9uc2UpID0+IFByb21pc2U8RGF0YT4sXG4pOiBBcHBsaWNhdGlvbkVudmlyb25tZW50TG9hZGVyPERhdGEsIFBhcmFtZXRlcnM8dHlwZW9mIGZldGNoPj4ge1xuICByZXR1cm4gKC4uLmFyZ3M6IFBhcmFtZXRlcnM8dHlwZW9mIGZldGNoPikgPT4gZmV0Y2goLi4uYXJncykudGhlbigocmVzKSA9PiBoYW5kbGVyKHJlcykpO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbG9hZEFwcGxpY2F0aW9uRW52aXJvbm1lbnQ8RGF0YSwgUGFyYW1zIGV4dGVuZHMgdW5rbm93bltdPihcbiAgbG9hZGVyOiBBcHBsaWNhdGlvbkVudmlyb25tZW50TG9hZGVyPERhdGEsIFBhcmFtcz4sXG4gIC4uLmFyZ3M6IFBhcmFtc1xuKTogUHJvbWlzZTxEYXRhPiB7XG4gIGNvbnN0IGVudmlyb25tZW50ID0gYXdhaXQgbG9hZGVyKC4uLmFyZ3MpO1xuICBpZiAoIWVudmlyb25tZW50KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdbQG9keC9hbmd1bGFyL3Nka10gRmFpbGVkIGxvYWQgYXBwbGljYXRpb24gZW52aXJvbm1lbnQnKTtcbiAgfVxuICByZXR1cm4gZW52aXJvbm1lbnQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVBcHBsaWNhdGlvbkVudmlyb25tZW50PERhdGEsIFBhcmFtcyBleHRlbmRzIHVua25vd25bXT4obG9hZGVyOiBBcHBsaWNhdGlvbkVudmlyb25tZW50TG9hZGVyPERhdGEsIFBhcmFtcz4pIHtcbiAgY29uc3QgQVBQTElDQVRJT05fRU5WSVJPTk1FTlQgPSBuZXcgSW5qZWN0aW9uVG9rZW48QXBwbGljYXRpb25FbnZpcm9ubWVudD4oJ0BvZHgvYW5ndWxhci9zZGs6OkFwcGxpY2F0aW9uRW52aXJvbm1lbnQnKTtcbiAgdHlwZSBBcHBsaWNhdGlvbkVudmlyb25tZW50ID0gTm9uTnVsbGFibGU8dHlwZW9mIGVudmlyb25tZW50PjtcbiAgbGV0IGVudmlyb25tZW50OiBEYXRhIHwgbnVsbCA9IG51bGw7XG5cbiAgcmV0dXJuIHtcbiAgICBwcm92aWRlQXBwbGljYXRpb25FbnZpcm9ubWVudCguLi5hcmdzOiBQYXJhbWV0ZXJzPHR5cGVvZiBsb2FkZXI+KTogRW52aXJvbm1lbnRQcm92aWRlcnMge1xuICAgICAgcmV0dXJuIG1ha2VFbnZpcm9ubWVudFByb3ZpZGVycyhbXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsXG4gICAgICAgICAgdXNlVmFsdWU6IGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIGVudmlyb25tZW50ID0gYXdhaXQgbG9hZEFwcGxpY2F0aW9uRW52aXJvbm1lbnQobG9hZGVyLCAuLi5hcmdzKTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogQVBQTElDQVRJT05fRU5WSVJPTk1FTlQsXG4gICAgICAgICAgdXNlRmFjdG9yeTogKCkgPT4gZW52aXJvbm1lbnQsXG4gICAgICAgIH0sXG4gICAgICBdKTtcbiAgICB9LFxuICAgIGluamVjdEFwcGxpY2F0aW9uRW52aXJvbm1lbnQoKTogQXBwbGljYXRpb25FbnZpcm9ubWVudCB7XG4gICAgICByZXR1cm4gaW5qZWN0KEFQUExJQ0FUSU9OX0VOVklST05NRU5UKTtcbiAgICB9LFxuICAgIEFQUExJQ0FUSU9OX0VOVklST05NRU5ULFxuICB9O1xufVxuIl19
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2R4LWFuZ3VsYXItc2RrLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3Nkay9zcmMvb2R4LWFuZ3VsYXItc2RrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { __awaiter } from 'tslib';
|
|
2
|
+
import { InjectionToken, makeEnvironmentProviders, APP_INITIALIZER, inject } from '@angular/core';
|
|
3
|
+
|
|
4
|
+
function createHttpApplicationEnvironmentLoader(handler) {
|
|
5
|
+
return (...args) => fetch(...args).then((res) => handler(res));
|
|
6
|
+
}
|
|
7
|
+
function loadApplicationEnvironment(loader, ...args) {
|
|
8
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
9
|
+
const environment = yield loader(...args);
|
|
10
|
+
if (!environment) {
|
|
11
|
+
throw new Error('[@odx/angular/sdk] Failed load application environment');
|
|
12
|
+
}
|
|
13
|
+
return environment;
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
function createApplicationEnvironment(loader) {
|
|
17
|
+
const APPLICATION_ENVIRONMENT = new InjectionToken('@odx/angular/sdk::ApplicationEnvironment');
|
|
18
|
+
let environment = null;
|
|
19
|
+
return {
|
|
20
|
+
provideApplicationEnvironment(...args) {
|
|
21
|
+
return makeEnvironmentProviders([
|
|
22
|
+
{
|
|
23
|
+
provide: APP_INITIALIZER,
|
|
24
|
+
useValue: () => __awaiter(this, void 0, void 0, function* () {
|
|
25
|
+
environment = yield loadApplicationEnvironment(loader, ...args);
|
|
26
|
+
}),
|
|
27
|
+
multi: true,
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
provide: APPLICATION_ENVIRONMENT,
|
|
31
|
+
useFactory: () => environment,
|
|
32
|
+
},
|
|
33
|
+
]);
|
|
34
|
+
},
|
|
35
|
+
injectApplicationEnvironment() {
|
|
36
|
+
return inject(APPLICATION_ENVIRONMENT);
|
|
37
|
+
},
|
|
38
|
+
APPLICATION_ENVIRONMENT,
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Generated bundle index. Do not edit.
|
|
44
|
+
*/
|
|
45
|
+
|
|
46
|
+
export { createApplicationEnvironment, createHttpApplicationEnvironmentLoader, loadApplicationEnvironment };
|
|
47
|
+
//# sourceMappingURL=odx-angular-sdk.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"odx-angular-sdk.mjs","sources":["../../../../libs/angular/sdk/src/lib/application-environment.ts","../../../../libs/angular/sdk/src/odx-angular-sdk.ts"],"sourcesContent":["import { APP_INITIALIZER, EnvironmentProviders, inject, InjectionToken, makeEnvironmentProviders } from '@angular/core';\n\nexport type ApplicationEnvironmentLoader<EnvironmentData, Params extends unknown[]> = (...args: Params) => Promise<EnvironmentData>;\n\nexport function createHttpApplicationEnvironmentLoader<Data>(\n handler: (res: Response) => Promise<Data>,\n): ApplicationEnvironmentLoader<Data, Parameters<typeof fetch>> {\n return (...args: Parameters<typeof fetch>) => fetch(...args).then((res) => handler(res));\n}\n\nexport async function loadApplicationEnvironment<Data, Params extends unknown[]>(\n loader: ApplicationEnvironmentLoader<Data, Params>,\n ...args: Params\n): Promise<Data> {\n const environment = await loader(...args);\n if (!environment) {\n throw new Error('[@odx/angular/sdk] Failed load application environment');\n }\n return environment;\n}\n\nexport function createApplicationEnvironment<Data, Params extends unknown[]>(loader: ApplicationEnvironmentLoader<Data, Params>) {\n const APPLICATION_ENVIRONMENT = new InjectionToken<ApplicationEnvironment>('@odx/angular/sdk::ApplicationEnvironment');\n type ApplicationEnvironment = NonNullable<typeof environment>;\n let environment: Data | null = null;\n\n return {\n provideApplicationEnvironment(...args: Parameters<typeof loader>): EnvironmentProviders {\n return makeEnvironmentProviders([\n {\n provide: APP_INITIALIZER,\n useValue: async () => {\n environment = await loadApplicationEnvironment(loader, ...args);\n },\n multi: true,\n },\n {\n provide: APPLICATION_ENVIRONMENT,\n useFactory: () => environment,\n },\n ]);\n },\n injectApplicationEnvironment(): ApplicationEnvironment {\n return inject(APPLICATION_ENVIRONMENT);\n },\n APPLICATION_ENVIRONMENT,\n };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;AAIM,SAAU,sCAAsC,CACpD,OAAyC,EAAA;IAEzC,OAAO,CAAC,GAAG,IAA8B,KAAK,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;AAC3F,CAAC;SAEqB,0BAA0B,CAC9C,MAAkD,EAClD,GAAG,IAAY,EAAA;;QAEf,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC,WAAW,EAAE;AAChB,YAAA,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;AAC3E,SAAA;AACD,QAAA,OAAO,WAAW,CAAC;KACpB,CAAA,CAAA;AAAA,CAAA;AAEK,SAAU,4BAA4B,CAAiC,MAAkD,EAAA;AAC7H,IAAA,MAAM,uBAAuB,GAAG,IAAI,cAAc,CAAyB,0CAA0C,CAAC,CAAC;IAEvH,IAAI,WAAW,GAAgB,IAAI,CAAC;IAEpC,OAAO;QACL,6BAA6B,CAAC,GAAG,IAA+B,EAAA;AAC9D,YAAA,OAAO,wBAAwB,CAAC;AAC9B,gBAAA;AACE,oBAAA,OAAO,EAAE,eAAe;oBACxB,QAAQ,EAAE,MAAW,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;wBACnB,WAAW,GAAG,MAAM,0BAA0B,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;AAClE,qBAAC,CAAA;AACD,oBAAA,KAAK,EAAE,IAAI;AACZ,iBAAA;AACD,gBAAA;AACE,oBAAA,OAAO,EAAE,uBAAuB;AAChC,oBAAA,UAAU,EAAE,MAAM,WAAW;AAC9B,iBAAA;AACF,aAAA,CAAC,CAAC;SACJ;QACD,4BAA4B,GAAA;AAC1B,YAAA,OAAO,MAAM,CAAC,uBAAuB,CAAC,CAAC;SACxC;QACD,uBAAuB;KACxB,CAAC;AACJ;;AC/CA;;AAEG;;;;"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { InjectionToken, makeEnvironmentProviders, APP_INITIALIZER, inject } from '@angular/core';
|
|
2
|
+
|
|
3
|
+
function createHttpApplicationEnvironmentLoader(handler) {
|
|
4
|
+
return (...args) => fetch(...args).then((res) => handler(res));
|
|
5
|
+
}
|
|
6
|
+
async function loadApplicationEnvironment(loader, ...args) {
|
|
7
|
+
const environment = await loader(...args);
|
|
8
|
+
if (!environment) {
|
|
9
|
+
throw new Error('[@odx/angular/sdk] Failed load application environment');
|
|
10
|
+
}
|
|
11
|
+
return environment;
|
|
12
|
+
}
|
|
13
|
+
function createApplicationEnvironment(loader) {
|
|
14
|
+
const APPLICATION_ENVIRONMENT = new InjectionToken('@odx/angular/sdk::ApplicationEnvironment');
|
|
15
|
+
let environment = null;
|
|
16
|
+
return {
|
|
17
|
+
provideApplicationEnvironment(...args) {
|
|
18
|
+
return makeEnvironmentProviders([
|
|
19
|
+
{
|
|
20
|
+
provide: APP_INITIALIZER,
|
|
21
|
+
useValue: async () => {
|
|
22
|
+
environment = await loadApplicationEnvironment(loader, ...args);
|
|
23
|
+
},
|
|
24
|
+
multi: true,
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
provide: APPLICATION_ENVIRONMENT,
|
|
28
|
+
useFactory: () => environment,
|
|
29
|
+
},
|
|
30
|
+
]);
|
|
31
|
+
},
|
|
32
|
+
injectApplicationEnvironment() {
|
|
33
|
+
return inject(APPLICATION_ENVIRONMENT);
|
|
34
|
+
},
|
|
35
|
+
APPLICATION_ENVIRONMENT,
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Generated bundle index. Do not edit.
|
|
41
|
+
*/
|
|
42
|
+
|
|
43
|
+
export { createApplicationEnvironment, createHttpApplicationEnvironmentLoader, loadApplicationEnvironment };
|
|
44
|
+
//# sourceMappingURL=odx-angular-sdk.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"odx-angular-sdk.mjs","sources":["../../../../libs/angular/sdk/src/lib/application-environment.ts","../../../../libs/angular/sdk/src/odx-angular-sdk.ts"],"sourcesContent":["import { APP_INITIALIZER, EnvironmentProviders, inject, InjectionToken, makeEnvironmentProviders } from '@angular/core';\n\nexport type ApplicationEnvironmentLoader<EnvironmentData, Params extends unknown[]> = (...args: Params) => Promise<EnvironmentData>;\n\nexport function createHttpApplicationEnvironmentLoader<Data>(\n handler: (res: Response) => Promise<Data>,\n): ApplicationEnvironmentLoader<Data, Parameters<typeof fetch>> {\n return (...args: Parameters<typeof fetch>) => fetch(...args).then((res) => handler(res));\n}\n\nexport async function loadApplicationEnvironment<Data, Params extends unknown[]>(\n loader: ApplicationEnvironmentLoader<Data, Params>,\n ...args: Params\n): Promise<Data> {\n const environment = await loader(...args);\n if (!environment) {\n throw new Error('[@odx/angular/sdk] Failed load application environment');\n }\n return environment;\n}\n\nexport function createApplicationEnvironment<Data, Params extends unknown[]>(loader: ApplicationEnvironmentLoader<Data, Params>) {\n const APPLICATION_ENVIRONMENT = new InjectionToken<ApplicationEnvironment>('@odx/angular/sdk::ApplicationEnvironment');\n type ApplicationEnvironment = NonNullable<typeof environment>;\n let environment: Data | null = null;\n\n return {\n provideApplicationEnvironment(...args: Parameters<typeof loader>): EnvironmentProviders {\n return makeEnvironmentProviders([\n {\n provide: APP_INITIALIZER,\n useValue: async () => {\n environment = await loadApplicationEnvironment(loader, ...args);\n },\n multi: true,\n },\n {\n provide: APPLICATION_ENVIRONMENT,\n useFactory: () => environment,\n },\n ]);\n },\n injectApplicationEnvironment(): ApplicationEnvironment {\n return inject(APPLICATION_ENVIRONMENT);\n },\n APPLICATION_ENVIRONMENT,\n };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;AAIM,SAAU,sCAAsC,CACpD,OAAyC,EAAA;IAEzC,OAAO,CAAC,GAAG,IAA8B,KAAK,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;AAC3F,CAAC;AAEM,eAAe,0BAA0B,CAC9C,MAAkD,EAClD,GAAG,IAAY,EAAA;IAEf,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;IAC1C,IAAI,CAAC,WAAW,EAAE;AAChB,QAAA,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;AAC3E,KAAA;AACD,IAAA,OAAO,WAAW,CAAC;AACrB,CAAC;AAEK,SAAU,4BAA4B,CAAiC,MAAkD,EAAA;AAC7H,IAAA,MAAM,uBAAuB,GAAG,IAAI,cAAc,CAAyB,0CAA0C,CAAC,CAAC;IAEvH,IAAI,WAAW,GAAgB,IAAI,CAAC;IAEpC,OAAO;QACL,6BAA6B,CAAC,GAAG,IAA+B,EAAA;AAC9D,YAAA,OAAO,wBAAwB,CAAC;AAC9B,gBAAA;AACE,oBAAA,OAAO,EAAE,eAAe;oBACxB,QAAQ,EAAE,YAAW;wBACnB,WAAW,GAAG,MAAM,0BAA0B,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;qBACjE;AACD,oBAAA,KAAK,EAAE,IAAI;AACZ,iBAAA;AACD,gBAAA;AACE,oBAAA,OAAO,EAAE,uBAAuB;AAChC,oBAAA,UAAU,EAAE,MAAM,WAAW;AAC9B,iBAAA;AACF,aAAA,CAAC,CAAC;SACJ;QACD,4BAA4B,GAAA;AAC1B,YAAA,OAAO,MAAM,CAAC,uBAAuB,CAAC,CAAC;SACxC;QACD,uBAAuB;KACxB,CAAC;AACJ;;AC/CA;;AAEG;;;;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@odx/angular",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.14.0",
|
|
4
4
|
"author": "Drägerwerk AG & Co.KGaA",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE",
|
|
6
6
|
"peerDependencies": {
|
|
@@ -17,8 +17,8 @@
|
|
|
17
17
|
"chart.js": "^4.3.0",
|
|
18
18
|
"ng2-charts": "^4.1.1",
|
|
19
19
|
"date-fns": "2.30.0",
|
|
20
|
-
"@storybook/channels": "7.4.
|
|
21
|
-
"@storybook/core-events": "7.4.
|
|
20
|
+
"@storybook/channels": "7.4.6",
|
|
21
|
+
"@storybook/core-events": "7.4.6"
|
|
22
22
|
},
|
|
23
23
|
"dependencies": {
|
|
24
24
|
"@floating-ui/dom": "^1.4.0",
|
|
@@ -561,6 +561,14 @@
|
|
|
561
561
|
"node": "./fesm2015/odx-angular-rxjs.mjs",
|
|
562
562
|
"default": "./fesm2020/odx-angular-rxjs.mjs"
|
|
563
563
|
},
|
|
564
|
+
"./sdk": {
|
|
565
|
+
"types": "./sdk/index.d.ts",
|
|
566
|
+
"esm2020": "./esm2020/sdk/odx-angular-sdk.mjs",
|
|
567
|
+
"es2020": "./fesm2020/odx-angular-sdk.mjs",
|
|
568
|
+
"es2015": "./fesm2015/odx-angular-sdk.mjs",
|
|
569
|
+
"node": "./fesm2015/odx-angular-sdk.mjs",
|
|
570
|
+
"default": "./fesm2020/odx-angular-sdk.mjs"
|
|
571
|
+
},
|
|
564
572
|
"./theming": {
|
|
565
573
|
"types": "./theming/index.d.ts",
|
|
566
574
|
"esm2020": "./esm2020/theming/odx-angular-theming.mjs",
|
package/sdk/README.md
ADDED
package/sdk/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './lib/application-environment';
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { EnvironmentProviders, InjectionToken } from '@angular/core';
|
|
2
|
+
export type ApplicationEnvironmentLoader<EnvironmentData, Params extends unknown[]> = (...args: Params) => Promise<EnvironmentData>;
|
|
3
|
+
export declare function createHttpApplicationEnvironmentLoader<Data>(handler: (res: Response) => Promise<Data>): ApplicationEnvironmentLoader<Data, Parameters<typeof fetch>>;
|
|
4
|
+
export declare function loadApplicationEnvironment<Data, Params extends unknown[]>(loader: ApplicationEnvironmentLoader<Data, Params>, ...args: Params): Promise<Data>;
|
|
5
|
+
export declare function createApplicationEnvironment<Data, Params extends unknown[]>(loader: ApplicationEnvironmentLoader<Data, Params>): {
|
|
6
|
+
provideApplicationEnvironment(...args: Parameters<typeof loader>): EnvironmentProviders;
|
|
7
|
+
injectApplicationEnvironment(): Data & {};
|
|
8
|
+
APPLICATION_ENVIRONMENT: InjectionToken<Data & {}>;
|
|
9
|
+
};
|