@angular/service-worker 19.0.0-next.1 → 19.0.0-next.2
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/config/index.d.ts +1 -1
- package/fesm2022/config.mjs +1 -1
- package/fesm2022/service-worker.mjs +11 -11
- package/index.d.ts +1 -1
- package/ngsw-worker.js +1 -1
- package/package.json +3 -7
- package/esm2022/config/config.mjs +0 -5
- package/esm2022/config/index.mjs +0 -13
- package/esm2022/config/public_api.mjs +0 -9
- package/esm2022/config/src/duration.mjs +0 -46
- package/esm2022/config/src/filesystem.mjs +0 -9
- package/esm2022/config/src/generator.mjs +0 -164
- package/esm2022/config/src/glob.mjs +0 -42
- package/esm2022/config/src/in.mjs +0 -9
- package/esm2022/index.mjs +0 -13
- package/esm2022/public_api.mjs +0 -15
- package/esm2022/service-worker.mjs +0 -5
- package/esm2022/src/index.mjs +0 -12
- package/esm2022/src/low_level.mjs +0 -84
- package/esm2022/src/module.mjs +0 -37
- package/esm2022/src/provider.mjs +0 -128
- package/esm2022/src/push.mjs +0 -177
- package/esm2022/src/update.mjs +0 -97
package/config/index.d.ts
CHANGED
package/fesm2022/config.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Angular v19.0.0-next.
|
|
2
|
+
* @license Angular v19.0.0-next.2
|
|
3
3
|
* (c) 2010-2024 Google LLC. https://angular.io/
|
|
4
4
|
* License: MIT
|
|
5
5
|
*/
|
|
@@ -242,10 +242,10 @@ class SwPush {
|
|
|
242
242
|
decodeBase64(input) {
|
|
243
243
|
return atob(input);
|
|
244
244
|
}
|
|
245
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.
|
|
246
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.0-next.
|
|
245
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.2", ngImport: i0, type: SwPush, deps: [{ token: NgswCommChannel }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
246
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.0-next.2", ngImport: i0, type: SwPush }); }
|
|
247
247
|
}
|
|
248
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.
|
|
248
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.2", ngImport: i0, type: SwPush, decorators: [{
|
|
249
249
|
type: Injectable
|
|
250
250
|
}], ctorParameters: () => [{ type: NgswCommChannel }] });
|
|
251
251
|
|
|
@@ -327,10 +327,10 @@ class SwUpdate {
|
|
|
327
327
|
const nonce = this.sw.generateNonce();
|
|
328
328
|
return this.sw.postMessageWithOperation('ACTIVATE_UPDATE', { nonce }, nonce);
|
|
329
329
|
}
|
|
330
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.
|
|
331
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.0-next.
|
|
330
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.2", ngImport: i0, type: SwUpdate, deps: [{ token: NgswCommChannel }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
331
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.0-next.2", ngImport: i0, type: SwUpdate }); }
|
|
332
332
|
}
|
|
333
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.
|
|
333
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.2", ngImport: i0, type: SwUpdate, decorators: [{
|
|
334
334
|
type: Injectable
|
|
335
335
|
}], ctorParameters: () => [{ type: NgswCommChannel }] });
|
|
336
336
|
|
|
@@ -471,11 +471,11 @@ class ServiceWorkerModule {
|
|
|
471
471
|
providers: [provideServiceWorker(script, options)],
|
|
472
472
|
};
|
|
473
473
|
}
|
|
474
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.
|
|
475
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.0-next.
|
|
476
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.0-next.
|
|
474
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.2", ngImport: i0, type: ServiceWorkerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
475
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.0-next.2", ngImport: i0, type: ServiceWorkerModule }); }
|
|
476
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.0-next.2", ngImport: i0, type: ServiceWorkerModule, providers: [SwPush, SwUpdate] }); }
|
|
477
477
|
}
|
|
478
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.
|
|
478
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.2", ngImport: i0, type: ServiceWorkerModule, decorators: [{
|
|
479
479
|
type: NgModule,
|
|
480
480
|
args: [{ providers: [SwPush, SwUpdate] }]
|
|
481
481
|
}] });
|
package/index.d.ts
CHANGED
package/ngsw-worker.js
CHANGED
|
@@ -1029,7 +1029,7 @@ ${error.stack}`;
|
|
|
1029
1029
|
};
|
|
1030
1030
|
|
|
1031
1031
|
// bazel-out/darwin_arm64-fastbuild-ST-2e5f3376adb5/bin/packages/service-worker/worker/src/debug.mjs
|
|
1032
|
-
var SW_VERSION = "19.0.0-next.
|
|
1032
|
+
var SW_VERSION = "19.0.0-next.2";
|
|
1033
1033
|
var DEBUG_LOG_BUFFER_SIZE = 100;
|
|
1034
1034
|
var DebugHandler = class {
|
|
1035
1035
|
constructor(driver, adapter2) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@angular/service-worker",
|
|
3
|
-
"version": "19.0.0-next.
|
|
3
|
+
"version": "19.0.0-next.2",
|
|
4
4
|
"description": "Angular - service worker tooling!",
|
|
5
5
|
"author": "angular",
|
|
6
6
|
"license": "MIT",
|
|
@@ -22,14 +22,10 @@
|
|
|
22
22
|
},
|
|
23
23
|
".": {
|
|
24
24
|
"types": "./index.d.ts",
|
|
25
|
-
"esm2022": "./esm2022/service-worker.mjs",
|
|
26
|
-
"esm": "./esm2022/service-worker.mjs",
|
|
27
25
|
"default": "./fesm2022/service-worker.mjs"
|
|
28
26
|
},
|
|
29
27
|
"./config": {
|
|
30
28
|
"types": "./config/index.d.ts",
|
|
31
|
-
"esm2022": "./esm2022/config/config.mjs",
|
|
32
|
-
"esm": "./esm2022/config/config.mjs",
|
|
33
29
|
"default": "./fesm2022/config.mjs"
|
|
34
30
|
}
|
|
35
31
|
},
|
|
@@ -37,8 +33,8 @@
|
|
|
37
33
|
"tslib": "^2.3.0"
|
|
38
34
|
},
|
|
39
35
|
"peerDependencies": {
|
|
40
|
-
"@angular/core": "19.0.0-next.
|
|
41
|
-
"@angular/common": "19.0.0-next.
|
|
36
|
+
"@angular/core": "19.0.0-next.2",
|
|
37
|
+
"@angular/common": "19.0.0-next.2"
|
|
42
38
|
},
|
|
43
39
|
"repository": {
|
|
44
40
|
"type": "git",
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './index';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc2VydmljZS13b3JrZXIvY29uZmlnL2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
|
package/esm2022/config/index.mjs
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright Google LLC All Rights Reserved.
|
|
4
|
-
*
|
|
5
|
-
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
-
* found in the LICENSE file at https://angular.io/license
|
|
7
|
-
*/
|
|
8
|
-
// This file is not used to build this module. It is only used during editing
|
|
9
|
-
// by the TypeScript language service and during build for verification. `ngc`
|
|
10
|
-
// replaces this file with production index.ts when it rewrites private symbol
|
|
11
|
-
// names.
|
|
12
|
-
export * from './public_api';
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zZXJ2aWNlLXdvcmtlci9jb25maWcvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBRUgsNkVBQTZFO0FBQzdFLDhFQUE4RTtBQUM5RSw4RUFBOEU7QUFDOUUsU0FBUztBQUVULGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbi8vIFRoaXMgZmlsZSBpcyBub3QgdXNlZCB0byBidWlsZCB0aGlzIG1vZHVsZS4gSXQgaXMgb25seSB1c2VkIGR1cmluZyBlZGl0aW5nXG4vLyBieSB0aGUgVHlwZVNjcmlwdCBsYW5ndWFnZSBzZXJ2aWNlIGFuZCBkdXJpbmcgYnVpbGQgZm9yIHZlcmlmaWNhdGlvbi4gYG5nY2Bcbi8vIHJlcGxhY2VzIHRoaXMgZmlsZSB3aXRoIHByb2R1Y3Rpb24gaW5kZXgudHMgd2hlbiBpdCByZXdyaXRlcyBwcml2YXRlIHN5bWJvbFxuLy8gbmFtZXMuXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljX2FwaSc7XG4iXX0=
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright Google LLC All Rights Reserved.
|
|
4
|
-
*
|
|
5
|
-
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
-
* found in the LICENSE file at https://angular.io/license
|
|
7
|
-
*/
|
|
8
|
-
export { Generator } from './src/generator';
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NlcnZpY2Utd29ya2VyL2NvbmZpZy9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUdILE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5leHBvcnQge0ZpbGVzeXN0ZW19IGZyb20gJy4vc3JjL2ZpbGVzeXN0ZW0nO1xuZXhwb3J0IHtHZW5lcmF0b3J9IGZyb20gJy4vc3JjL2dlbmVyYXRvcic7XG5leHBvcnQge0Fzc2V0R3JvdXAsIENvbmZpZywgRGF0YUdyb3VwLCBEdXJhdGlvbiwgR2xvYn0gZnJvbSAnLi9zcmMvaW4nO1xuIl19
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright Google LLC All Rights Reserved.
|
|
4
|
-
*
|
|
5
|
-
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
-
* found in the LICENSE file at https://angular.io/license
|
|
7
|
-
*/
|
|
8
|
-
const PARSE_TO_PAIRS = /([0-9]+[^0-9]+)/g;
|
|
9
|
-
const PAIR_SPLIT = /^([0-9]+)([dhmsu]+)$/;
|
|
10
|
-
export function parseDurationToMs(duration) {
|
|
11
|
-
const matches = [];
|
|
12
|
-
let array;
|
|
13
|
-
while ((array = PARSE_TO_PAIRS.exec(duration)) !== null) {
|
|
14
|
-
matches.push(array[0]);
|
|
15
|
-
}
|
|
16
|
-
return matches
|
|
17
|
-
.map((match) => {
|
|
18
|
-
const res = PAIR_SPLIT.exec(match);
|
|
19
|
-
if (res === null) {
|
|
20
|
-
throw new Error(`Not a valid duration: ${match}`);
|
|
21
|
-
}
|
|
22
|
-
let factor = 0;
|
|
23
|
-
switch (res[2]) {
|
|
24
|
-
case 'd':
|
|
25
|
-
factor = 86400000;
|
|
26
|
-
break;
|
|
27
|
-
case 'h':
|
|
28
|
-
factor = 3600000;
|
|
29
|
-
break;
|
|
30
|
-
case 'm':
|
|
31
|
-
factor = 60000;
|
|
32
|
-
break;
|
|
33
|
-
case 's':
|
|
34
|
-
factor = 1000;
|
|
35
|
-
break;
|
|
36
|
-
case 'u':
|
|
37
|
-
factor = 1;
|
|
38
|
-
break;
|
|
39
|
-
default:
|
|
40
|
-
throw new Error(`Not a valid duration unit: ${res[2]}`);
|
|
41
|
-
}
|
|
42
|
-
return parseInt(res[1]) * factor;
|
|
43
|
-
})
|
|
44
|
-
.reduce((total, value) => total + value, 0);
|
|
45
|
-
}
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHVyYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zZXJ2aWNlLXdvcmtlci9jb25maWcvc3JjL2R1cmF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUVILE1BQU0sY0FBYyxHQUFHLGtCQUFrQixDQUFDO0FBQzFDLE1BQU0sVUFBVSxHQUFHLHNCQUFzQixDQUFDO0FBRTFDLE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxRQUFnQjtJQUNoRCxNQUFNLE9BQU8sR0FBYSxFQUFFLENBQUM7SUFFN0IsSUFBSSxLQUE2QixDQUFDO0lBQ2xDLE9BQU8sQ0FBQyxLQUFLLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1FBQ3hELE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUNELE9BQU8sT0FBTztTQUNYLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1FBQ2IsTUFBTSxHQUFHLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuQyxJQUFJLEdBQUcsS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUNqQixNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ3BELENBQUM7UUFDRCxJQUFJLE1BQU0sR0FBVyxDQUFDLENBQUM7UUFDdkIsUUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNmLEtBQUssR0FBRztnQkFDTixNQUFNLEdBQUcsUUFBUSxDQUFDO2dCQUNsQixNQUFNO1lBQ1IsS0FBSyxHQUFHO2dCQUNOLE1BQU0sR0FBRyxPQUFPLENBQUM7Z0JBQ2pCLE1BQU07WUFDUixLQUFLLEdBQUc7Z0JBQ04sTUFBTSxHQUFHLEtBQUssQ0FBQztnQkFDZixNQUFNO1lBQ1IsS0FBSyxHQUFHO2dCQUNOLE1BQU0sR0FBRyxJQUFJLENBQUM7Z0JBQ2QsTUFBTTtZQUNSLEtBQUssR0FBRztnQkFDTixNQUFNLEdBQUcsQ0FBQyxDQUFDO2dCQUNYLE1BQU07WUFDUjtnQkFDRSxNQUFNLElBQUksS0FBSyxDQUFDLDhCQUE4QixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzVELENBQUM7UUFDRCxPQUFPLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUM7SUFDbkMsQ0FBQyxDQUFDO1NBQ0QsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxHQUFHLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztBQUNoRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmNvbnN0IFBBUlNFX1RPX1BBSVJTID0gLyhbMC05XStbXjAtOV0rKS9nO1xuY29uc3QgUEFJUl9TUExJVCA9IC9eKFswLTldKykoW2RobXN1XSspJC87XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUR1cmF0aW9uVG9NcyhkdXJhdGlvbjogc3RyaW5nKTogbnVtYmVyIHtcbiAgY29uc3QgbWF0Y2hlczogc3RyaW5nW10gPSBbXTtcblxuICBsZXQgYXJyYXk6IFJlZ0V4cEV4ZWNBcnJheSB8IG51bGw7XG4gIHdoaWxlICgoYXJyYXkgPSBQQVJTRV9UT19QQUlSUy5leGVjKGR1cmF0aW9uKSkgIT09IG51bGwpIHtcbiAgICBtYXRjaGVzLnB1c2goYXJyYXlbMF0pO1xuICB9XG4gIHJldHVybiBtYXRjaGVzXG4gICAgLm1hcCgobWF0Y2gpID0+IHtcbiAgICAgIGNvbnN0IHJlcyA9IFBBSVJfU1BMSVQuZXhlYyhtYXRjaCk7XG4gICAgICBpZiAocmVzID09PSBudWxsKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgTm90IGEgdmFsaWQgZHVyYXRpb246ICR7bWF0Y2h9YCk7XG4gICAgICB9XG4gICAgICBsZXQgZmFjdG9yOiBudW1iZXIgPSAwO1xuICAgICAgc3dpdGNoIChyZXNbMl0pIHtcbiAgICAgICAgY2FzZSAnZCc6XG4gICAgICAgICAgZmFjdG9yID0gODY0MDAwMDA7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2gnOlxuICAgICAgICAgIGZhY3RvciA9IDM2MDAwMDA7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ20nOlxuICAgICAgICAgIGZhY3RvciA9IDYwMDAwO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdzJzpcbiAgICAgICAgICBmYWN0b3IgPSAxMDAwO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICd1JzpcbiAgICAgICAgICBmYWN0b3IgPSAxO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgTm90IGEgdmFsaWQgZHVyYXRpb24gdW5pdDogJHtyZXNbMl19YCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gcGFyc2VJbnQocmVzWzFdKSAqIGZhY3RvcjtcbiAgICB9KVxuICAgIC5yZWR1Y2UoKHRvdGFsLCB2YWx1ZSkgPT4gdG90YWwgKyB2YWx1ZSwgMCk7XG59XG4iXX0=
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright Google LLC All Rights Reserved.
|
|
4
|
-
*
|
|
5
|
-
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
-
* found in the LICENSE file at https://angular.io/license
|
|
7
|
-
*/
|
|
8
|
-
export {};
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZXN5c3RlbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NlcnZpY2Utd29ya2VyL2NvbmZpZy9zcmMvZmlsZXN5c3RlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUciLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuLyoqXG4gKiBBbiBhYnN0cmFjdGlvbiBvdmVyIGEgdmlydHVhbCBmaWxlIHN5c3RlbSB1c2VkIHRvIGVuYWJsZSB0ZXN0aW5nIGFuZCBvcGVyYXRpb25cbiAqIG9mIHRoZSBjb25maWcgZ2VuZXJhdG9yIGluIGRpZmZlcmVudCBlbnZpcm9ubWVudHMuXG4gKlxuICogQHB1YmxpY0FwaVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZpbGVzeXN0ZW0ge1xuICBsaXN0KGRpcjogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmdbXT47XG4gIHJlYWQoZmlsZTogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+O1xuICBoYXNoKGZpbGU6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPjtcbiAgd3JpdGUoZmlsZTogc3RyaW5nLCBjb250ZW50czogc3RyaW5nKTogUHJvbWlzZTx2b2lkPjtcbn1cbiJdfQ==
|
|
@@ -1,164 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright Google LLC All Rights Reserved.
|
|
4
|
-
*
|
|
5
|
-
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
-
* found in the LICENSE file at https://angular.io/license
|
|
7
|
-
*/
|
|
8
|
-
import { parseDurationToMs } from './duration';
|
|
9
|
-
import { globToRegex } from './glob';
|
|
10
|
-
const DEFAULT_NAVIGATION_URLS = [
|
|
11
|
-
'/**', // Include all URLs.
|
|
12
|
-
'!/**/*.*', // Exclude URLs to files (containing a file extension in the last segment).
|
|
13
|
-
'!/**/*__*', // Exclude URLs containing `__` in the last segment.
|
|
14
|
-
'!/**/*__*/**', // Exclude URLs containing `__` in any other segment.
|
|
15
|
-
];
|
|
16
|
-
/**
|
|
17
|
-
* Consumes service worker configuration files and processes them into control files.
|
|
18
|
-
*
|
|
19
|
-
* @publicApi
|
|
20
|
-
*/
|
|
21
|
-
export class Generator {
|
|
22
|
-
constructor(fs, baseHref) {
|
|
23
|
-
this.fs = fs;
|
|
24
|
-
this.baseHref = baseHref;
|
|
25
|
-
}
|
|
26
|
-
async process(config) {
|
|
27
|
-
const unorderedHashTable = {};
|
|
28
|
-
const assetGroups = await this.processAssetGroups(config, unorderedHashTable);
|
|
29
|
-
return {
|
|
30
|
-
configVersion: 1,
|
|
31
|
-
timestamp: Date.now(),
|
|
32
|
-
appData: config.appData,
|
|
33
|
-
index: joinUrls(this.baseHref, config.index),
|
|
34
|
-
assetGroups,
|
|
35
|
-
dataGroups: this.processDataGroups(config),
|
|
36
|
-
hashTable: withOrderedKeys(unorderedHashTable),
|
|
37
|
-
navigationUrls: processNavigationUrls(this.baseHref, config.navigationUrls),
|
|
38
|
-
navigationRequestStrategy: config.navigationRequestStrategy ?? 'performance',
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
async processAssetGroups(config, hashTable) {
|
|
42
|
-
// Retrieve all files of the build.
|
|
43
|
-
const allFiles = await this.fs.list('/');
|
|
44
|
-
const seenMap = new Set();
|
|
45
|
-
const filesPerGroup = new Map();
|
|
46
|
-
// Computed which files belong to each asset-group.
|
|
47
|
-
for (const group of config.assetGroups || []) {
|
|
48
|
-
if (group.resources.versionedFiles) {
|
|
49
|
-
throw new Error(`Asset-group '${group.name}' in 'ngsw-config.json' uses the 'versionedFiles' option, ` +
|
|
50
|
-
"which is no longer supported. Use 'files' instead.");
|
|
51
|
-
}
|
|
52
|
-
const fileMatcher = globListToMatcher(group.resources.files || []);
|
|
53
|
-
const matchedFiles = allFiles
|
|
54
|
-
.filter(fileMatcher)
|
|
55
|
-
.filter((file) => !seenMap.has(file))
|
|
56
|
-
.sort();
|
|
57
|
-
matchedFiles.forEach((file) => seenMap.add(file));
|
|
58
|
-
filesPerGroup.set(group, matchedFiles);
|
|
59
|
-
}
|
|
60
|
-
// Compute hashes for all matched files and add them to the hash-table.
|
|
61
|
-
const allMatchedFiles = [].concat(...Array.from(filesPerGroup.values())).sort();
|
|
62
|
-
const allMatchedHashes = await processInBatches(allMatchedFiles, 500, (file) => this.fs.hash(file));
|
|
63
|
-
allMatchedFiles.forEach((file, idx) => {
|
|
64
|
-
hashTable[joinUrls(this.baseHref, file)] = allMatchedHashes[idx];
|
|
65
|
-
});
|
|
66
|
-
// Generate and return the processed asset-groups.
|
|
67
|
-
return Array.from(filesPerGroup.entries()).map(([group, matchedFiles]) => ({
|
|
68
|
-
name: group.name,
|
|
69
|
-
installMode: group.installMode || 'prefetch',
|
|
70
|
-
updateMode: group.updateMode || group.installMode || 'prefetch',
|
|
71
|
-
cacheQueryOptions: buildCacheQueryOptions(group.cacheQueryOptions),
|
|
72
|
-
urls: matchedFiles.map((url) => joinUrls(this.baseHref, url)),
|
|
73
|
-
patterns: (group.resources.urls || []).map((url) => urlToRegex(url, this.baseHref, true)),
|
|
74
|
-
}));
|
|
75
|
-
}
|
|
76
|
-
processDataGroups(config) {
|
|
77
|
-
return (config.dataGroups || []).map((group) => {
|
|
78
|
-
return {
|
|
79
|
-
name: group.name,
|
|
80
|
-
patterns: group.urls.map((url) => urlToRegex(url, this.baseHref, true)),
|
|
81
|
-
strategy: group.cacheConfig.strategy || 'performance',
|
|
82
|
-
maxSize: group.cacheConfig.maxSize,
|
|
83
|
-
maxAge: parseDurationToMs(group.cacheConfig.maxAge),
|
|
84
|
-
timeoutMs: group.cacheConfig.timeout && parseDurationToMs(group.cacheConfig.timeout),
|
|
85
|
-
cacheOpaqueResponses: group.cacheConfig.cacheOpaqueResponses,
|
|
86
|
-
cacheQueryOptions: buildCacheQueryOptions(group.cacheQueryOptions),
|
|
87
|
-
version: group.version !== undefined ? group.version : 1,
|
|
88
|
-
};
|
|
89
|
-
});
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
export function processNavigationUrls(baseHref, urls = DEFAULT_NAVIGATION_URLS) {
|
|
93
|
-
return urls.map((url) => {
|
|
94
|
-
const positive = !url.startsWith('!');
|
|
95
|
-
url = positive ? url : url.slice(1);
|
|
96
|
-
return { positive, regex: `^${urlToRegex(url, baseHref)}$` };
|
|
97
|
-
});
|
|
98
|
-
}
|
|
99
|
-
async function processInBatches(items, batchSize, processFn) {
|
|
100
|
-
const batches = [];
|
|
101
|
-
for (let i = 0; i < items.length; i += batchSize) {
|
|
102
|
-
batches.push(items.slice(i, i + batchSize));
|
|
103
|
-
}
|
|
104
|
-
return batches.reduce(async (prev, batch) => (await prev).concat(await Promise.all(batch.map((item) => processFn(item)))), Promise.resolve([]));
|
|
105
|
-
}
|
|
106
|
-
function globListToMatcher(globs) {
|
|
107
|
-
const patterns = globs.map((pattern) => {
|
|
108
|
-
if (pattern.startsWith('!')) {
|
|
109
|
-
return {
|
|
110
|
-
positive: false,
|
|
111
|
-
regex: new RegExp('^' + globToRegex(pattern.slice(1)) + '$'),
|
|
112
|
-
};
|
|
113
|
-
}
|
|
114
|
-
else {
|
|
115
|
-
return {
|
|
116
|
-
positive: true,
|
|
117
|
-
regex: new RegExp('^' + globToRegex(pattern) + '$'),
|
|
118
|
-
};
|
|
119
|
-
}
|
|
120
|
-
});
|
|
121
|
-
return (file) => matches(file, patterns);
|
|
122
|
-
}
|
|
123
|
-
function matches(file, patterns) {
|
|
124
|
-
return patterns.reduce((isMatch, pattern) => {
|
|
125
|
-
if (pattern.positive) {
|
|
126
|
-
return isMatch || pattern.regex.test(file);
|
|
127
|
-
}
|
|
128
|
-
else {
|
|
129
|
-
return isMatch && !pattern.regex.test(file);
|
|
130
|
-
}
|
|
131
|
-
}, false);
|
|
132
|
-
}
|
|
133
|
-
function urlToRegex(url, baseHref, literalQuestionMark) {
|
|
134
|
-
if (!url.startsWith('/') && url.indexOf('://') === -1) {
|
|
135
|
-
// Prefix relative URLs with `baseHref`.
|
|
136
|
-
// Strip a leading `.` from a relative `baseHref` (e.g. `./foo/`), since it would result in an
|
|
137
|
-
// incorrect regex (matching a literal `.`).
|
|
138
|
-
url = joinUrls(baseHref.replace(/^\.(?=\/)/, ''), url);
|
|
139
|
-
}
|
|
140
|
-
return globToRegex(url, literalQuestionMark);
|
|
141
|
-
}
|
|
142
|
-
function joinUrls(a, b) {
|
|
143
|
-
if (a.endsWith('/') && b.startsWith('/')) {
|
|
144
|
-
return a + b.slice(1);
|
|
145
|
-
}
|
|
146
|
-
else if (!a.endsWith('/') && !b.startsWith('/')) {
|
|
147
|
-
return a + '/' + b;
|
|
148
|
-
}
|
|
149
|
-
return a + b;
|
|
150
|
-
}
|
|
151
|
-
function withOrderedKeys(unorderedObj) {
|
|
152
|
-
const orderedObj = {};
|
|
153
|
-
Object.keys(unorderedObj)
|
|
154
|
-
.sort()
|
|
155
|
-
.forEach((key) => (orderedObj[key] = unorderedObj[key]));
|
|
156
|
-
return orderedObj;
|
|
157
|
-
}
|
|
158
|
-
function buildCacheQueryOptions(inOptions) {
|
|
159
|
-
return {
|
|
160
|
-
ignoreVary: true,
|
|
161
|
-
...inOptions,
|
|
162
|
-
};
|
|
163
|
-
}
|
|
164
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc2VydmljZS13b3JrZXIvY29uZmlnL3NyYy9nZW5lcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBRUgsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sWUFBWSxDQUFDO0FBRTdDLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxRQUFRLENBQUM7QUFHbkMsTUFBTSx1QkFBdUIsR0FBRztJQUM5QixLQUFLLEVBQUUsb0JBQW9CO0lBQzNCLFVBQVUsRUFBRSwyRUFBMkU7SUFDdkYsV0FBVyxFQUFFLG9EQUFvRDtJQUNqRSxjQUFjLEVBQUUscURBQXFEO0NBQ3RFLENBQUM7QUFFRjs7OztHQUlHO0FBQ0gsTUFBTSxPQUFPLFNBQVM7SUFDcEIsWUFDVyxFQUFjLEVBQ2YsUUFBZ0I7UUFEZixPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQ2YsYUFBUSxHQUFSLFFBQVEsQ0FBUTtJQUN2QixDQUFDO0lBRUosS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFjO1FBQzFCLE1BQU0sa0JBQWtCLEdBQUcsRUFBRSxDQUFDO1FBQzlCLE1BQU0sV0FBVyxHQUFHLE1BQU0sSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO1FBRTlFLE9BQU87WUFDTCxhQUFhLEVBQUUsQ0FBQztZQUNoQixTQUFTLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNyQixPQUFPLEVBQUUsTUFBTSxDQUFDLE9BQU87WUFDdkIsS0FBSyxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUM7WUFDNUMsV0FBVztZQUNYLFVBQVUsRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDO1lBQzFDLFNBQVMsRUFBRSxlQUFlLENBQUMsa0JBQWtCLENBQUM7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LENBQUMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMzRCxPQUFPLFVBQWUsQ0FBQztBQUN6QixDQUFDO0FBRUQsU0FBUyxzQkFBc0IsQ0FDN0IsU0FBbUQ7SUFFbkQsT0FBTztRQUNMLFVBQVUsRUFBRSxJQUFJO1FBQ2hCLEdBQUcsU0FBUztLQUNiLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7cGFyc2VEdXJhdGlvblRvTXN9IGZyb20gJy4vZHVyYXRpb24nO1xuaW1wb3J0IHtGaWxlc3lzdGVtfSBmcm9tICcuL2ZpbGVzeXN0ZW0nO1xuaW1wb3J0IHtnbG9iVG9SZWdleH0gZnJvbSAnLi9nbG9iJztcbmltcG9ydCB7QXNzZXRHcm91cCwgQ29uZmlnfSBmcm9tICcuL2luJztcblxuY29uc3QgREVGQVVMVF9OQVZJR0FUSU9OX1VSTFMgPSBbXG4gICcvKionLCAvLyBJbmNsdWRlIGFsbCBVUkxzLlxuICAnIS8qKi8qLionLCAvLyBFeGNsdWRlIFVSTHMgdG8gZmlsZXMgKGNvbnRhaW5pbmcgYSBmaWxlIGV4dGVuc2lvbiBpbiB0aGUgbGFzdCBzZWdtZW50KS5cbiAgJyEvKiovKl9fKicsIC8vIEV4Y2x1ZGUgVVJMcyBjb250YWluaW5nIGBfX2AgaW4gdGhlIGxhc3Qgc2VnbWVudC5cbiAgJyEvKiovKl9fKi8qKicsIC8vIEV4Y2x1ZGUgVVJMcyBjb250YWluaW5nIGBfX2AgaW4gYW55IG90aGVyIHNlZ21lbnQuXG5dO1xuXG4vKipcbiAqIENvbnN1bWVzIHNlcnZpY2Ugd29ya2VyIGNvbmZpZ3VyYXRpb24gZmlsZXMgYW5kIHByb2Nlc3NlcyB0aGVtIGludG8gY29udHJvbCBmaWxlcy5cbiAqXG4gKiBAcHVibGljQXBpXG4gKi9cbmV4cG9ydCBjbGFzcyBHZW5lcmF0b3Ige1xuICBjb25zdHJ1Y3RvcihcbiAgICByZWFkb25seSBmczogRmlsZXN5c3RlbSxcbiAgICBwcml2YXRlIGJhc2VIcmVmOiBzdHJpbmcsXG4gICkge31cblxuICBhc3luYyBwcm9jZXNzKGNvbmZpZzogQ29uZmlnKTogUHJvbWlzZTxPYmplY3Q+IHtcbiAgICBjb25zdCB1bm9yZGVyZWRIYXNoVGFibGUgPSB7fTtcbiAgICBjb25zdCBhc3NldEdyb3VwcyA9IGF3YWl0IHRoaXMucHJvY2Vzc0Fzc2V0R3JvdXBzKGNvbmZpZywgdW5vcmRlcmVkSGFzaFRhYmxlKTtcblxuICAgIHJldHVybiB7XG4gICAgICBjb25maWdWZXJzaW9uOiAxLFxuICAgICAgdGltZXN0YW1wOiBEYXRlLm5vdygpLFxuICAgICAgYXBwRGF0YTogY29uZmlnLmFwcERhdGEsXG4gICAgICBpbmRleDogam9pblVybHModGhpcy5iYXNlSHJlZiwgY29uZmlnLmluZGV4KSxcbiAgICAgIGFzc2V0R3JvdXBzLFxuICAgICAgZGF0YUdyb3VwczogdGhpcy5wcm9jZXNzRGF0YUdyb3Vwcyhjb25maWcpLFxuICAgICAgaGFzaFRhYmxlOiB3aXRoT3JkZXJlZEtleXModW5vcmRlcmVkSGFzaFRhYmxlKSxcbiAgICAgIG5hdmlnYXRpb25VcmxzOiBwcm9jZXNzTmF2aWdhdGlvblVybHModGhpcy5iYXNlSHJlZiwgY29uZmlnLm5hdmlnYXRpb25VcmxzKSxcbiAgICAgIG5hdmlnYXRpb25SZXF1ZXN0U3RyYXRlZ3k6IGNvbmZpZy5uYXZpZ2F0aW9uUmVxdWVzdFN0cmF0ZWd5ID8/ICdwZXJmb3JtYW5jZScsXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcHJvY2Vzc0Fzc2V0R3JvdXBzKFxuICAgIGNvbmZpZzogQ29uZmlnLFxuICAgIGhhc2hUYWJsZToge1tmaWxlOiBzdHJpbmddOiBzdHJpbmcgfCB1bmRlZmluZWR9LFxuICApOiBQcm9taXNlPE9iamVjdFtdPiB7XG4gICAgLy8gUmV0cmlldmUgYWxsIGZpbGVzIG9mIHRoZSBidWlsZC5cbiAgICBjb25zdCBhbGxGaWxlcyA9IGF3YWl0IHRoaXMuZnMubGlzdCgnLycpO1xuICAgIGNvbnN0IHNlZW5NYXAgPSBuZXcgU2V0PHN0cmluZz4oKTtcbiAgICBjb25zdCBmaWxlc1Blckdyb3VwID0gbmV3IE1hcDxBc3NldEdyb3VwLCBzdHJpbmdbXT4oKTtcblxuICAgIC8vIENvbXB1dGVkIHdoaWNoIGZpbGVzIGJlbG9uZyB0byBlYWNoIGFzc2V0LWdyb3VwLlxuICAgIGZvciAoY29uc3QgZ3JvdXAgb2YgY29uZmlnLmFzc2V0R3JvdXBzIHx8IFtdKSB7XG4gICAgICBpZiAoKGdyb3VwLnJlc291cmNlcyBhcyBhbnkpLnZlcnNpb25lZEZpbGVzKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBgQXNzZXQtZ3JvdXAgJyR7Z3JvdXAubmFtZX0nIGluICduZ3N3LWNvbmZpZy5qc29uJyB1c2VzIHRoZSAndmVyc2lvbmVkRmlsZXMnIG9wdGlvbiwgYCArXG4gICAgICAgICAgICBcIndoaWNoIGlzIG5vIGxvbmdlciBzdXBwb3J0ZWQuIFVzZSAnZmlsZXMnIGluc3RlYWQuXCIsXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGZpbGVNYXRjaGVyID0gZ2xvYkxpc3RUb01hdGNoZXIoZ3JvdXAucmVzb3VyY2VzLmZpbGVzIHx8IFtdKTtcbiAgICAgIGNvbnN0IG1hdGNoZWRGaWxlcyA9IGFsbEZpbGVzXG4gICAgICAgIC5maWx0ZXIoZmlsZU1hdGNoZXIpXG4gICAgICAgIC5maWx0ZXIoKGZpbGUpID0+ICFzZWVuTWFwLmhhcyhmaWxlKSlcbiAgICAgICAgLnNvcnQoKTtcblxuICAgICAgbWF0Y2hlZEZpbGVzLmZvckVhY2goKGZpbGUpID0+IHNlZW5NYXAuYWRkKGZpbGUpKTtcbiAgICAgIGZpbGVzUGVyR3JvdXAuc2V0KGdyb3VwLCBtYXRjaGVkRmlsZXMpO1xuICAgIH1cblxuICAgIC8vIENvbXB1dGUgaGFzaGVzIGZvciBhbGwgbWF0Y2hlZCBmaWxlcyBhbmQgYWRkIHRoZW0gdG8gdGhlIGhhc2gtdGFibGUuXG4gICAgY29uc3QgYWxsTWF0Y2hlZEZpbGVzID0gKFtdIGFzIHN0cmluZ1tdKS5jb25jYXQoLi4uQXJyYXkuZnJvbShmaWxlc1Blckdyb3VwLnZhbHVlcygpKSkuc29ydCgpO1xuICAgIGNvbnN0IGFsbE1hdGNoZWRIYXNoZXMgPSBhd2FpdCBwcm9jZXNzSW5CYXRjaGVzKGFsbE1hdGNoZWRGaWxlcywgNTAwLCAoZmlsZSkgPT5cbiAgICAgIHRoaXMuZnMuaGFzaChmaWxlKSxcbiAgICApO1xuICAgIGFsbE1hdGNoZWRGaWxlcy5mb3JFYWNoKChmaWxlLCBpZHgpID0+IHtcbiAgICAgIGhhc2hUYWJsZVtqb2luVXJscyh0aGlzLmJhc2VIcmVmLCBmaWxlKV0gPSBhbGxNYXRjaGVkSGFzaGVzW2lkeF07XG4gICAgfSk7XG5cbiAgICAvLyBHZW5lcmF0ZSBhbmQgcmV0dXJuIHRoZSBwcm9jZXNzZWQgYXNzZXQtZ3JvdXBzLlxuICAgIHJldHVybiBBcnJheS5mcm9tKGZpbGVzUGVyR3JvdXAuZW50cmllcygpKS5tYXAoKFtncm91cCwgbWF0Y2hlZEZpbGVzXSkgPT4gKHtcbiAgICAgIG5hbWU6IGdyb3VwLm5hbWUsXG4gICAgICBpbnN0YWxsTW9kZTogZ3JvdXAuaW5zdGFsbE1vZGUgfHwgJ3ByZWZldGNoJyxcbiAgICAgIHVwZGF0ZU1vZGU6IGdyb3VwLnVwZGF0ZU1vZGUgfHwgZ3JvdXAuaW5zdGFsbE1vZGUgfHwgJ3ByZWZldGNoJyxcbiAgICAgIGNhY2hlUXVlcnlPcHRpb25zOiBidWlsZENhY2hlUXVlcnlPcHRpb25zKGdyb3VwLmNhY2hlUXVlcnlPcHRpb25zKSxcbiAgICAgIHVybHM6IG1hdGNoZWRGaWxlcy5tYXAoKHVybCkgPT4gam9pblVybHModGhpcy5iYXNlSHJlZiwgdXJsKSksXG4gICAgICBwYXR0ZXJuczogKGdyb3VwLnJlc291cmNlcy51cmxzIHx8IFtdKS5tYXAoKHVybCkgPT4gdXJsVG9SZWdleCh1cmwsIHRoaXMuYmFzZUhyZWYsIHRydWUpKSxcbiAgICB9KSk7XG4gIH1cblxuICBwcml2YXRlIHByb2Nlc3NEYXRhR3JvdXBzKGNvbmZpZzogQ29uZmlnKTogT2JqZWN0W10ge1xuICAgIHJldHVybiAoY29uZmlnLmRhdGFHcm91cHMgfHwgW10pLm1hcCgoZ3JvdXApID0+IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIG5hbWU6IGdyb3VwLm5hbWUsXG4gICAgICAgIHBhdHRlcm5zOiBncm91cC51cmxzLm1hcCgodXJsKSA9PiB1cmxUb1JlZ2V4KHVybCwgdGhpcy5iYXNlSHJlZiwgdHJ1ZSkpLFxuICAgICAgICBzdHJhdGVneTogZ3JvdXAuY2FjaGVDb25maWcuc3RyYXRlZ3kgfHwgJ3BlcmZvcm1hbmNlJyxcbiAgICAgICAgbWF4U2l6ZTogZ3JvdXAuY2FjaGVDb25maWcubWF4U2l6ZSxcbiAgICAgICAgbWF4QWdlOiBwYXJzZUR1cmF0aW9uVG9Ncyhncm91cC5jYWNoZUNvbmZpZy5tYXhBZ2UpLFxuICAgICAgICB0aW1lb3V0TXM6IGdyb3VwLmNhY2hlQ29uZmlnLnRpbWVvdXQgJiYgcGFyc2VEdXJhdGlvblRvTXMoZ3JvdXAuY2FjaGVDb25maWcudGltZW91dCksXG4gICAgICAgIGNhY2hlT3BhcXVlUmVzcG9uc2VzOiBncm91cC5jYWNoZUNvbmZpZy5jYWNoZU9wYXF1ZVJlc3BvbnNlcyxcbiAgICAgICAgY2FjaGVRdWVyeU9wdGlvbnM6IGJ1aWxkQ2FjaGVRdWVyeU9wdGlvbnMoZ3JvdXAuY2FjaGVRdWVyeU9wdGlvbnMpLFxuICAgICAgICB2ZXJzaW9uOiBncm91cC52ZXJzaW9uICE9PSB1bmRlZmluZWQgPyBncm91cC52ZXJzaW9uIDogMSxcbiAgICAgIH07XG4gICAgfSk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByb2Nlc3NOYXZpZ2F0aW9uVXJscyhcbiAgYmFzZUhyZWY6IHN0cmluZyxcbiAgdXJscyA9IERFRkFVTFRfTkFWSUdBVElPTl9VUkxTLFxuKToge3Bvc2l0aXZlOiBib29sZWFuOyByZWdleDogc3RyaW5nfVtdIHtcbiAgcmV0dXJuIHVybHMubWFwKCh1cmwpID0+IHtcbiAgICBjb25zdCBwb3NpdGl2ZSA9ICF1cmwuc3RhcnRzV2l0aCgnIScpO1xuICAgIHVybCA9IHBvc2l0aXZlID8gdXJsIDogdXJsLnNsaWNlKDEpO1xuICAgIHJldHVybiB7cG9zaXRpdmUsIHJlZ2V4OiBgXiR7dXJsVG9SZWdleCh1cmwsIGJhc2VIcmVmKX0kYH07XG4gIH0pO1xufVxuXG5hc3luYyBmdW5jdGlvbiBwcm9jZXNzSW5CYXRjaGVzPEksIE8+KFxuICBpdGVtczogSVtdLFxuICBiYXRjaFNpemU6IG51bWJlcixcbiAgcHJvY2Vzc0ZuOiAoaXRlbTogSSkgPT4gTyB8IFByb21pc2U8Tz4sXG4pOiBQcm9taXNlPE9bXT4ge1xuICBjb25zdCBiYXRjaGVzID0gW107XG5cbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBpdGVtcy5sZW5ndGg7IGkgKz0gYmF0Y2hTaXplKSB7XG4gICAgYmF0Y2hlcy5wdXNoKGl0ZW1zLnNsaWNlKGksIGkgKyBiYXRjaFNpemUpKTtcbiAgfVxuXG4gIHJldHVybiBiYXRjaGVzLnJlZHVjZShcbiAgICBhc3luYyAocHJldiwgYmF0Y2gpID0+XG4gICAgICAoYXdhaXQgcHJldikuY29uY2F0KGF3YWl0IFByb21pc2UuYWxsKGJhdGNoLm1hcCgoaXRlbSkgPT4gcHJvY2Vzc0ZuKGl0ZW0pKSkpLFxuICAgIFByb21pc2UucmVzb2x2ZTxPW10+KFtdKSxcbiAgKTtcbn1cblxuZnVuY3Rpb24gZ2xvYkxpc3RUb01hdGNoZXIoZ2xvYnM6IHN0cmluZ1tdKTogKGZpbGU6IHN0cmluZykgPT4gYm9vbGVhbiB7XG4gIGNvbnN0IHBhdHRlcm5zID0gZ2xvYnMubWFwKChwYXR0ZXJuKSA9PiB7XG4gICAgaWYgKHBhdHRlcm4uc3RhcnRzV2l0aCgnIScpKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBwb3NpdGl2ZTogZmFsc2UsXG4gICAgICAgIHJlZ2V4OiBuZXcgUmVnRXhwKCdeJyArIGdsb2JUb1JlZ2V4KHBhdHRlcm4uc2xpY2UoMSkpICsgJyQnKSxcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHBvc2l0aXZlOiB0cnVlLFxuICAgICAgICByZWdleDogbmV3IFJlZ0V4cCgnXicgKyBnbG9iVG9SZWdleChwYXR0ZXJuKSArICckJyksXG4gICAgICB9O1xuICAgIH1cbiAgfSk7XG4gIHJldHVybiAoZmlsZTogc3RyaW5nKSA9PiBtYXRjaGVzKGZpbGUsIHBhdHRlcm5zKTtcbn1cblxuZnVuY3Rpb24gbWF0Y2hlcyhmaWxlOiBzdHJpbmcsIHBhdHRlcm5zOiB7cG9zaXRpdmU6IGJvb2xlYW47IHJlZ2V4OiBSZWdFeHB9W10pOiBib29sZWFuIHtcbiAgcmV0dXJuIHBhdHRlcm5zLnJlZHVjZSgoaXNNYXRjaCwgcGF0dGVybikgPT4ge1xuICAgIGlmIChwYXR0ZXJuLnBvc2l0aXZlKSB7XG4gICAgICByZXR1cm4gaXNNYXRjaCB8fCBwYXR0ZXJuLnJlZ2V4LnRlc3QoZmlsZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBpc01hdGNoICYmICFwYXR0ZXJuLnJlZ2V4LnRlc3QoZmlsZSk7XG4gICAgfVxuICB9LCBmYWxzZSk7XG59XG5cbmZ1bmN0aW9uIHVybFRvUmVnZXgodXJsOiBzdHJpbmcsIGJhc2VIcmVmOiBzdHJpbmcsIGxpdGVyYWxRdWVzdGlvbk1hcms/OiBib29sZWFuKTogc3RyaW5nIHtcbiAgaWYgKCF1cmwuc3RhcnRzV2l0aCgnLycpICYmIHVybC5pbmRleE9mKCc6Ly8nKSA9PT0gLTEpIHtcbiAgICAvLyBQcmVmaXggcmVsYXRpdmUgVVJMcyB3aXRoIGBiYXNlSHJlZmAuXG4gICAgLy8gU3RyaXAgYSBsZWFkaW5nIGAuYCBmcm9tIGEgcmVsYXRpdmUgYGJhc2VIcmVmYCAoZS5nLiBgLi9mb28vYCksIHNpbmNlIGl0IHdvdWxkIHJlc3VsdCBpbiBhblxuICAgIC8vIGluY29ycmVjdCByZWdleCAobWF0Y2hpbmcgYSBsaXRlcmFsIGAuYCkuXG4gICAgdXJsID0gam9pblVybHMoYmFzZUhyZWYucmVwbGFjZSgvXlxcLig/PVxcLykvLCAnJyksIHVybCk7XG4gIH1cblxuICByZXR1cm4gZ2xvYlRvUmVnZXgodXJsLCBsaXRlcmFsUXVlc3Rpb25NYXJrKTtcbn1cblxuZnVuY3Rpb24gam9pblVybHMoYTogc3RyaW5nLCBiOiBzdHJpbmcpOiBzdHJpbmcge1xuICBpZiAoYS5lbmRzV2l0aCgnLycpICYmIGIuc3RhcnRzV2l0aCgnLycpKSB7XG4gICAgcmV0dXJuIGEgKyBiLnNsaWNlKDEpO1xuICB9IGVsc2UgaWYgKCFhLmVuZHNXaXRoKCcvJykgJiYgIWIuc3RhcnRzV2l0aCgnLycpKSB7XG4gICAgcmV0dXJuIGEgKyAnLycgKyBiO1xuICB9XG4gIHJldHVybiBhICsgYjtcbn1cblxuZnVuY3Rpb24gd2l0aE9yZGVyZWRLZXlzPFQgZXh0ZW5kcyB7W2tleTogc3RyaW5nXTogYW55fT4odW5vcmRlcmVkT2JqOiBUKTogVCB7XG4gIGNvbnN0IG9yZGVyZWRPYmogPSB7fSBhcyB7W2tleTogc3RyaW5nXTogYW55fTtcbiAgT2JqZWN0LmtleXModW5vcmRlcmVkT2JqKVxuICAgIC5zb3J0KClcbiAgICAuZm9yRWFjaCgoa2V5KSA9PiAob3JkZXJlZE9ialtrZXldID0gdW5vcmRlcmVkT2JqW2tleV0pKTtcbiAgcmV0dXJuIG9yZGVyZWRPYmogYXMgVDtcbn1cblxuZnVuY3Rpb24gYnVpbGRDYWNoZVF1ZXJ5T3B0aW9ucyhcbiAgaW5PcHRpb25zPzogUGljazxDYWNoZVF1ZXJ5T3B0aW9ucywgJ2lnbm9yZVNlYXJjaCc+LFxuKTogQ2FjaGVRdWVyeU9wdGlvbnMge1xuICByZXR1cm4ge1xuICAgIGlnbm9yZVZhcnk6IHRydWUsXG4gICAgLi4uaW5PcHRpb25zLFxuICB9O1xufVxuIl19
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright Google LLC All Rights Reserved.
|
|
4
|
-
*
|
|
5
|
-
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
-
* found in the LICENSE file at https://angular.io/license
|
|
7
|
-
*/
|
|
8
|
-
const QUESTION_MARK = '[^/]';
|
|
9
|
-
const WILD_SINGLE = '[^/]*';
|
|
10
|
-
const WILD_OPEN = '(?:.+\\/)?';
|
|
11
|
-
const TO_ESCAPE_BASE = [
|
|
12
|
-
{ replace: /\./g, with: '\\.' },
|
|
13
|
-
{ replace: /\+/g, with: '\\+' },
|
|
14
|
-
{ replace: /\*/g, with: WILD_SINGLE },
|
|
15
|
-
];
|
|
16
|
-
const TO_ESCAPE_WILDCARD_QM = [...TO_ESCAPE_BASE, { replace: /\?/g, with: QUESTION_MARK }];
|
|
17
|
-
const TO_ESCAPE_LITERAL_QM = [...TO_ESCAPE_BASE, { replace: /\?/g, with: '\\?' }];
|
|
18
|
-
export function globToRegex(glob, literalQuestionMark = false) {
|
|
19
|
-
const toEscape = literalQuestionMark ? TO_ESCAPE_LITERAL_QM : TO_ESCAPE_WILDCARD_QM;
|
|
20
|
-
const segments = glob.split('/').reverse();
|
|
21
|
-
let regex = '';
|
|
22
|
-
while (segments.length > 0) {
|
|
23
|
-
const segment = segments.pop();
|
|
24
|
-
if (segment === '**') {
|
|
25
|
-
if (segments.length > 0) {
|
|
26
|
-
regex += WILD_OPEN;
|
|
27
|
-
}
|
|
28
|
-
else {
|
|
29
|
-
regex += '.*';
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
else {
|
|
33
|
-
const processed = toEscape.reduce((segment, escape) => segment.replace(escape.replace, escape.with), segment);
|
|
34
|
-
regex += processed;
|
|
35
|
-
if (segments.length > 0) {
|
|
36
|
-
regex += '\\/';
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
return regex;
|
|
41
|
-
}
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NlcnZpY2Utd29ya2VyL2NvbmZpZy9zcmMvZ2xvYi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCxNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUM7QUFDN0IsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDO0FBQzVCLE1BQU0sU0FBUyxHQUFHLFlBQVksQ0FBQztBQUUvQixNQUFNLGNBQWMsR0FBRztJQUNyQixFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBQztJQUM3QixFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBQztJQUM3QixFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBQztDQUNwQyxDQUFDO0FBQ0YsTUFBTSxxQkFBcUIsR0FBRyxDQUFDLEdBQUcsY0FBYyxFQUFFLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFDLENBQUMsQ0FBQztBQUN6RixNQUFNLG9CQUFvQixHQUFHLENBQUMsR0FBRyxjQUFjLEVBQUUsRUFBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFDO0FBRWhGLE1BQU0sVUFBVSxXQUFXLENBQUMsSUFBWSxFQUFFLG1CQUFtQixHQUFHLEtBQUs7SUFDbkUsTUFBTSxRQUFRLEdBQUcsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQztJQUNwRixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzNDLElBQUksS0FBSyxHQUFXLEVBQUUsQ0FBQztJQUN2QixPQUFPLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDM0IsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRyxDQUFDO1FBQ2hDLElBQUksT0FBTyxLQUFLLElBQUksRUFBRSxDQUFDO1lBQ3JCLElBQUksUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDeEIsS0FBSyxJQUFJLFNBQVMsQ0FBQztZQUNyQixDQUFDO2lCQUFNLENBQUM7Z0JBQ04sS0FBSyxJQUFJLElBQUksQ0FBQztZQUNoQixDQUFDO1FBQ0gsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLFNBQVMsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUMvQixDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQ2pFLE9BQU8sQ0FDUixDQUFDO1lBQ0YsS0FBSyxJQUFJLFNBQVMsQ0FBQztZQUNuQixJQUFJLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ3hCLEtBQUssSUFBSSxLQUFLLENBQUM7WUFDakIsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmNvbnN0IFFVRVNUSU9OX01BUksgPSAnW14vXSc7XG5jb25zdCBXSUxEX1NJTkdMRSA9ICdbXi9dKic7XG5jb25zdCBXSUxEX09QRU4gPSAnKD86LitcXFxcLyk/JztcblxuY29uc3QgVE9fRVNDQVBFX0JBU0UgPSBbXG4gIHtyZXBsYWNlOiAvXFwuL2csIHdpdGg6ICdcXFxcLid9LFxuICB7cmVwbGFjZTogL1xcKy9nLCB3aXRoOiAnXFxcXCsnfSxcbiAge3JlcGxhY2U6IC9cXCovZywgd2l0aDogV0lMRF9TSU5HTEV9LFxuXTtcbmNvbnN0IFRPX0VTQ0FQRV9XSUxEQ0FSRF9RTSA9IFsuLi5UT19FU0NBUEVfQkFTRSwge3JlcGxhY2U6IC9cXD8vZywgd2l0aDogUVVFU1RJT05fTUFSS31dO1xuY29uc3QgVE9fRVNDQVBFX0xJVEVSQUxfUU0gPSBbLi4uVE9fRVNDQVBFX0JBU0UsIHtyZXBsYWNlOiAvXFw/L2csIHdpdGg6ICdcXFxcPyd9XTtcblxuZXhwb3J0IGZ1bmN0aW9uIGdsb2JUb1JlZ2V4KGdsb2I6IHN0cmluZywgbGl0ZXJhbFF1ZXN0aW9uTWFyayA9IGZhbHNlKTogc3RyaW5nIHtcbiAgY29uc3QgdG9Fc2NhcGUgPSBsaXRlcmFsUXVlc3Rpb25NYXJrID8gVE9fRVNDQVBFX0xJVEVSQUxfUU0gOiBUT19FU0NBUEVfV0lMRENBUkRfUU07XG4gIGNvbnN0IHNlZ21lbnRzID0gZ2xvYi5zcGxpdCgnLycpLnJldmVyc2UoKTtcbiAgbGV0IHJlZ2V4OiBzdHJpbmcgPSAnJztcbiAgd2hpbGUgKHNlZ21lbnRzLmxlbmd0aCA+IDApIHtcbiAgICBjb25zdCBzZWdtZW50ID0gc2VnbWVudHMucG9wKCkhO1xuICAgIGlmIChzZWdtZW50ID09PSAnKionKSB7XG4gICAgICBpZiAoc2VnbWVudHMubGVuZ3RoID4gMCkge1xuICAgICAgICByZWdleCArPSBXSUxEX09QRU47XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZWdleCArPSAnLionO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBwcm9jZXNzZWQgPSB0b0VzY2FwZS5yZWR1Y2UoXG4gICAgICAgIChzZWdtZW50LCBlc2NhcGUpID0+IHNlZ21lbnQucmVwbGFjZShlc2NhcGUucmVwbGFjZSwgZXNjYXBlLndpdGgpLFxuICAgICAgICBzZWdtZW50LFxuICAgICAgKTtcbiAgICAgIHJlZ2V4ICs9IHByb2Nlc3NlZDtcbiAgICAgIGlmIChzZWdtZW50cy5sZW5ndGggPiAwKSB7XG4gICAgICAgIHJlZ2V4ICs9ICdcXFxcLyc7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiByZWdleDtcbn1cbiJdfQ==
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright Google LLC All Rights Reserved.
|
|
4
|
-
*
|
|
5
|
-
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
-
* found in the LICENSE file at https://angular.io/license
|
|
7
|
-
*/
|
|
8
|
-
export {};
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zZXJ2aWNlLXdvcmtlci9jb25maWcvc3JjL2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG4vKipcbiAqIEBwdWJsaWNBcGlcbiAqL1xuZXhwb3J0IHR5cGUgR2xvYiA9IHN0cmluZztcblxuLyoqXG4gKiBAcHVibGljQXBpXG4gKi9cbmV4cG9ydCB0eXBlIER1cmF0aW9uID0gc3RyaW5nO1xuXG4vKipcbiAqIEEgdG9wLWxldmVsIEFuZ3VsYXIgU2VydmljZSBXb3JrZXIgY29uZmlndXJhdGlvbiBvYmplY3QuXG4gKlxuICogQHB1YmxpY0FwaVxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbmZpZyB7XG4gIGFwcERhdGE/OiB7fTtcbiAgaW5kZXg6IHN0cmluZztcbiAgYXNzZXRHcm91cHM/OiBBc3NldEdyb3VwW107XG4gIGRhdGFHcm91cHM/OiBEYXRhR3JvdXBbXTtcbiAgbmF2aWdhdGlvblVybHM/OiBzdHJpbmdbXTtcbiAgbmF2aWdhdGlvblJlcXVlc3RTdHJhdGVneT86ICdmcmVzaG5lc3MnIHwgJ3BlcmZvcm1hbmNlJztcbn1cblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGZvciBhIHBhcnRpY3VsYXIgZ3JvdXAgb2YgYXNzZXRzLlxuICpcbiAqIEBwdWJsaWNBcGlcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBc3NldEdyb3VwIHtcbiAgbmFtZTogc3RyaW5nO1xuICBpbnN0YWxsTW9kZT86ICdwcmVmZXRjaCcgfCAnbGF6eSc7XG4gIHVwZGF0ZU1vZGU/OiAncHJlZmV0Y2gnIHwgJ2xhenknO1xuICByZXNvdXJjZXM6IHtmaWxlcz86IEdsb2JbXTsgdXJscz86IEdsb2JbXX07XG4gIGNhY2hlUXVlcnlPcHRpb25zPzogUGljazxDYWNoZVF1ZXJ5T3B0aW9ucywgJ2lnbm9yZVNlYXJjaCc+O1xufVxuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gZm9yIGEgcGFydGljdWxhciBncm91cCBvZiBkeW5hbWljIFVSTHMuXG4gKlxuICogQHB1YmxpY0FwaVxuICovXG5leHBvcnQgaW50ZXJmYWNlIERhdGFHcm91cCB7XG4gIG5hbWU6IHN0cmluZztcbiAgdXJsczogR2xvYltdO1xuICB2ZXJzaW9uPzogbnVtYmVyO1xuICBjYWNoZUNvbmZpZzoge1xuICAgIG1heFNpemU6IG51bWJlcjtcbiAgICBtYXhBZ2U6IER1cmF0aW9uO1xuICAgIHRpbWVvdXQ/OiBEdXJhdGlvbjtcbiAgICBzdHJhdGVneT86ICdmcmVzaG5lc3MnIHwgJ3BlcmZvcm1hbmNlJztcbiAgICBjYWNoZU9wYXF1ZVJlc3BvbnNlcz86IGJvb2xlYW47XG4gIH07XG4gIGNhY2hlUXVlcnlPcHRpb25zPzogUGljazxDYWNoZVF1ZXJ5T3B0aW9ucywgJ2lnbm9yZVNlYXJjaCc+O1xufVxuIl19
|
package/esm2022/index.mjs
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright Google LLC All Rights Reserved.
|
|
4
|
-
*
|
|
5
|
-
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
-
* found in the LICENSE file at https://angular.io/license
|
|
7
|
-
*/
|
|
8
|
-
// This file is not used to build this module. It is only used during editing
|
|
9
|
-
// by the TypeScript language service and during build for verification. `ngc`
|
|
10
|
-
// replaces this file with production index.ts when it rewrites private symbol
|
|
11
|
-
// names.
|
|
12
|
-
export * from './public_api';
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zZXJ2aWNlLXdvcmtlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCw2RUFBNkU7QUFDN0UsOEVBQThFO0FBQzlFLDhFQUE4RTtBQUM5RSxTQUFTO0FBRVQsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuLy8gVGhpcyBmaWxlIGlzIG5vdCB1c2VkIHRvIGJ1aWxkIHRoaXMgbW9kdWxlLiBJdCBpcyBvbmx5IHVzZWQgZHVyaW5nIGVkaXRpbmdcbi8vIGJ5IHRoZSBUeXBlU2NyaXB0IGxhbmd1YWdlIHNlcnZpY2UgYW5kIGR1cmluZyBidWlsZCBmb3IgdmVyaWZpY2F0aW9uLiBgbmdjYFxuLy8gcmVwbGFjZXMgdGhpcyBmaWxlIHdpdGggcHJvZHVjdGlvbiBpbmRleC50cyB3aGVuIGl0IHJld3JpdGVzIHByaXZhdGUgc3ltYm9sXG4vLyBuYW1lcy5cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcbiJdfQ==
|
package/esm2022/public_api.mjs
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright Google LLC All Rights Reserved.
|
|
4
|
-
*
|
|
5
|
-
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
-
* found in the LICENSE file at https://angular.io/license
|
|
7
|
-
*/
|
|
8
|
-
/**
|
|
9
|
-
* @module
|
|
10
|
-
* @description
|
|
11
|
-
* Entry point for all public APIs of this package.
|
|
12
|
-
*/
|
|
13
|
-
export * from './src/index';
|
|
14
|
-
// This file only reexports content of the `src` folder. Keep it that way.
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NlcnZpY2Utd29ya2VyL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBRUg7Ozs7R0FJRztBQUNILGNBQWMsYUFBYSxDQUFDO0FBRTVCLDBFQUEwRSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG4vKipcbiAqIEBtb2R1bGVcbiAqIEBkZXNjcmlwdGlvblxuICogRW50cnkgcG9pbnQgZm9yIGFsbCBwdWJsaWMgQVBJcyBvZiB0aGlzIHBhY2thZ2UuXG4gKi9cbmV4cG9ydCAqIGZyb20gJy4vc3JjL2luZGV4JztcblxuLy8gVGhpcyBmaWxlIG9ubHkgcmVleHBvcnRzIGNvbnRlbnQgb2YgdGhlIGBzcmNgIGZvbGRlci4gS2VlcCBpdCB0aGF0IHdheS5cbiJdfQ==
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './index';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS13b3JrZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zZXJ2aWNlLXdvcmtlci9zZXJ2aWNlLXdvcmtlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
|
package/esm2022/src/index.mjs
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright Google LLC All Rights Reserved.
|
|
4
|
-
*
|
|
5
|
-
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
-
* found in the LICENSE file at https://angular.io/license
|
|
7
|
-
*/
|
|
8
|
-
export { ServiceWorkerModule } from './module';
|
|
9
|
-
export { provideServiceWorker, SwRegistrationOptions } from './provider';
|
|
10
|
-
export { SwPush } from './push';
|
|
11
|
-
export { SwUpdate } from './update';
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zZXJ2aWNlLXdvcmtlci9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBVUgsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sVUFBVSxDQUFDO0FBQzdDLE9BQU8sRUFBQyxvQkFBb0IsRUFBRSxxQkFBcUIsRUFBQyxNQUFNLFlBQVksQ0FBQztBQUN2RSxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sUUFBUSxDQUFDO0FBQzlCLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxVQUFVLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuZXhwb3J0IHtcbiAgTm9OZXdWZXJzaW9uRGV0ZWN0ZWRFdmVudCxcbiAgVW5yZWNvdmVyYWJsZVN0YXRlRXZlbnQsXG4gIFZlcnNpb25EZXRlY3RlZEV2ZW50LFxuICBWZXJzaW9uRXZlbnQsXG4gIFZlcnNpb25JbnN0YWxsYXRpb25GYWlsZWRFdmVudCxcbiAgVmVyc2lvblJlYWR5RXZlbnQsXG59IGZyb20gJy4vbG93X2xldmVsJztcbmV4cG9ydCB7U2VydmljZVdvcmtlck1vZHVsZX0gZnJvbSAnLi9tb2R1bGUnO1xuZXhwb3J0IHtwcm92aWRlU2VydmljZVdvcmtlciwgU3dSZWdpc3RyYXRpb25PcHRpb25zfSBmcm9tICcuL3Byb3ZpZGVyJztcbmV4cG9ydCB7U3dQdXNofSBmcm9tICcuL3B1c2gnO1xuZXhwb3J0IHtTd1VwZGF0ZX0gZnJvbSAnLi91cGRhdGUnO1xuIl19
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright Google LLC All Rights Reserved.
|
|
4
|
-
*
|
|
5
|
-
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
-
* found in the LICENSE file at https://angular.io/license
|
|
7
|
-
*/
|
|
8
|
-
import { concat, defer, fromEvent, of, throwError } from 'rxjs';
|
|
9
|
-
import { filter, map, publish, switchMap, take, tap } from 'rxjs/operators';
|
|
10
|
-
export const ERR_SW_NOT_SUPPORTED = 'Service workers are disabled or not supported by this browser';
|
|
11
|
-
function errorObservable(message) {
|
|
12
|
-
return defer(() => throwError(new Error(message)));
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* @publicApi
|
|
16
|
-
*/
|
|
17
|
-
export class NgswCommChannel {
|
|
18
|
-
constructor(serviceWorker) {
|
|
19
|
-
this.serviceWorker = serviceWorker;
|
|
20
|
-
if (!serviceWorker) {
|
|
21
|
-
this.worker = this.events = this.registration = errorObservable(ERR_SW_NOT_SUPPORTED);
|
|
22
|
-
}
|
|
23
|
-
else {
|
|
24
|
-
const controllerChangeEvents = fromEvent(serviceWorker, 'controllerchange');
|
|
25
|
-
const controllerChanges = controllerChangeEvents.pipe(map(() => serviceWorker.controller));
|
|
26
|
-
const currentController = defer(() => of(serviceWorker.controller));
|
|
27
|
-
const controllerWithChanges = concat(currentController, controllerChanges);
|
|
28
|
-
this.worker = controllerWithChanges.pipe(filter((c) => !!c));
|
|
29
|
-
this.registration = (this.worker.pipe(switchMap(() => serviceWorker.getRegistration())));
|
|
30
|
-
const rawEvents = fromEvent(serviceWorker, 'message');
|
|
31
|
-
const rawEventPayload = rawEvents.pipe(map((event) => event.data));
|
|
32
|
-
const eventsUnconnected = rawEventPayload.pipe(filter((event) => event && event.type));
|
|
33
|
-
const events = eventsUnconnected.pipe(publish());
|
|
34
|
-
events.connect();
|
|
35
|
-
this.events = events;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
postMessage(action, payload) {
|
|
39
|
-
return this.worker
|
|
40
|
-
.pipe(take(1), tap((sw) => {
|
|
41
|
-
sw.postMessage({
|
|
42
|
-
action,
|
|
43
|
-
...payload,
|
|
44
|
-
});
|
|
45
|
-
}))
|
|
46
|
-
.toPromise()
|
|
47
|
-
.then(() => undefined);
|
|
48
|
-
}
|
|
49
|
-
postMessageWithOperation(type, payload, operationNonce) {
|
|
50
|
-
const waitForOperationCompleted = this.waitForOperationCompleted(operationNonce);
|
|
51
|
-
const postMessage = this.postMessage(type, payload);
|
|
52
|
-
return Promise.all([postMessage, waitForOperationCompleted]).then(([, result]) => result);
|
|
53
|
-
}
|
|
54
|
-
generateNonce() {
|
|
55
|
-
return Math.round(Math.random() * 10000000);
|
|
56
|
-
}
|
|
57
|
-
eventsOfType(type) {
|
|
58
|
-
let filterFn;
|
|
59
|
-
if (typeof type === 'string') {
|
|
60
|
-
filterFn = (event) => event.type === type;
|
|
61
|
-
}
|
|
62
|
-
else {
|
|
63
|
-
filterFn = (event) => type.includes(event.type);
|
|
64
|
-
}
|
|
65
|
-
return this.events.pipe(filter(filterFn));
|
|
66
|
-
}
|
|
67
|
-
nextEventOfType(type) {
|
|
68
|
-
return this.eventsOfType(type).pipe(take(1));
|
|
69
|
-
}
|
|
70
|
-
waitForOperationCompleted(nonce) {
|
|
71
|
-
return this.eventsOfType('OPERATION_COMPLETED')
|
|
72
|
-
.pipe(filter((event) => event.nonce === nonce), take(1), map((event) => {
|
|
73
|
-
if (event.result !== undefined) {
|
|
74
|
-
return event.result;
|
|
75
|
-
}
|
|
76
|
-
throw new Error(event.error);
|
|
77
|
-
}))
|
|
78
|
-
.toPromise();
|
|
79
|
-
}
|
|
80
|
-
get isEnabled() {
|
|
81
|
-
return !!this.serviceWorker;
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG93X2xldmVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc2VydmljZS13b3JrZXIvc3JjL2xvd19sZXZlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCxPQUFPLEVBQUMsTUFBTSxFQUF5QixLQUFLLEVBQUUsU0FBUyxFQUFjLEVBQUUsRUFBRSxVQUFVLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDakcsT0FBTyxFQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFMUUsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsK0RBQStELENBQUM7QUFnSHBHLFNBQVMsZUFBZSxDQUFDLE9BQWU7SUFDdEMsT0FBTyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyRCxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sZUFBZTtJQU8xQixZQUFvQixhQUFpRDtRQUFqRCxrQkFBYSxHQUFiLGFBQWEsQ0FBb0M7UUFDbkUsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsWUFBWSxHQUFHLGVBQWUsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ3hGLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxzQkFBc0IsR0FBRyxTQUFTLENBQUMsYUFBYSxFQUFFLGtCQUFrQixDQUFDLENBQUM7WUFDNUUsTUFBTSxpQkFBaUIsR0FBRyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1lBQzNGLE1BQU0saUJB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LENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxlQUFlLENBQXVCLElBQWU7UUFDbkQsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQseUJBQXlCLENBQUMsS0FBYTtRQUNyQyxPQUFPLElBQUksQ0FBQyxZQUFZLENBQTBCLHFCQUFxQixDQUFDO2FBQ3JFLElBQUksQ0FDSCxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLEtBQUssS0FBSyxDQUFDLEVBQ3hDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFDUCxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNaLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxTQUFTLEVBQUUsQ0FBQztnQkFDL0IsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDO1lBQ3RCLENBQUM7WUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFNLENBQUMsQ0FBQztRQUNoQyxDQUFDLENBQUMsQ0FDSDthQUNBLFNBQVMsRUFBc0IsQ0FBQztJQUNyQyxDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1gsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM5QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHtjb25jYXQsIENvbm5lY3RhYmxlT2JzZXJ2YWJsZSwgZGVmZXIsIGZyb21FdmVudCwgT2JzZXJ2YWJsZSwgb2YsIHRocm93RXJyb3J9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtmaWx0ZXIsIG1hcCwgcHVibGlzaCwgc3dpdGNoTWFwLCB0YWtlLCB0YXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuZXhwb3J0IGNvbnN0IEVSUl9TV19OT1RfU1VQUE9SVEVEID0gJ1NlcnZpY2Ugd29ya2VycyBhcmUgZGlzYWJsZWQgb3Igbm90IHN1cHBvcnRlZCBieSB0aGlzIGJyb3dzZXInO1xuXG4vKipcbiAqIEFuIGV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgc2VydmljZSB3b3JrZXIgaGFzIGNoZWNrZWQgdGhlIHZlcnNpb24gb2YgdGhlIGFwcCBvbiB0aGUgc2VydmVyIGFuZCBpdFxuICogZGlkbid0IGZpbmQgYSBuZXcgdmVyc2lvbiB0aGF0IGl0IGRvZXNuJ3QgaGF2ZSBhbHJlYWR5IGRvd25sb2FkZWQuXG4gKlxuICogQHNlZSB7QGxpbmsgZWNvc3lzdGVtL3NlcnZpY2Utd29ya2Vycy9jb21tdW5pY2F0aW9ucyBTZXJ2aWNlIHdvcmtlciBjb21tdW5pY2F0aW9uIGd1aWRlfVxuICpcbiAqIEBwdWJsaWNBcGlcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBOb05ld1ZlcnNpb25EZXRlY3RlZEV2ZW50IHtcbiAgdHlwZTogJ05PX05FV19WRVJTSU9OX0RFVEVDVEVEJztcbiAgdmVyc2lvbjoge2hhc2g6IHN0cmluZzsgYXBwRGF0YT86IE9iamVjdH07XG59XG5cbi8qKlxuICogQW4gZXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBzZXJ2aWNlIHdvcmtlciBoYXMgZGV0ZWN0ZWQgYSBuZXcgdmVyc2lvbiBvZiB0aGUgYXBwIG9uIHRoZSBzZXJ2ZXIgYW5kXG4gKiBpcyBhYm91dCB0byBzdGFydCBkb3dubG9hZGluZyBpdC5cbiAqXG4gKiBAc2VlIHtAbGluayBlY29zeXN0ZW0vc2VydmljZS13b3JrZXJzL2NvbW11bmljYXRpb25zIFNlcnZpY2Ugd29ya2VyIGNvbW11bmljYXRpb24gZ3VpZGV9XG4gKlxuICogQHB1YmxpY0FwaVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFZlcnNpb25EZXRlY3RlZEV2ZW50IHtcbiAgdHlwZTogJ1ZFUlNJT05fREVURUNURUQnO1xuICB2ZXJzaW9uOiB7aGFzaDogc3RyaW5nOyBhcHBEYXRhPzogb2JqZWN0fTtcbn1cblxuLyoqXG4gKiBBbiBldmVudCBlbWl0dGVkIHdoZW4gdGhlIGluc3RhbGxhdGlvbiBvZiBhIG5ldyB2ZXJzaW9uIGZhaWxlZC5cbiAqIEl0IG1heSBiZSB1c2VkIGZvciBsb2dnaW5nL21vbml0b3JpbmcgcHVycG9zZXMuXG4gKlxuICogQHNlZSB7QGxpbmsgZWNvc3lzdGVtL3NlcnZpY2Utd29ya2Vycy9jb21tdW5pY2F0aW9ucyBTZXJ2aWNlIHdvcmtlciBjb21tdW5pY2F0aW9uIGd1aWRlfVxuICpcbiAqIEBwdWJsaWNBcGlcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBWZXJzaW9uSW5zdGFsbGF0aW9uRmFpbGVkRXZlbnQge1xuICB0eXBlOiAnVkVSU0lPTl9JTlNUQUxMQVRJT05fRkFJTEVEJztcbiAgdmVyc2lvbjoge2hhc2g6IHN0cmluZzsgYXBwRGF0YT86IG9iamVjdH07XG4gIGVycm9yOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQW4gZXZlbnQgZW1pdHRlZCB3aGVuIGEgbmV3IHZlcnNpb24gb2YgdGhlIGFwcCBpcyBhdmFpbGFibGUuXG4gKlxuICogQHNlZSB7QGxpbmsgZWNvc3lzdGVtL3NlcnZpY2Utd29ya2Vycy9jb21tdW5pY2F0aW9ucyBTZXJ2aWNlIHdvcmtlciBjb21tdW5pY2F0aW9uIGd1aWRlfVxuICpcbiAqIEBwdWJsaWNBcGlcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBWZXJzaW9uUmVhZHlFdmVudCB7XG4gIHR5cGU6ICdWRVJTSU9OX1JFQURZJztcbiAgY3VycmVudFZlcnNpb246IHtoYXNoOiBzdHJpbmc7IGFwcERhdGE/OiBvYmplY3R9O1xuICBsYXRlc3RWZXJzaW9uOiB7aGFzaDogc3RyaW5nOyBhcHBEYXRhPzogb2JqZWN0fTtcbn1cblxuLyoqXG4gKiBBIHVuaW9uIG9mIGFsbCBldmVudCB0eXBlcyB0aGF0IGNhbiBiZSBlbWl0dGVkIGJ5XG4gKiB7QGxpbmsgU3dVcGRhdGUjdmVyc2lvblVwZGF0ZXN9LlxuICpcbiAqIEBwdWJsaWNBcGlcbiAqL1xuZXhwb3J0IHR5cGUgVmVyc2lvbkV2ZW50ID1cbiAgfCBWZXJzaW9uRGV0ZWN0ZWRFdmVudFxuICB8IFZlcnNpb25JbnN0YWxsYXRpb25GYWlsZWRFdmVudFxuICB8IFZlcnNpb25SZWFkeUV2ZW50XG4gIHwgTm9OZXdWZXJzaW9uRGV0ZWN0ZWRFdmVudDtcblxuLyoqXG4gKiBBbiBldmVudCBlbWl0dGVkIHdoZW4gdGhlIHZlcnNpb24gb2YgdGhlIGFwcCB1c2VkIGJ5IHRoZSBzZXJ2aWNlIHdvcmtlciB0byBzZXJ2ZSB0aGlzIGNsaWVudCBpc1xuICogaW4gYSBicm9rZW4gc3RhdGUgdGhhdCBjYW5ub3QgYmUgcmVjb3ZlcmVkIGZyb20gYW5kIGEgZnVsbCBwYWdlIHJlbG9hZCBpcyByZXF1aXJlZC5cbiAqXG4gKiBGb3IgZXhhbXBsZSwgdGhlIHNlcnZpY2Ugd29ya2VyIG1heSBub3QgYmUgYWJsZSB0byByZXRyaWV2ZSBhIHJlcXVpcmVkIHJlc291cmNlLCBuZWl0aGVyIGZyb20gdGhlXG4gKiBjYWNoZSBub3IgZnJvbSB0aGUgc2VydmVyLiBUaGlzIGNvdWxkIGhhcHBlbiBpZiBhIG5ldyB2ZXJzaW9uIGlzIGRlcGxveWVkIHRvIHRoZSBzZXJ2ZXIgYW5kIHRoZVxuICogc2VydmljZSB3b3JrZXIgY2FjaGUgaGFzIGJlZW4gcGFydGlhbGx5IGNsZWFuZWQgYnkgdGhlIGJyb3dzZXIsIHJlbW92aW5nIHNvbWUgZmlsZXMgb2YgYSBwcmV2aW91c1xuICogYXBwIHZlcnNpb24gYnV0IG5vdCBhbGwuXG4gKlxuICogQHNlZSB7QGxpbmsgZWNvc3lzdGVtL3NlcnZpY2Utd29ya2Vycy9jb21tdW5pY2F0aW9ucyBTZXJ2aWNlIHdvcmtlciBjb21tdW5pY2F0aW9uIGd1aWRlfVxuICpcbiAqIEBwdWJsaWNBcGlcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBVbnJlY292ZXJhYmxlU3RhdGVFdmVudCB7XG4gIHR5cGU6ICdVTlJFQ09WRVJBQkxFX1NUQVRFJztcbiAgcmVhc29uOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQW4gZXZlbnQgZW1pdHRlZCB3aGVuIGEgYFB1c2hFdmVudGAgaXMgcmVjZWl2ZWQgYnkgdGhlIHNlcnZpY2Ugd29ya2VyLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFB1c2hFdmVudCB7XG4gIHR5cGU6ICdQVVNIJztcbiAgZGF0YTogYW55O1xufVxuXG5leHBvcnQgdHlwZSBJbmNvbWluZ0V2ZW50ID0gVW5yZWNvdmVyYWJsZVN0YXRlRXZlbnQgfCBWZXJzaW9uRXZlbnQ7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHlwZWRFdmVudCB7XG4gIHR5cGU6IHN0cmluZztcbn1cblxudHlwZSBPcGVyYXRpb25Db21wbGV0ZWRFdmVudCA9XG4gIHwge1xuICAgICAgdHlwZTogJ09QRVJBVElPTl9DT01QTEVURUQnO1xuICAgICAgbm9uY2U6IG51bWJlcjtcbiAgICAgIHJlc3VsdDogYm9vbGVhbjtcbiAgICB9XG4gIHwge1xuICAgICAgdHlwZTogJ09QRVJBVElPTl9DT01QTEVURUQnO1xuICAgICAgbm9uY2U6IG51bWJlcjtcbiAgICAgIHJlc3VsdD86IHVuZGVmaW5lZDtcbiAgICAgIGVycm9yOiBzdHJpbmc7XG4gICAgfTtcblxuZnVuY3Rpb24gZXJyb3JPYnNlcnZhYmxlKG1lc3NhZ2U6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gIHJldHVybiBkZWZlcigoKSA9PiB0aHJvd0Vycm9yKG5ldyBFcnJvcihtZXNzYWdlKSkpO1xufVxuXG4vKipcbiAqIEBwdWJsaWNBcGlcbiAqL1xuZXhwb3J0IGNsYXNzIE5nc3dDb21tQ2hhbm5lbCB7XG4gIHJlYWRvbmx5IHdvcmtlcjogT2JzZXJ2YWJsZTxTZXJ2aWNlV29ya2VyPjtcblxuICByZWFkb25seSByZWdpc3RyYXRpb246IE9ic2VydmFibGU8U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbj47XG5cbiAgcmVhZG9ubHkgZXZlbnRzOiBPYnNlcnZhYmxlPFR5cGVkRXZlbnQ+O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc2VydmljZVdvcmtlcjogU2VydmljZVdvcmtlckNvbnRhaW5lciB8IHVuZGVmaW5lZCkge1xuICAgIGlmICghc2VydmljZVdvcmtlcikge1xuICAgICAgdGhpcy53b3JrZXIgPSB0aGlzLmV2ZW50cyA9IHRoaXMucmVnaXN0cmF0aW9uID0gZXJyb3JPYnNlcnZhYmxlKEVSUl9TV19OT1RfU1VQUE9SVEVEKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgY29udHJvbGxlckNoYW5nZUV2ZW50cyA9IGZyb21FdmVudChzZXJ2aWNlV29ya2VyLCAnY29udHJvbGxlcmNoYW5nZScpO1xuICAgICAgY29uc3QgY29udHJvbGxlckNoYW5nZXMgPSBjb250cm9sbGVyQ2hhbmdlRXZlbnRzLnBpcGUobWFwKCgpID0+IHNlcnZpY2VXb3JrZXIuY29udHJvbGxlcikpO1xuICAgICAgY29uc3QgY3VycmVudENvbnRyb2xsZXIgPSBkZWZlcigoKSA9PiBvZihzZXJ2aWNlV29ya2VyLmNvbnRyb2xsZXIpKTtcbiAgICAgIGNvbnN0IGNvbnRyb2xsZXJXaXRoQ2hhbmdlcyA9IGNvbmNhdChjdXJyZW50Q29udHJvbGxlciwgY29udHJvbGxlckNoYW5nZXMpO1xuXG4gICAgICB0aGlzLndvcmtlciA9IGNvbnRyb2xsZXJXaXRoQ2hhbmdlcy5waXBlKGZpbHRlcigoYyk6IGMgaXMgU2VydmljZVdvcmtlciA9PiAhIWMpKTtcblxuICAgICAgdGhpcy5yZWdpc3RyYXRpb24gPSA8T2JzZXJ2YWJsZTxTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uPj4oXG4gICAgICAgIHRoaXMud29ya2VyLnBpcGUoc3dpdGNoTWFwKCgpID0+IHNlcnZpY2VXb3JrZXIuZ2V0UmVnaXN0cmF0aW9uKCkpKVxuICAgICAgKTtcblxuICAgICAgY29uc3QgcmF3RXZlbnRzID0gZnJvbUV2ZW50PE1lc3NhZ2VFdmVudD4oc2VydmljZVdvcmtlciwgJ21lc3NhZ2UnKTtcbiAgICAgIGNvbnN0IHJhd0V2ZW50UGF5bG9hZCA9IHJhd0V2ZW50cy5waXBlKG1hcCgoZXZlbnQpID0+IGV2ZW50LmRhdGEpKTtcbiAgICAgIGNvbnN0IGV2ZW50c1VuY29ubmVjdGVkID0gcmF3RXZlbnRQYXlsb2FkLnBpcGUoZmlsdGVyKChldmVudCkgPT4gZXZlbnQgJiYgZXZlbnQudHlwZSkpO1xuICAgICAgY29uc3QgZXZlbnRzID0gZXZlbnRzVW5jb25uZWN0ZWQucGlwZShwdWJsaXNoKCkpIGFzIENvbm5lY3RhYmxlT2JzZXJ2YWJsZTxJbmNvbWluZ0V2ZW50PjtcbiAgICAgIGV2ZW50cy5jb25uZWN0KCk7XG5cbiAgICAgIHRoaXMuZXZlbnRzID0gZXZlbnRzO1xuICAgIH1cbiAgfVxuXG4gIHBvc3RNZXNzYWdlKGFjdGlvbjogc3RyaW5nLCBwYXlsb2FkOiBPYmplY3QpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy53b3JrZXJcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlKDEpLFxuICAgICAgICB0YXAoKHN3OiBTZXJ2aWNlV29ya2VyKSA9PiB7XG4gICAgICAgICAgc3cucG9zdE1lc3NhZ2Uoe1xuICAgICAgICAgICAgYWN0aW9uLFxuICAgICAgICAgICAgLi4ucGF5bG9hZCxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSksXG4gICAgICApXG4gICAgICAudG9Qcm9taXNlKClcbiAgICAgIC50aGVuKCgpID0+IHVuZGVmaW5lZCk7XG4gIH1cblxuICBwb3N0TWVzc2FnZVdpdGhPcGVyYXRpb24oXG4gICAgdHlwZTogc3RyaW5nLFxuICAgIHBheWxvYWQ6IE9iamVjdCxcbiAgICBvcGVyYXRpb25Ob25jZTogbnVtYmVyLFxuICApOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCB3YWl0Rm9yT3BlcmF0aW9uQ29tcGxldGVkID0gdGhpcy53YWl0Rm9yT3BlcmF0aW9uQ29tcGxldGVkKG9wZXJhdGlvbk5vbmNlKTtcbiAgICBjb25zdCBwb3N0TWVzc2FnZSA9IHRoaXMucG9zdE1lc3NhZ2UodHlwZSwgcGF5bG9hZCk7XG4gICAgcmV0dXJuIFByb21pc2UuYWxsKFtwb3N0TWVzc2FnZSwgd2FpdEZvck9wZXJhdGlvbkNvbXBsZXRlZF0pLnRoZW4oKFssIHJlc3VsdF0pID0+IHJlc3VsdCk7XG4gIH1cblxuICBnZW5lcmF0ZU5vbmNlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIE1hdGgucm91bmQoTWF0aC5yYW5kb20oKSAqIDEwMDAwMDAwKTtcbiAgfVxuXG4gIGV2ZW50c09mVHlwZTxUIGV4dGVuZHMgVHlwZWRFdmVudD4odHlwZTogVFsndHlwZSddIHwgVFsndHlwZSddW10pOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICBsZXQgZmlsdGVyRm46IChldmVudDogVHlwZWRFdmVudCkgPT4gZXZlbnQgaXMgVDtcbiAgICBpZiAodHlwZW9mIHR5cGUgPT09ICdzdHJpbmcnKSB7XG4gICAgICBmaWx0ZXJGbiA9IChldmVudDogVHlwZWRFdmVudCk6IGV2ZW50IGlzIFQgPT4gZXZlbnQudHlwZSA9PT0gdHlwZTtcbiAgICB9IGVsc2Uge1xuICAgICAgZmlsdGVyRm4gPSAoZXZlbnQ6IFR5cGVkRXZlbnQpOiBldmVudCBpcyBUID0+IHR5cGUuaW5jbHVkZXMoZXZlbnQudHlwZSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmV2ZW50cy5waXBlKGZpbHRlcihmaWx0ZXJGbikpO1xuICB9XG5cbiAgbmV4dEV2ZW50T2ZUeXBlPFQgZXh0ZW5kcyBUeXBlZEV2ZW50Pih0eXBlOiBUWyd0eXBlJ10pOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICByZXR1cm4gdGhpcy5ldmVudHNPZlR5cGUodHlwZSkucGlwZSh0YWtlKDEpKTtcbiAgfVxuXG4gIHdhaXRGb3JPcGVyYXRpb25Db21wbGV0ZWQobm9uY2U6IG51bWJlcik6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLmV2ZW50c09mVHlwZTxPcGVyYXRpb25Db21wbGV0ZWRFdmVudD4oJ09QRVJBVElPTl9DT01QTEVURUQnKVxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcigoZXZlbnQpID0+IGV2ZW50Lm5vbmNlID09PSBub25jZSksXG4gICAgICAgIHRha2UoMSksXG4gICAgICAgIG1hcCgoZXZlbnQpID0+IHtcbiAgICAgICAgICBpZiAoZXZlbnQucmVzdWx0ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHJldHVybiBldmVudC5yZXN1bHQ7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihldmVudC5lcnJvciEpO1xuICAgICAgICB9KSxcbiAgICAgIClcbiAgICAgIC50b1Byb21pc2UoKSBhcyBQcm9taXNlPGJvb2xlYW4+O1xuICB9XG5cbiAgZ2V0IGlzRW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLnNlcnZpY2VXb3JrZXI7XG4gIH1cbn1cbiJdfQ==
|
package/esm2022/src/module.mjs
DELETED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright Google LLC All Rights Reserved.
|
|
4
|
-
*
|
|
5
|
-
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
-
* found in the LICENSE file at https://angular.io/license
|
|
7
|
-
*/
|
|
8
|
-
import { NgModule } from '@angular/core';
|
|
9
|
-
import { provideServiceWorker } from './provider';
|
|
10
|
-
import { SwPush } from './push';
|
|
11
|
-
import { SwUpdate } from './update';
|
|
12
|
-
import * as i0 from "@angular/core";
|
|
13
|
-
/**
|
|
14
|
-
* @publicApi
|
|
15
|
-
*/
|
|
16
|
-
export class ServiceWorkerModule {
|
|
17
|
-
/**
|
|
18
|
-
* Register the given Angular Service Worker script.
|
|
19
|
-
*
|
|
20
|
-
* If `enabled` is set to `false` in the given options, the module will behave as if service
|
|
21
|
-
* workers are not supported by the browser, and the service worker will not be registered.
|
|
22
|
-
*/
|
|
23
|
-
static register(script, options = {}) {
|
|
24
|
-
return {
|
|
25
|
-
ngModule: ServiceWorkerModule,
|
|
26
|
-
providers: [provideServiceWorker(script, options)],
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.1", ngImport: i0, type: ServiceWorkerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
30
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.0-next.1", ngImport: i0, type: ServiceWorkerModule }); }
|
|
31
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.0-next.1", ngImport: i0, type: ServiceWorkerModule, providers: [SwPush, SwUpdate] }); }
|
|
32
|
-
}
|
|
33
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.1", ngImport: i0, type: ServiceWorkerModule, decorators: [{
|
|
34
|
-
type: NgModule,
|
|
35
|
-
args: [{ providers: [SwPush, SwUpdate] }]
|
|
36
|
-
}] });
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc2VydmljZS13b3JrZXIvc3JjL21vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCxPQUFPLEVBQXNCLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUU1RCxPQUFPLEVBQUMsb0JBQW9CLEVBQXdCLE1BQU0sWUFBWSxDQUFDO0FBQ3ZFLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxRQUFRLENBQUM7QUFDOUIsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLFVBQVUsQ0FBQzs7QUFFbEM7O0dBRUc7QUFFSCxNQUFNLE9BQU8sbUJBQW1CO0lBQzlCOzs7OztPQUtHO0lBQ0gsTUFBTSxDQUFDLFFBQVEsQ0FDYixNQUFjLEVBQ2QsVUFBaUMsRUFBRTtRQUVuQyxPQUFPO1lBQ0wsUUFBUSxFQUFFLG1CQUFtQjtZQUM3QixTQUFTLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7U0FDbkQsQ0FBQztJQUNKLENBQUM7eUhBZlUsbUJBQW1COzBIQUFuQixtQkFBbUI7MEhBQW5CLG1CQUFtQixhQURWLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQzs7c0dBQzNCLG1CQUFtQjtrQkFEL0IsUUFBUTttQkFBQyxFQUFDLFNBQVMsRUFBRSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsRUFBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQge01vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtwcm92aWRlU2VydmljZVdvcmtlciwgU3dSZWdpc3RyYXRpb25PcHRpb25zfSBmcm9tICcuL3Byb3ZpZGVyJztcbmltcG9ydCB7U3dQdXNofSBmcm9tICcuL3B1c2gnO1xuaW1wb3J0IHtTd1VwZGF0ZX0gZnJvbSAnLi91cGRhdGUnO1xuXG4vKipcbiAqIEBwdWJsaWNBcGlcbiAqL1xuQE5nTW9kdWxlKHtwcm92aWRlcnM6IFtTd1B1c2gsIFN3VXBkYXRlXX0pXG5leHBvcnQgY2xhc3MgU2VydmljZVdvcmtlck1vZHVsZSB7XG4gIC8qKlxuICAgKiBSZWdpc3RlciB0aGUgZ2l2ZW4gQW5ndWxhciBTZXJ2aWNlIFdvcmtlciBzY3JpcHQuXG4gICAqXG4gICAqIElmIGBlbmFibGVkYCBpcyBzZXQgdG8gYGZhbHNlYCBpbiB0aGUgZ2l2ZW4gb3B0aW9ucywgdGhlIG1vZHVsZSB3aWxsIGJlaGF2ZSBhcyBpZiBzZXJ2aWNlXG4gICAqIHdvcmtlcnMgYXJlIG5vdCBzdXBwb3J0ZWQgYnkgdGhlIGJyb3dzZXIsIGFuZCB0aGUgc2VydmljZSB3b3JrZXIgd2lsbCBub3QgYmUgcmVnaXN0ZXJlZC5cbiAgICovXG4gIHN0YXRpYyByZWdpc3RlcihcbiAgICBzY3JpcHQ6IHN0cmluZyxcbiAgICBvcHRpb25zOiBTd1JlZ2lzdHJhdGlvbk9wdGlvbnMgPSB7fSxcbiAgKTogTW9kdWxlV2l0aFByb3ZpZGVyczxTZXJ2aWNlV29ya2VyTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBTZXJ2aWNlV29ya2VyTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbcHJvdmlkZVNlcnZpY2VXb3JrZXIoc2NyaXB0LCBvcHRpb25zKV0sXG4gICAgfTtcbiAgfVxufVxuIl19
|
package/esm2022/src/provider.mjs
DELETED
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright Google LLC All Rights Reserved.
|
|
4
|
-
*
|
|
5
|
-
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
-
* found in the LICENSE file at https://angular.io/license
|
|
7
|
-
*/
|
|
8
|
-
import { isPlatformBrowser } from '@angular/common';
|
|
9
|
-
import { APP_INITIALIZER, ApplicationRef, InjectionToken, Injector, makeEnvironmentProviders, NgZone, PLATFORM_ID, } from '@angular/core';
|
|
10
|
-
import { merge, from, of } from 'rxjs';
|
|
11
|
-
import { delay, take } from 'rxjs/operators';
|
|
12
|
-
import { NgswCommChannel } from './low_level';
|
|
13
|
-
import { SwPush } from './push';
|
|
14
|
-
import { SwUpdate } from './update';
|
|
15
|
-
export const SCRIPT = new InjectionToken(ngDevMode ? 'NGSW_REGISTER_SCRIPT' : '');
|
|
16
|
-
export function ngswAppInitializer(injector, script, options, platformId) {
|
|
17
|
-
return () => {
|
|
18
|
-
if (!(isPlatformBrowser(platformId) && 'serviceWorker' in navigator && options.enabled !== false)) {
|
|
19
|
-
return;
|
|
20
|
-
}
|
|
21
|
-
const ngZone = injector.get(NgZone);
|
|
22
|
-
const appRef = injector.get(ApplicationRef);
|
|
23
|
-
// Set up the `controllerchange` event listener outside of
|
|
24
|
-
// the Angular zone to avoid unnecessary change detections,
|
|
25
|
-
// as this event has no impact on view updates.
|
|
26
|
-
ngZone.runOutsideAngular(() => {
|
|
27
|
-
// Wait for service worker controller changes, and fire an INITIALIZE action when a new SW
|
|
28
|
-
// becomes active. This allows the SW to initialize itself even if there is no application
|
|
29
|
-
// traffic.
|
|
30
|
-
const sw = navigator.serviceWorker;
|
|
31
|
-
const onControllerChange = () => sw.controller?.postMessage({ action: 'INITIALIZE' });
|
|
32
|
-
sw.addEventListener('controllerchange', onControllerChange);
|
|
33
|
-
appRef.onDestroy(() => {
|
|
34
|
-
sw.removeEventListener('controllerchange', onControllerChange);
|
|
35
|
-
});
|
|
36
|
-
});
|
|
37
|
-
let readyToRegister$;
|
|
38
|
-
if (typeof options.registrationStrategy === 'function') {
|
|
39
|
-
readyToRegister$ = options.registrationStrategy();
|
|
40
|
-
}
|
|
41
|
-
else {
|
|
42
|
-
const [strategy, ...args] = (options.registrationStrategy || 'registerWhenStable:30000').split(':');
|
|
43
|
-
switch (strategy) {
|
|
44
|
-
case 'registerImmediately':
|
|
45
|
-
readyToRegister$ = of(null);
|
|
46
|
-
break;
|
|
47
|
-
case 'registerWithDelay':
|
|
48
|
-
readyToRegister$ = delayWithTimeout(+args[0] || 0);
|
|
49
|
-
break;
|
|
50
|
-
case 'registerWhenStable':
|
|
51
|
-
const whenStable$ = from(injector.get(ApplicationRef).whenStable());
|
|
52
|
-
readyToRegister$ = !args[0]
|
|
53
|
-
? whenStable$
|
|
54
|
-
: merge(whenStable$, delayWithTimeout(+args[0]));
|
|
55
|
-
break;
|
|
56
|
-
default:
|
|
57
|
-
// Unknown strategy.
|
|
58
|
-
throw new Error(`Unknown ServiceWorker registration strategy: ${options.registrationStrategy}`);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
// Don't return anything to avoid blocking the application until the SW is registered.
|
|
62
|
-
// Also, run outside the Angular zone to avoid preventing the app from stabilizing (especially
|
|
63
|
-
// given that some registration strategies wait for the app to stabilize).
|
|
64
|
-
// Catch and log the error if SW registration fails to avoid uncaught rejection warning.
|
|
65
|
-
ngZone.runOutsideAngular(() => readyToRegister$
|
|
66
|
-
.pipe(take(1))
|
|
67
|
-
.subscribe(() => navigator.serviceWorker
|
|
68
|
-
.register(script, { scope: options.scope })
|
|
69
|
-
.catch((err) => console.error('Service worker registration failed with:', err))));
|
|
70
|
-
};
|
|
71
|
-
}
|
|
72
|
-
function delayWithTimeout(timeout) {
|
|
73
|
-
return of(null).pipe(delay(timeout));
|
|
74
|
-
}
|
|
75
|
-
export function ngswCommChannelFactory(opts, platformId) {
|
|
76
|
-
return new NgswCommChannel(isPlatformBrowser(platformId) && opts.enabled !== false ? navigator.serviceWorker : undefined);
|
|
77
|
-
}
|
|
78
|
-
/**
|
|
79
|
-
* Token that can be used to provide options for `ServiceWorkerModule` outside of
|
|
80
|
-
* `ServiceWorkerModule.register()`.
|
|
81
|
-
*
|
|
82
|
-
* You can use this token to define a provider that generates the registration options at runtime,
|
|
83
|
-
* for example via a function call:
|
|
84
|
-
*
|
|
85
|
-
* {@example service-worker/registration-options/module.ts region="registration-options"
|
|
86
|
-
* header="app.module.ts"}
|
|
87
|
-
*
|
|
88
|
-
* @publicApi
|
|
89
|
-
*/
|
|
90
|
-
export class SwRegistrationOptions {
|
|
91
|
-
}
|
|
92
|
-
/**
|
|
93
|
-
* @publicApi
|
|
94
|
-
*
|
|
95
|
-
* Sets up providers to register the given Angular Service Worker script.
|
|
96
|
-
*
|
|
97
|
-
* If `enabled` is set to `false` in the given options, the module will behave as if service
|
|
98
|
-
* workers are not supported by the browser, and the service worker will not be registered.
|
|
99
|
-
*
|
|
100
|
-
* Example usage:
|
|
101
|
-
* ```ts
|
|
102
|
-
* bootstrapApplication(AppComponent, {
|
|
103
|
-
* providers: [
|
|
104
|
-
* provideServiceWorker('ngsw-worker.js')
|
|
105
|
-
* ],
|
|
106
|
-
* });
|
|
107
|
-
* ```
|
|
108
|
-
*/
|
|
109
|
-
export function provideServiceWorker(script, options = {}) {
|
|
110
|
-
return makeEnvironmentProviders([
|
|
111
|
-
SwPush,
|
|
112
|
-
SwUpdate,
|
|
113
|
-
{ provide: SCRIPT, useValue: script },
|
|
114
|
-
{ provide: SwRegistrationOptions, useValue: options },
|
|
115
|
-
{
|
|
116
|
-
provide: NgswCommChannel,
|
|
117
|
-
useFactory: ngswCommChannelFactory,
|
|
118
|
-
deps: [SwRegistrationOptions, PLATFORM_ID],
|
|
119
|
-
},
|
|
120
|
-
{
|
|
121
|
-
provide: APP_INITIALIZER,
|
|
122
|
-
useFactory: ngswAppInitializer,
|
|
123
|
-
deps: [Injector, SCRIPT, SwRegistrationOptions, PLATFORM_ID],
|
|
124
|
-
multi: true,
|
|
125
|
-
},
|
|
126
|
-
]);
|
|
127
|
-
}
|
|
128
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zZXJ2aWNlLXdvcmtlci9zcmMvcHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBRUgsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDbEQsT0FBTyxFQUNMLGVBQWUsRUFDZixjQUFjLEVBRWQsY0FBYyxFQUNkLFFBQVEsRUFDUix3QkFBd0IsRUFDeEIsTUFBTSxFQUNOLFdBQVcsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsS0FBSyxFQUFFLElBQUksRUFBYyxFQUFFLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDakQsT0FBTyxFQUFDLEtBQUssRUFBRSxJQUFJLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxRQUFRLENBQUM7QUFDOUIsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUVsQyxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUcsSUFBSSxjQUFjLENBQVMsU0FBUyxDQUFDLENBQUMsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7QUFFMUYsTUFBTSxVQUFVLGtCQUFrQixDQUNoQyxRQUFrQixFQUNsQixNQUFjLEVBQ2QsT0FBOEIsRUFDOUIsVUFBa0I7SUFFbEIsT0FBTyxHQUFHLEVBQUU7UUFDVixJQUNFLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsSUFBSSxlQUFlLElBQUksU0FBUyxJQUFJLE9BQU8sQ0FBQyxPQUFPLEtBQUssS0FBSyxDQUFDLEVBQzdGLENBQUM7WUFDRCxPQUFPO1FBQ1QsQ0FBQztRQUVELE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxHQUFH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LENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7QUFDdkMsQ0FBQztBQUVELE1BQU0sVUFBVSxzQkFBc0IsQ0FDcEMsSUFBMkIsRUFDM0IsVUFBa0I7SUFFbEIsT0FBTyxJQUFJLGVBQWUsQ0FDeEIsaUJBQWlCLENBQUMsVUFBVSxDQUFDLElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FDOUYsQ0FBQztBQUNKLENBQUM7QUFFRDs7Ozs7Ozs7Ozs7R0FXRztBQUNILE1BQU0sT0FBZ0IscUJBQXFCO0NBOEMxQztBQUVEOzs7Ozs7Ozs7Ozs7Ozs7O0dBZ0JHO0FBQ0gsTUFBTSxVQUFVLG9CQUFvQixDQUNsQyxNQUFjLEVBQ2QsVUFBaUMsRUFBRTtJQUVuQyxPQUFPLHdCQUF3QixDQUFDO1FBQzlCLE1BQU07UUFDTixRQUFRO1FBQ1IsRUFBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUM7UUFDbkMsRUFBQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBQztRQUNuRDtZQUNFLE9BQU8sRUFBRSxlQUFlO1lBQ3hCLFVBQVUsRUFBRSxzQkFBc0I7WUFDbEMsSUFBSSxFQUFFLENBQUMscUJBQXFCLEVBQUUsV0FBVyxDQUFDO1NBQzNDO1FBQ0Q7WUFDRSxPQUFPLEVBQUUsZUFBZTtZQUN4QixVQUFVLEVBQUUsa0JBQWtCO1lBQzlCLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUscUJBQXFCLEVBQUUsV0FBVyxDQUFDO1lBQzVELEtBQUssRUFBRSxJQUFJO1NBQ1o7S0FDRixDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7aXNQbGF0Zm9ybUJyb3dzZXJ9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBBUFBfSU5JVElBTElaRVIsXG4gIEFwcGxpY2F0aW9uUmVmLFxuICBFbnZpcm9ubWVudFByb3ZpZGVycyxcbiAgSW5qZWN0aW9uVG9rZW4sXG4gIEluamVjdG9yLFxuICBtYWtlRW52aXJvbm1lbnRQcm92aWRlcnMsXG4gIE5nWm9uZSxcbiAgUExBVEZPUk1fSUQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHttZXJnZSwgZnJvbSwgT2JzZXJ2YWJsZSwgb2Z9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtkZWxheSwgdGFrZX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge05nc3dDb21tQ2hhbm5lbH0gZnJvbSAnLi9sb3dfbGV2ZWwnO1xuaW1wb3J0IHtTd1B1c2h9IGZyb20gJy4vcHVzaCc7XG5pbXBvcnQge1N3VXBkYXRlfSBmcm9tICcuL3VwZGF0ZSc7XG5cbmV4cG9ydCBjb25zdCBTQ1JJUFQgPSBuZXcgSW5qZWN0aW9uVG9rZW48c3RyaW5nPihuZ0Rldk1vZGUgPyAnTkdTV19SRUdJU1RFUl9TQ1JJUFQnIDogJycpO1xuXG5leHBvcnQgZnVuY3Rpb24gbmdzd0FwcEluaXRpYWxpemVyKFxuICBpbmplY3RvcjogSW5qZWN0b3IsXG4gIHNjcmlwdDogc3RyaW5nLFxuICBvcHRpb25zOiBTd1JlZ2lzdHJhdGlvbk9wdGlvbnMsXG4gIHBsYXRmb3JtSWQ6IHN0cmluZyxcbik6IEZ1bmN0aW9uIHtcbiAgcmV0dXJuICgpID0+IHtcbiAgICBpZiAoXG4gICAgICAhKGlzUGxhdGZvcm1Ccm93c2VyKHBsYXRmb3JtSWQpICYmICdzZXJ2aWNlV29ya2VyJyBpbiBuYXZpZ2F0b3IgJiYgb3B0aW9ucy5lbmFibGVkICE9PSBmYWxzZSlcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBuZ1pvbmUgPSBpbmplY3Rvci5nZXQoTmdab25lKTtcbiAgICBjb25zdCBhcHBSZWYgPSBpbmplY3Rvci5nZXQoQXBwbGljYXRpb25SZWYpO1xuXG4gICAgLy8gU2V0IHVwIHRoZSBgY29udHJvbGxlcmNoYW5nZWAgZXZlbnQgbGlzdGVuZXIgb3V0c2lkZSBvZlxuICAgIC8vIHRoZSBBbmd1bGFyIHpvbmUgdG8gYXZvaWQgdW5uZWNlc3NhcnkgY2hhbmdlIGRldGVjdGlvbnMsXG4gICAgLy8gYXMgdGhpcyBldmVudCBoYXMgbm8gaW1wYWN0IG9uIHZpZXcgdXBkYXRlcy5cbiAgICBuZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgLy8gV2FpdCBmb3Igc2VydmljZSB3b3JrZXIgY29udHJvbGxlciBjaGFuZ2VzLCBhbmQgZmlyZSBhbiBJTklUSUFMSVpFIGFjdGlvbiB3aGVuIGEgbmV3IFNXXG4gICAgICAvLyBiZWNvbWVzIGFjdGl2ZS4gVGhpcyBhbGxvd3MgdGhlIFNXIHRvIGluaXRpYWxpemUgaXRzZWxmIGV2ZW4gaWYgdGhlcmUgaXMgbm8gYXBwbGljYXRpb25cbiAgICAgIC8vIHRyYWZmaWMuXG4gICAgICBjb25zdCBzdyA9IG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyO1xuICAgICAgY29uc3Qgb25Db250cm9sbGVyQ2hhbmdlID0gKCkgPT4gc3cuY29udHJvbGxlcj8ucG9zdE1lc3NhZ2Uoe2FjdGlvbjogJ0lOSVRJQUxJWkUnfSk7XG5cbiAgICAgIHN3LmFkZEV2ZW50TGlzdGVuZXIoJ2NvbnRyb2xsZXJjaGFuZ2UnLCBvbkNvbnRyb2xsZXJDaGFuZ2UpO1xuXG4gICAgICBhcHBSZWYub25EZXN0cm95KCgpID0+IHtcbiAgICAgICAgc3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignY29udHJvbGxlcmNoYW5nZScsIG9uQ29udHJvbGxlckNoYW5nZSk7XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGxldCByZWFkeVRvUmVnaXN0ZXIkOiBPYnNlcnZhYmxlPHVua25vd24+O1xuXG4gICAgaWYgKHR5cGVvZiBvcHRpb25zLnJlZ2lzdHJhdGlvblN0cmF0ZWd5ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICByZWFkeVRvUmVnaXN0ZXIkID0gb3B0aW9ucy5yZWdpc3RyYXRpb25TdHJhdGVneSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBbc3RyYXRlZ3ksIC4uLmFyZ3NdID0gKFxuICAgICAgICBvcHRpb25zLnJlZ2lzdHJhdGlvblN0cmF0ZWd5IHx8ICdyZWdpc3RlcldoZW5TdGFibGU6MzAwMDAnXG4gICAgICApLnNwbGl0KCc6Jyk7XG5cbiAgICAgIHN3aXRjaCAoc3RyYXRlZ3kpIHtcbiAgICAgICAgY2FzZSAncmVnaXN0ZXJJbW1lZGlhdGVseSc6XG4gICAgICAgICAgcmVhZHlUb1JlZ2lzdGVyJCA9IG9mKG51bGwpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdyZWdpc3RlcldpdGhEZWxheSc6XG4gICAgICAgICAgcmVhZHlUb1JlZ2lzdGVyJCA9IGRlbGF5V2l0aFRpbWVvdXQoK2FyZ3NbMF0gfHwgMCk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ3JlZ2lzdGVyV2hlblN0YWJsZSc6XG4gICAgICAgICAgY29uc3Qgd2hlblN0YWJsZSQgPSBmcm9tKGluamVjdG9yLmdldChBcHBsaWNhdGlvblJlZikud2hlblN0YWJsZSgpKTtcbiAgICAgICAgICByZWFkeVRvUmVnaXN0ZXIkID0gIWFyZ3NbMF1cbiAgICAgICAgICAgID8gd2hlblN0YWJsZSRcbiAgICAgICAgICAgIDogbWVyZ2Uod2hlblN0YWJsZSQsIGRlbGF5V2l0aFRpbWVvdXQoK2FyZ3NbMF0pKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAvLyBVbmtub3duIHN0cmF0ZWd5LlxuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgIGBVbmtub3duIFNlcnZpY2VXb3JrZXIgcmVnaXN0cmF0aW9uIHN0cmF0ZWd5OiAke29wdGlvbnMucmVnaXN0cmF0aW9uU3RyYXRlZ3l9YCxcbiAgICAgICAgICApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERvbid0IHJldHVybiBhbnl0aGluZyB0byBhdm9pZCBibG9ja2luZyB0aGUgYXBwbGljYXRpb24gdW50aWwgdGhlIFNXIGlzIHJlZ2lzdGVyZWQuXG4gICAgLy8gQWxzbywgcnVuIG91dHNpZGUgdGhlIEFuZ3VsYXIgem9uZSB0byBhdm9pZCBwcmV2ZW50aW5nIHRoZSBhcHAgZnJvbSBzdGFiaWxpemluZyAoZXNwZWNpYWxseVxuICAgIC8vIGdpdmVuIHRoYXQgc29tZSByZWdpc3RyYXRpb24gc3RyYXRlZ2llcyB3YWl0IGZvciB0aGUgYXBwIHRvIHN0YWJpbGl6ZSkuXG4gICAgLy8gQ2F0Y2ggYW5kIGxvZyB0aGUgZXJyb3IgaWYgU1cgcmVnaXN0cmF0aW9uIGZhaWxzIHRvIGF2b2lkIHVuY2F1Z2h0IHJlamVjdGlvbiB3YXJuaW5nLlxuICAgIG5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PlxuICAgICAgcmVhZHlUb1JlZ2lzdGVyJFxuICAgICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+XG4gICAgICAgICAgbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXJcbiAgICAgICAgICAgIC5yZWdpc3RlcihzY3JpcHQsIHtzY29wZTogb3B0aW9ucy5zY29wZX0pXG4gICAgICAgICAgICAuY2F0Y2goKGVycikgPT4gY29uc29sZS5lcnJvcignU2VydmljZSB3b3JrZXIgcmVnaXN0cmF0aW9uIGZhaWxlZCB3aXRoOicsIGVycikpLFxuICAgICAgICApLFxuICAgICk7XG4gIH07XG59XG5cbmZ1bmN0aW9uIGRlbGF5V2l0aFRpbWVvdXQodGltZW91dDogbnVtYmVyKTogT2JzZXJ2YWJsZTx1bmtub3duPiB7XG4gIHJldHVybiBvZihudWxsKS5waXBlKGRlbGF5KHRpbWVvdXQpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG5nc3dDb21tQ2hhbm5lbEZhY3RvcnkoXG4gIG9wdHM6IFN3UmVnaXN0cmF0aW9uT3B0aW9ucyxcbiAgcGxhdGZvcm1JZDogc3RyaW5nLFxuKTogTmdzd0NvbW1DaGFubmVsIHtcbiAgcmV0dXJuIG5ldyBOZ3N3Q29tbUNoYW5uZWwoXG4gICAgaXNQbGF0Zm9ybUJyb3dzZXIocGxhdGZvcm1JZCkgJiYgb3B0cy5lbmFibGVkICE9PSBmYWxzZSA/IG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyIDogdW5kZWZpbmVkLFxuICApO1xufVxuXG4vKipcbiAqIFRva2VuIHRoYXQgY2FuIGJlIHVzZWQgdG8gcHJvdmlkZSBvcHRpb25zIGZvciBgU2VydmljZVdvcmtlck1vZHVsZWAgb3V0c2lkZSBvZlxuICogYFNlcnZpY2VXb3JrZXJNb2R1bGUucmVnaXN0ZXIoKWAuXG4gKlxuICogWW91IGNhbiB1c2UgdGhpcyB0b2tlbiB0byBkZWZpbmUgYSBwcm92aWRlciB0aGF0IGdlbmVyYXRlcyB0aGUgcmVnaXN0cmF0aW9uIG9wdGlvbnMgYXQgcnVudGltZSxcbiAqIGZvciBleGFtcGxlIHZpYSBhIGZ1bmN0aW9uIGNhbGw6XG4gKlxuICoge0BleGFtcGxlIHNlcnZpY2Utd29ya2VyL3JlZ2lzdHJhdGlvbi1vcHRpb25zL21vZHVsZS50cyByZWdpb249XCJyZWdpc3RyYXRpb24tb3B0aW9uc1wiXG4gKiAgICAgaGVhZGVyPVwiYXBwLm1vZHVsZS50c1wifVxuICpcbiAqIEBwdWJsaWNBcGlcbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFN3UmVnaXN0cmF0aW9uT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBTZXJ2aWNlV29ya2VyIHdpbGwgYmUgcmVnaXN0ZXJlZCBhbmQgdGhlIHJlbGF0ZWQgc2VydmljZXMgKHN1Y2ggYXMgYFN3UHVzaGAgYW5kXG4gICAqIGBTd1VwZGF0ZWApIHdpbGwgYXR0ZW1wdCB0byBjb21tdW5pY2F0ZSBhbmQgaW50ZXJhY3Qgd2l0aCBpdC5cbiAgICpcbiAgICogRGVmYXVsdDogdHJ1ZVxuICAgKi9cbiAgZW5hYmxlZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEEgVVJMIHRoYXQgZGVmaW5lcyB0aGUgU2VydmljZVdvcmtlcidzIHJlZ2lzdHJhdGlvbiBzY29wZTsgdGhhdCBpcywgd2hhdCByYW5nZSBvZiBVUkxzIGl0IGNhblxuICAgKiBjb250cm9sLiBJdCB3aWxsIGJlIHVzZWQgd2hlbiBjYWxsaW5nXG4gICAqIFtTZXJ2aWNlV29ya2VyQ29udGFpbmVyI3JlZ2lzdGVyKCldKGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyL3JlZ2lzdGVyKS5cbiAgICovXG4gIHNjb3BlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBEZWZpbmVzIHRoZSBTZXJ2aWNlV29ya2VyIHJlZ2lzdHJhdGlvbiBzdHJhdGVneSwgd2hpY2ggZGV0ZXJtaW5lcyB3aGVuIGl0IHdpbGwgYmUgcmVnaXN0ZXJlZFxuICAgKiB3aXRoIHRoZSBicm93c2VyLlxuICAgKlxuICAgKiBUaGUgZGVmYXVsdCBiZWhhdmlvciBvZiByZWdpc3RlcmluZyBvbmNlIHRoZSBhcHBsaWNhdGlvbiBzdGFiaWxpemVzIChpLmUuIGFzIHNvb24gYXMgdGhlcmUgYXJlXG4gICAqIG5vIHBlbmRpbmcgbWljcm8tIGFuZCBtYWNyby10YXNrcykgaXMgZGVzaWduZWQgdG8gcmVnaXN0ZXIgdGhlIFNlcnZpY2VXb3JrZXIgYXMgc29vbiBhc1xuICAgKiBwb3NzaWJsZSBidXQgd2l0aG91dCBhZmZlY3RpbmcgdGhlIGFwcGxpY2F0aW9uJ3MgZmlyc3QgdGltZSBsb2FkLlxuICAgKlxuICAgKiBTdGlsbCwgdGhlcmUgbWlnaHQgYmUgY2FzZXMgd2hlcmUgeW91IHdhbnQgbW9yZSBjb250cm9sIG92ZXIgd2hlbiB0aGUgU2VydmljZVdvcmtlciBpc1xuICAgKiByZWdpc3RlcmVkIChmb3IgZXhhbXBsZSwgdGhlcmUgbWlnaHQgYmUgYSBsb25nLXJ1bm5pbmcgdGltZW91dCBvciBwb2xsaW5nIGludGVydmFsLCBwcmV2ZW50aW5nXG4gICAqIHRoZSBhcHAgZnJvbSBzdGFiaWxpemluZykuIFRoZSBhdmFpbGFibGUgb3B0aW9uIGFyZTpcbiAgICpcbiAgICogLSBgcmVnaXN0ZXJXaGVuU3RhYmxlOjx0aW1lb3V0PmA6IFJlZ2lzdGVyIGFzIHNvb24gYXMgdGhlIGFwcGxpY2F0aW9uIHN0YWJpbGl6ZXMgKG5vIHBlbmRpbmdcbiAgICogICAgIG1pY3JvLS9tYWNyby10YXNrcykgYnV0IG5vIGxhdGVyIHRoYW4gYDx0aW1lb3V0PmAgbWlsbGlzZWNvbmRzLiBJZiB0aGUgYXBwIGhhc24ndFxuICAgKiAgICAgc3RhYmlsaXplZCBhZnRlciBgPHRpbWVvdXQ+YCBtaWxsaXNlY29uZHMgKGZvciBleGFtcGxlLCBkdWUgdG8gYSByZWN1cnJlbnQgYXN5bmNocm9ub3VzXG4gICAqICAgICB0YXNrKSwgdGhlIFNlcnZpY2VXb3JrZXIgd2lsbCBiZSByZWdpc3RlcmVkIGFueXdheS5cbiAgICogICAgIElmIGA8dGltZW91dD5gIGlzIG9taXR0ZWQsIHRoZSBTZXJ2aWNlV29ya2VyIHdpbGwgb25seSBiZSByZWdpc3RlcmVkIG9uY2UgdGhlIGFwcFxuICAgKiAgICAgc3RhYmlsaXplcy5cbiAgICogLSBgcmVnaXN0ZXJJbW1lZGlhdGVseWA6IFJlZ2lzdGVyIGltbWVkaWF0ZWx5LlxuICAgKiAtIGByZWdpc3RlcldpdGhEZWxheTo8dGltZW91dD5gOiBSZWdpc3RlciB3aXRoIGEgZGVsYXkgb2YgYDx0aW1lb3V0PmAgbWlsbGlzZWNvbmRzLiBGb3JcbiAgICogICAgIGV4YW1wbGUsIHVzZSBgcmVnaXN0ZXJXaXRoRGVsYXk6NTAwMGAgdG8gcmVnaXN0ZXIgdGhlIFNlcnZpY2VXb3JrZXIgYWZ0ZXIgNSBzZWNvbmRzLiBJZlxuICAgKiAgICAgYDx0aW1lb3V0PmAgaXMgb21pdHRlZCwgaXMgZGVmYXVsdHMgdG8gYDBgLCB3aGljaCB3aWxsIHJlZ2lzdGVyIHRoZSBTZXJ2aWNlV29ya2VyIGFzIHNvb25cbiAgICogICAgIGFzIHBvc3NpYmxlIGJ1dCBzdGlsbCBhc3luY2hyb25vdXNseSwgb25jZSBhbGwgcGVuZGluZyBtaWNyby10YXNrcyBhcmUgY29tcGxldGVkLlxuICAgKiAtIEFuIE9ic2VydmFibGUgZmFjdG9yeSBmdW5jdGlvbjogQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYW4gYE9ic2VydmFibGVgLlxuICAgKiAgICAgVGhlIGZ1bmN0aW9uIHdpbGwgYmUgdXNlZCBhdCBydW50aW1lIHRvIG9idGFpbiBhbmQgc3Vic2NyaWJlIHRvIHRoZSBgT2JzZXJ2YWJsZWAgYW5kIHRoZVxuICAgKiAgICAgU2VydmljZVdvcmtlciB3aWxsIGJlIHJlZ2lzdGVyZWQgYXMgc29vbiBhcyB0aGUgZmlyc3QgdmFsdWUgaXMgZW1pdHRlZC5cbiAgICpcbiAgICogRGVmYXVsdDogJ3JlZ2lzdGVyV2hlblN0YWJsZTozMDAwMCdcbiAgICovXG4gIHJlZ2lzdHJhdGlvblN0cmF0ZWd5Pzogc3RyaW5nIHwgKCgpID0+IE9ic2VydmFibGU8dW5rbm93bj4pO1xufVxuXG4vKipcbiAqIEBwdWJsaWNBcGlcbiAqXG4gKiBTZXRzIHVwIHByb3ZpZGVycyB0byByZWdpc3RlciB0aGUgZ2l2ZW4gQW5ndWxhciBTZXJ2aWNlIFdvcmtlciBzY3JpcHQuXG4gKlxuICogSWYgYGVuYWJsZWRgIGlzIHNldCB0byBgZmFsc2VgIGluIHRoZSBnaXZlbiBvcHRpb25zLCB0aGUgbW9kdWxlIHdpbGwgYmVoYXZlIGFzIGlmIHNlcnZpY2VcbiAqIHdvcmtlcnMgYXJlIG5vdCBzdXBwb3J0ZWQgYnkgdGhlIGJyb3dzZXIsIGFuZCB0aGUgc2VydmljZSB3b3JrZXIgd2lsbCBub3QgYmUgcmVnaXN0ZXJlZC5cbiAqXG4gKiBFeGFtcGxlIHVzYWdlOlxuICogYGBgdHNcbiAqIGJvb3RzdHJhcEFwcGxpY2F0aW9uKEFwcENvbXBvbmVudCwge1xuICogICBwcm92aWRlcnM6IFtcbiAqICAgICBwcm92aWRlU2VydmljZVdvcmtlcignbmdzdy13b3JrZXIuanMnKVxuICogICBdLFxuICogfSk7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVTZXJ2aWNlV29ya2VyKFxuICBzY3JpcHQ6IHN0cmluZyxcbiAgb3B0aW9uczogU3dSZWdpc3RyYXRpb25PcHRpb25zID0ge30sXG4pOiBFbnZpcm9ubWVudFByb3ZpZGVycyB7XG4gIHJldHVybiBtYWtlRW52aXJvbm1lbnRQcm92aWRlcnMoW1xuICAgIFN3UHVzaCxcbiAgICBTd1VwZGF0ZSxcbiAgICB7cHJvdmlkZTogU0NSSVBULCB1c2VWYWx1ZTogc2NyaXB0fSxcbiAgICB7cHJvdmlkZTogU3dSZWdpc3RyYXRpb25PcHRpb25zLCB1c2VWYWx1ZTogb3B0aW9uc30sXG4gICAge1xuICAgICAgcHJvdmlkZTogTmdzd0NvbW1DaGFubmVsLFxuICAgICAgdXNlRmFjdG9yeTogbmdzd0NvbW1DaGFubmVsRmFjdG9yeSxcbiAgICAgIGRlcHM6IFtTd1JlZ2lzdHJhdGlvbk9wdGlvbnMsIFBMQVRGT1JNX0lEXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcbiAgICAgIHVzZUZhY3Rvcnk6IG5nc3dBcHBJbml0aWFsaXplcixcbiAgICAgIGRlcHM6IFtJbmplY3RvciwgU0NSSVBULCBTd1JlZ2lzdHJhdGlvbk9wdGlvbnMsIFBMQVRGT1JNX0lEXSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0pO1xufVxuIl19
|
package/esm2022/src/push.mjs
DELETED
|
@@ -1,177 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright Google LLC All Rights Reserved.
|
|
4
|
-
*
|
|
5
|
-
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
-
* found in the LICENSE file at https://angular.io/license
|
|
7
|
-
*/
|
|
8
|
-
import { Injectable } from '@angular/core';
|
|
9
|
-
import { merge, NEVER, Subject } from 'rxjs';
|
|
10
|
-
import { map, switchMap, take } from 'rxjs/operators';
|
|
11
|
-
import { ERR_SW_NOT_SUPPORTED, NgswCommChannel } from './low_level';
|
|
12
|
-
import * as i0 from "@angular/core";
|
|
13
|
-
import * as i1 from "./low_level";
|
|
14
|
-
/**
|
|
15
|
-
* Subscribe and listen to
|
|
16
|
-
* [Web Push
|
|
17
|
-
* Notifications](https://developer.mozilla.org/en-US/docs/Web/API/Push_API/Best_Practices) through
|
|
18
|
-
* Angular Service Worker.
|
|
19
|
-
*
|
|
20
|
-
* @usageNotes
|
|
21
|
-
*
|
|
22
|
-
* You can inject a `SwPush` instance into any component or service
|
|
23
|
-
* as a dependency.
|
|
24
|
-
*
|
|
25
|
-
* <code-example path="service-worker/push/module.ts" region="inject-sw-push"
|
|
26
|
-
* header="app.component.ts"></code-example>
|
|
27
|
-
*
|
|
28
|
-
* To subscribe, call `SwPush.requestSubscription()`, which asks the user for permission.
|
|
29
|
-
* The call returns a `Promise` with a new
|
|
30
|
-
* [`PushSubscription`](https://developer.mozilla.org/en-US/docs/Web/API/PushSubscription)
|
|
31
|
-
* instance.
|
|
32
|
-
*
|
|
33
|
-
* <code-example path="service-worker/push/module.ts" region="subscribe-to-push"
|
|
34
|
-
* header="app.component.ts"></code-example>
|
|
35
|
-
*
|
|
36
|
-
* A request is rejected if the user denies permission, or if the browser
|
|
37
|
-
* blocks or does not support the Push API or ServiceWorkers.
|
|
38
|
-
* Check `SwPush.isEnabled` to confirm status.
|
|
39
|
-
*
|
|
40
|
-
* Invoke Push Notifications by pushing a message with the following payload.
|
|
41
|
-
*
|
|
42
|
-
* ```ts
|
|
43
|
-
* {
|
|
44
|
-
* "notification": {
|
|
45
|
-
* "actions": NotificationAction[],
|
|
46
|
-
* "badge": USVString,
|
|
47
|
-
* "body": DOMString,
|
|
48
|
-
* "data": any,
|
|
49
|
-
* "dir": "auto"|"ltr"|"rtl",
|
|
50
|
-
* "icon": USVString,
|
|
51
|
-
* "image": USVString,
|
|
52
|
-
* "lang": DOMString,
|
|
53
|
-
* "renotify": boolean,
|
|
54
|
-
* "requireInteraction": boolean,
|
|
55
|
-
* "silent": boolean,
|
|
56
|
-
* "tag": DOMString,
|
|
57
|
-
* "timestamp": DOMTimeStamp,
|
|
58
|
-
* "title": DOMString,
|
|
59
|
-
* "vibrate": number[]
|
|
60
|
-
* }
|
|
61
|
-
* }
|
|
62
|
-
* ```
|
|
63
|
-
*
|
|
64
|
-
* Only `title` is required. See `Notification`
|
|
65
|
-
* [instance
|
|
66
|
-
* properties](https://developer.mozilla.org/en-US/docs/Web/API/Notification#Instance_properties).
|
|
67
|
-
*
|
|
68
|
-
* While the subscription is active, Service Worker listens for
|
|
69
|
-
* [PushEvent](https://developer.mozilla.org/en-US/docs/Web/API/PushEvent)
|
|
70
|
-
* occurrences and creates
|
|
71
|
-
* [Notification](https://developer.mozilla.org/en-US/docs/Web/API/Notification)
|
|
72
|
-
* instances in response.
|
|
73
|
-
*
|
|
74
|
-
* Unsubscribe using `SwPush.unsubscribe()`.
|
|
75
|
-
*
|
|
76
|
-
* An application can subscribe to `SwPush.notificationClicks` observable to be notified when a user
|
|
77
|
-
* clicks on a notification. For example:
|
|
78
|
-
*
|
|
79
|
-
* <code-example path="service-worker/push/module.ts" region="subscribe-to-notification-clicks"
|
|
80
|
-
* header="app.component.ts"></code-example>
|
|
81
|
-
*
|
|
82
|
-
* You can read more on handling notification clicks in the [Service worker notifications
|
|
83
|
-
* guide](ecosystem/service-workers/push-notifications).
|
|
84
|
-
*
|
|
85
|
-
* @see [Push Notifications](https://developers.google.com/web/fundamentals/codelabs/push-notifications/)
|
|
86
|
-
* @see [Angular Push Notifications](https://blog.angular-university.io/angular-push-notifications/)
|
|
87
|
-
* @see [MDN: Push API](https://developer.mozilla.org/en-US/docs/Web/API/Push_API)
|
|
88
|
-
* @see [MDN: Notifications API](https://developer.mozilla.org/en-US/docs/Web/API/Notifications_API)
|
|
89
|
-
* @see [MDN: Web Push API Notifications best practices](https://developer.mozilla.org/en-US/docs/Web/API/Push_API/Best_Practices)
|
|
90
|
-
*
|
|
91
|
-
* @publicApi
|
|
92
|
-
*/
|
|
93
|
-
export class SwPush {
|
|
94
|
-
/**
|
|
95
|
-
* True if the Service Worker is enabled (supported by the browser and enabled via
|
|
96
|
-
* `ServiceWorkerModule`).
|
|
97
|
-
*/
|
|
98
|
-
get isEnabled() {
|
|
99
|
-
return this.sw.isEnabled;
|
|
100
|
-
}
|
|
101
|
-
constructor(sw) {
|
|
102
|
-
this.sw = sw;
|
|
103
|
-
this.pushManager = null;
|
|
104
|
-
this.subscriptionChanges = new Subject();
|
|
105
|
-
if (!sw.isEnabled) {
|
|
106
|
-
this.messages = NEVER;
|
|
107
|
-
this.notificationClicks = NEVER;
|
|
108
|
-
this.subscription = NEVER;
|
|
109
|
-
return;
|
|
110
|
-
}
|
|
111
|
-
this.messages = this.sw.eventsOfType('PUSH').pipe(map((message) => message.data));
|
|
112
|
-
this.notificationClicks = this.sw
|
|
113
|
-
.eventsOfType('NOTIFICATION_CLICK')
|
|
114
|
-
.pipe(map((message) => message.data));
|
|
115
|
-
this.pushManager = this.sw.registration.pipe(map((registration) => registration.pushManager));
|
|
116
|
-
const workerDrivenSubscriptions = this.pushManager.pipe(switchMap((pm) => pm.getSubscription()));
|
|
117
|
-
this.subscription = merge(workerDrivenSubscriptions, this.subscriptionChanges);
|
|
118
|
-
}
|
|
119
|
-
/**
|
|
120
|
-
* Subscribes to Web Push Notifications,
|
|
121
|
-
* after requesting and receiving user permission.
|
|
122
|
-
*
|
|
123
|
-
* @param options An object containing the `serverPublicKey` string.
|
|
124
|
-
* @returns A Promise that resolves to the new subscription object.
|
|
125
|
-
*/
|
|
126
|
-
requestSubscription(options) {
|
|
127
|
-
if (!this.sw.isEnabled || this.pushManager === null) {
|
|
128
|
-
return Promise.reject(new Error(ERR_SW_NOT_SUPPORTED));
|
|
129
|
-
}
|
|
130
|
-
const pushOptions = { userVisibleOnly: true };
|
|
131
|
-
let key = this.decodeBase64(options.serverPublicKey.replace(/_/g, '/').replace(/-/g, '+'));
|
|
132
|
-
let applicationServerKey = new Uint8Array(new ArrayBuffer(key.length));
|
|
133
|
-
for (let i = 0; i < key.length; i++) {
|
|
134
|
-
applicationServerKey[i] = key.charCodeAt(i);
|
|
135
|
-
}
|
|
136
|
-
pushOptions.applicationServerKey = applicationServerKey;
|
|
137
|
-
return this.pushManager
|
|
138
|
-
.pipe(switchMap((pm) => pm.subscribe(pushOptions)), take(1))
|
|
139
|
-
.toPromise()
|
|
140
|
-
.then((sub) => {
|
|
141
|
-
this.subscriptionChanges.next(sub);
|
|
142
|
-
return sub;
|
|
143
|
-
});
|
|
144
|
-
}
|
|
145
|
-
/**
|
|
146
|
-
* Unsubscribes from Service Worker push notifications.
|
|
147
|
-
*
|
|
148
|
-
* @returns A Promise that is resolved when the operation succeeds, or is rejected if there is no
|
|
149
|
-
* active subscription or the unsubscribe operation fails.
|
|
150
|
-
*/
|
|
151
|
-
unsubscribe() {
|
|
152
|
-
if (!this.sw.isEnabled) {
|
|
153
|
-
return Promise.reject(new Error(ERR_SW_NOT_SUPPORTED));
|
|
154
|
-
}
|
|
155
|
-
const doUnsubscribe = (sub) => {
|
|
156
|
-
if (sub === null) {
|
|
157
|
-
throw new Error('Not subscribed to push notifications.');
|
|
158
|
-
}
|
|
159
|
-
return sub.unsubscribe().then((success) => {
|
|
160
|
-
if (!success) {
|
|
161
|
-
throw new Error('Unsubscribe failed!');
|
|
162
|
-
}
|
|
163
|
-
this.subscriptionChanges.next(null);
|
|
164
|
-
});
|
|
165
|
-
};
|
|
166
|
-
return this.subscription.pipe(take(1), switchMap(doUnsubscribe)).toPromise();
|
|
167
|
-
}
|
|
168
|
-
decodeBase64(input) {
|
|
169
|
-
return atob(input);
|
|
170
|
-
}
|
|
171
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.1", ngImport: i0, type: SwPush, deps: [{ token: i1.NgswCommChannel }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
172
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.0-next.1", ngImport: i0, type: SwPush }); }
|
|
173
|
-
}
|
|
174
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.1", ngImport: i0, type: SwPush, decorators: [{
|
|
175
|
-
type: Injectable
|
|
176
|
-
}], ctorParameters: () => [{ type: i1.NgswCommChannel }] });
|
|
177
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVzaC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NlcnZpY2Utd29ya2VyL3NyYy9wdXNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUVILE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFDLEtBQUssRUFBRSxLQUFLLEVBQWMsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3ZELE9BQU8sRUFBQyxHQUFHLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRXBELE9BQU8sRUFBQyxvQkFBb0IsRUFBRSxlQUFlLEVBQVksTUFBTSxhQUFhLENBQUM7OztBQUU3RTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBOEVHO0FBRUgsTUFBTSxPQUFPLE1BQU07SUErQmpCOzs7T0FHRztJQUNILElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUM7SUFDM0IsQ0FBQztJQUtELFlBQW9CLEVBQW1CO1FBQW5CLE9BQUUsR0FBRixFQUFFLENBQWlCO1FBSC9CLGdCQUFXLEdBQW1DLElBQUksQ0FBQztRQUNuRCx3QkFBbUIsR0FBRyxJQUFJLE9BQU8sRUFBMkIsQ0FBQztRQUduRSxJQUFJLENBQUMsRUFBRSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1lBQ3RCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUM7WUFDaEMsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7WUFDMUIsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFZLE1B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LENBQUMsdUNBQXVDLENBQUMsQ0FBQztZQUMzRCxDQUFDO1lBRUQsT0FBTyxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7Z0JBQ3hDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztvQkFDYixNQUFNLElBQUksS0FBSyxDQUFDLHFCQUFxQixDQUFDLENBQUM7Z0JBQ3pDLENBQUM7Z0JBRUQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN0QyxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQztRQUVGLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQy9FLENBQUM7SUFFTyxZQUFZLENBQUMsS0FBYTtRQUNoQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyQixDQUFDO3lIQTdIVSxNQUFNOzZIQUFOLE1BQU07O3NHQUFOLE1BQU07a0JBRGxCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7bWVyZ2UsIE5FVkVSLCBPYnNlcnZhYmxlLCBTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwLCBzd2l0Y2hNYXAsIHRha2V9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtFUlJfU1dfTk9UX1NVUFBPUlRFRCwgTmdzd0NvbW1DaGFubmVsLCBQdXNoRXZlbnR9IGZyb20gJy4vbG93X2xldmVsJztcblxuLyoqXG4gKiBTdWJzY3JpYmUgYW5kIGxpc3RlbiB0b1xuICogW1dlYiBQdXNoXG4gKiBOb3RpZmljYXRpb25zXShodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvUHVzaF9BUEkvQmVzdF9QcmFjdGljZXMpIHRocm91Z2hcbiAqIEFuZ3VsYXIgU2VydmljZSBXb3JrZXIuXG4gKlxuICogQHVzYWdlTm90ZXNcbiAqXG4gKiBZb3UgY2FuIGluamVjdCBhIGBTd1B1c2hgIGluc3RhbmNlIGludG8gYW55IGNvbXBvbmVudCBvciBzZXJ2aWNlXG4gKiBhcyBhIGRlcGVuZGVuY3kuXG4gKlxuICogPGNvZGUtZXhhbXBsZSBwYXRoPVwic2VydmljZS13b3JrZXIvcHVzaC9tb2R1bGUudHNcIiByZWdpb249XCJpbmplY3Qtc3ctcHVzaFwiXG4gKiBoZWFkZXI9XCJhcHAuY29tcG9uZW50LnRzXCI+PC9jb2RlLWV4YW1wbGU+XG4gKlxuICogVG8gc3Vic2NyaWJlLCBjYWxsIGBTd1B1c2gucmVxdWVzdFN1YnNjcmlwdGlvbigpYCwgd2hpY2ggYXNrcyB0aGUgdXNlciBmb3IgcGVybWlzc2lvbi5cbiAqIFRoZSBjYWxsIHJldHVybnMgYSBgUHJvbWlzZWAgd2l0aCBhIG5ld1xuICogW2BQdXNoU3Vic2NyaXB0aW9uYF0oaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL1B1c2hTdWJzY3JpcHRpb24pXG4gKiBpbnN0YW5jZS5cbiAqXG4gKiA8Y29kZS1leGFtcGxlIHBhdGg9XCJzZXJ2aWNlLXdvcmtlci9wdXNoL21vZHVsZS50c1wiIHJlZ2lvbj1cInN1YnNjcmliZS10by1wdXNoXCJcbiAqIGhlYWRlcj1cImFwcC5jb21wb25lbnQudHNcIj48L2NvZGUtZXhhbXBsZT5cbiAqXG4gKiBBIHJlcXVlc3QgaXMgcmVqZWN0ZWQgaWYgdGhlIHVzZXIgZGVuaWVzIHBlcm1pc3Npb24sIG9yIGlmIHRoZSBicm93c2VyXG4gKiBibG9ja3Mgb3IgZG9lcyBub3Qgc3VwcG9ydCB0aGUgUHVzaCBBUEkgb3IgU2VydmljZVdvcmtlcnMuXG4gKiBDaGVjayBgU3dQdXNoLmlzRW5hYmxlZGAgdG8gY29uZmlybSBzdGF0dXMuXG4gKlxuICogSW52b2tlIFB1c2ggTm90aWZpY2F0aW9ucyBieSBwdXNoaW5nIGEgbWVzc2FnZSB3aXRoIHRoZSBmb2xsb3dpbmcgcGF5bG9hZC5cbiAqXG4gKiBgYGB0c1xuICoge1xuICogICBcIm5vdGlmaWNhdGlvblwiOiB7XG4gKiAgICAgXCJhY3Rpb25zXCI6IE5vdGlmaWNhdGlvbkFjdGlvbltdLFxuICogICAgIFwiYmFkZ2VcIjogVVNWU3RyaW5nLFxuICogICAgIFwiYm9keVwiOiBET01TdHJpbmcsXG4gKiAgICAgXCJkYXRhXCI6IGFueSxcbiAqICAgICBcImRpclwiOiBcImF1dG9cInxcImx0clwifFwicnRsXCIsXG4gKiAgICAgXCJpY29uXCI6IFVTVlN0cmluZyxcbiAqICAgICBcImltYWdlXCI6IFVTVlN0cmluZyxcbiAqICAgICBcImxhbmdcIjogRE9NU3RyaW5nLFxuICogICAgIFwicmVub3RpZnlcIjogYm9vbGVhbixcbiAqICAgICBcInJlcXVpcmVJbnRlcmFjdGlvblwiOiBib29sZWFuLFxuICogICAgIFwic2lsZW50XCI6IGJvb2xlYW4sXG4gKiAgICAgXCJ0YWdcIjogRE9NU3RyaW5nLFxuICogICAgIFwidGltZXN0YW1wXCI6IERPTVRpbWVTdGFtcCxcbiAqICAgICBcInRpdGxlXCI6IERPTVN0cmluZyxcbiAqICAgICBcInZpYnJhdGVcIjogbnVtYmVyW11cbiAqICAgfVxuICogfVxuICogYGBgXG4gKlxuICogT25seSBgdGl0bGVgIGlzIHJlcXVpcmVkLiBTZWUgYE5vdGlmaWNhdGlvbmBcbiAqIFtpbnN0YW5jZVxuICogcHJvcGVydGllc10oaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL05vdGlmaWNhdGlvbiNJbnN0YW5jZV9wcm9wZXJ0aWVzKS5cbiAqXG4gKiBXaGlsZSB0aGUgc3Vic2NyaXB0aW9uIGlzIGFjdGl2ZSwgU2VydmljZSBXb3JrZXIgbGlzdGVucyBmb3JcbiAqIFtQdXNoRXZlbnRdKGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9QdXNoRXZlbnQpXG4gKiBvY2N1cnJlbmNlcyBhbmQgY3JlYXRlc1xuICogW05vdGlmaWNhdGlvbl0oaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL05vdGlmaWNhdGlvbilcbiAqIGluc3RhbmNlcyBpbiByZXNwb25zZS5cbiAqXG4gKiBVbnN1YnNjcmliZSB1c2luZyBgU3dQdXNoLnVuc3Vic2NyaWJlKClgLlxuICpcbiAqIEFuIGFwcGxpY2F0aW9uIGNhbiBzdWJzY3JpYmUgdG8gYFN3UHVzaC5ub3RpZmljYXRpb25DbGlja3NgIG9ic2VydmFibGUgdG8gYmUgbm90aWZpZWQgd2hlbiBhIHVzZXJcbiAqIGNsaWNrcyBvbiBhIG5vdGlmaWNhdGlvbi4gRm9yIGV4YW1wbGU6XG4gKlxuICogPGNvZGUtZXhhbXBsZSBwYXRoPVwic2VydmljZS13b3JrZXIvcHVzaC9tb2R1bGUudHNcIiByZWdpb249XCJzdWJzY3JpYmUtdG8tbm90aWZpY2F0aW9uLWNsaWNrc1wiXG4gKiBoZWFkZXI9XCJhcHAuY29tcG9uZW50LnRzXCI+PC9jb2RlLWV4YW1wbGU+XG4gKlxuICogWW91IGNhbiByZWFkIG1vcmUgb24gaGFuZGxpbmcgbm90aWZpY2F0aW9uIGNsaWNrcyBpbiB0aGUgW1NlcnZpY2Ugd29ya2VyIG5vdGlmaWNhdGlvbnNcbiAqIGd1aWRlXShlY29zeXN0ZW0vc2VydmljZS13b3JrZXJzL3B1c2gtbm90aWZpY2F0aW9ucykuXG4gKlxuICogQHNlZSBbUHVzaCBOb3RpZmljYXRpb25zXShodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS93ZWIvZnVuZGFtZW50YWxzL2NvZGVsYWJzL3B1c2gtbm90aWZpY2F0aW9ucy8pXG4gKiBAc2VlIFtBbmd1bGFyIFB1c2ggTm90aWZpY2F0aW9uc10oaHR0cHM6Ly9ibG9nLmFuZ3VsYXItdW5pdmVyc2l0eS5pby9hbmd1bGFyLXB1c2gtbm90aWZpY2F0aW9ucy8pXG4gKiBAc2VlIFtNRE46IFB1c2ggQVBJXShodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvUHVzaF9BUEkpXG4gKiBAc2VlIFtNRE46IE5vdGlmaWNhdGlvbnMgQVBJXShodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvTm90aWZpY2F0aW9uc19BUEkpXG4gKiBAc2VlIFtNRE46IFdlYiBQdXNoIEFQSSBOb3RpZmljYXRpb25zIGJlc3QgcHJhY3RpY2VzXShodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvUHVzaF9BUEkvQmVzdF9QcmFjdGljZXMpXG4gKlxuICogQHB1YmxpY0FwaVxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU3dQdXNoIHtcbiAgLyoqXG4gICAqIEVtaXRzIHRoZSBwYXlsb2FkcyBvZiB0aGUgcmVjZWl2ZWQgcHVzaCBub3RpZmljYXRpb24gbWVzc2FnZXMuXG4gICAqL1xuICByZWFkb25seSBtZXNzYWdlczogT2JzZXJ2YWJsZTxvYmplY3Q+O1xuXG4gIC8qKlxuICAgKiBFbWl0cyB0aGUgcGF5bG9hZHMgb2YgdGhlIHJlY2VpdmVkIHB1c2ggbm90aWZpY2F0aW9uIG1lc3NhZ2VzIGFzIHdlbGwgYXMgdGhlIGFjdGlvbiB0aGUgdXNlclxuICAgKiBpbnRlcmFjdGVkIHdpdGguIElmIG5vIGFjdGlvbiB3YXMgdXNlZCB0aGUgYGFjdGlvbmAgcHJvcGVydHkgY29udGFpbnMgYW4gZW1wdHkgc3RyaW5nIGAnJ2AuXG4gICAqXG4gICAqIE5vdGUgdGhhdCB0aGUgYG5vdGlmaWNhdGlvbmAgcHJvcGVydHkgZG9lcyAqKm5vdCoqIGNvbnRhaW4gYVxuICAgKiBbTm90aWZpY2F0aW9uXVtNb3ppbGxhIE5vdGlmaWNhdGlvbl0gb2JqZWN0IGJ1dCByYXRoZXIgYVxuICAgKiBbTm90aWZpY2F0aW9uT3B0aW9uc10oaHR0cHM6Ly9ub3RpZmljYXRpb25zLnNwZWMud2hhdHdnLm9yZy8jZGljdGRlZi1ub3RpZmljYXRpb25vcHRpb25zKVxuICAgKiBvYmplY3QgdGhhdCBhbHNvIGluY2x1ZGVzIHRoZSBgdGl0bGVgIG9mIHRoZSBbTm90aWZpY2F0aW9uXVtNb3ppbGxhIE5vdGlmaWNhdGlvbl0gb2JqZWN0LlxuICAgKlxuICAgKiBbTW96aWxsYSBOb3RpZmljYXRpb25dOiBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvTm90aWZpY2F0aW9uXG4gICAqL1xuICByZWFkb25seSBub3RpZmljYXRpb25DbGlja3M6IE9ic2VydmFibGU8e1xuICAgIGFjdGlvbjogc3RyaW5nO1xuICAgIG5vdGlmaWNhdGlvbjogTm90aWZpY2F0aW9uT3B0aW9ucyAmIHtcbiAgICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgfTtcbiAgfT47XG5cbiAgLyoqXG4gICAqIEVtaXRzIHRoZSBjdXJyZW50bHkgYWN0aXZlXG4gICAqIFtQdXNoU3Vic2NyaXB0aW9uXShodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvUHVzaFN1YnNjcmlwdGlvbilcbiAgICogYXNzb2NpYXRlZCB0byB0aGUgU2VydmljZSBXb3JrZXIgcmVnaXN0cmF0aW9uIG9yIGBudWxsYCBpZiB0aGVyZSBpcyBubyBzdWJzY3JpcHRpb24uXG4gICAqL1xuICByZWFkb25seSBzdWJzY3JpcHRpb246IE9ic2VydmFibGU8UHVzaFN1YnNjcmlwdGlvbiB8IG51bGw+O1xuXG4gIC8qKlxuICAgKiBUcnVlIGlmIHRoZSBTZXJ2aWNlIFdvcmtlciBpcyBlbmFibGVkIChzdXBwb3J0ZWQgYnkgdGhlIGJyb3dzZXIgYW5kIGVuYWJsZWQgdmlhXG4gICAqIGBTZXJ2aWNlV29ya2VyTW9kdWxlYCkuXG4gICAqL1xuICBnZXQgaXNFbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnN3LmlzRW5hYmxlZDtcbiAgfVxuXG4gIHByaXZhdGUgcHVzaE1hbmFnZXI6IE9ic2VydmFibGU8UHVzaE1hbmFnZXI+IHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uQ2hhbmdlcyA9IG5ldyBTdWJqZWN0PFB1c2hTdWJzY3JpcHRpb24gfCBudWxsPigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc3c6IE5nc3dDb21tQ2hhbm5lbCkge1xuICAgIGlmICghc3cuaXNFbmFibGVkKSB7XG4gICAgICB0aGlzLm1lc3NhZ2VzID0gTkVWRVI7XG4gICAgICB0aGlzLm5vdGlmaWNhdGlvbkNsaWNrcyA9IE5FVkVSO1xuICAgICAgdGhpcy5zdWJzY3JpcHRpb24gPSBORVZFUjtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLm1lc3NhZ2VzID0gdGhpcy5zdy5ldmVudHNPZlR5cGU8UHVzaEV2ZW50PignUFVTSCcpLnBpcGUobWFwKChtZXNzYWdlKSA9PiBtZXNzYWdlLmRhdGEpKTtcblxuICAgIHRoaXMubm90aWZpY2F0aW9uQ2xpY2tzID0gdGhpcy5zd1xuICAgICAgLmV2ZW50c09mVHlwZSgnTk9USUZJQ0FUSU9OX0NMSUNLJylcbiAgICAgIC5waXBlKG1hcCgobWVzc2FnZTogYW55KSA9PiBtZXNzYWdlLmRhdGEpKTtcblxuICAgIHRoaXMucHVzaE1hbmFnZXIgPSB0aGlzLnN3LnJlZ2lzdHJhdGlvbi5waXBlKG1hcCgocmVnaXN0cmF0aW9uKSA9PiByZWdpc3RyYXRpb24ucHVzaE1hbmFnZXIpKTtcblxuICAgIGNvbnN0IHdvcmtlckRyaXZlblN1YnNjcmlwdGlvbnMgPSB0aGlzLnB1c2hNYW5hZ2VyLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKHBtKSA9PiBwbS5nZXRTdWJzY3JpcHRpb24oKSksXG4gICAgKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IG1lcmdlKHdvcmtlckRyaXZlblN1YnNjcmlwdGlvbnMsIHRoaXMuc3Vic2NyaXB0aW9uQ2hhbmdlcyk7XG4gIH1cblxuICAvKipcbiAgICogU3Vic2NyaWJlcyB0byBXZWIgUHVzaCBOb3RpZmljYXRpb25zLFxuICAgKiBhZnRlciByZXF1ZXN0aW5nIGFuZCByZWNlaXZpbmcgdXNlciBwZXJtaXNzaW9uLlxuICAgKlxuICAgKiBAcGFyYW0gb3B0aW9ucyBBbiBvYmplY3QgY29udGFpbmluZyB0aGUgYHNlcnZlclB1YmxpY0tleWAgc3RyaW5nLlxuICAgKiBAcmV0dXJucyBBIFByb21pc2UgdGhhdCByZXNvbHZlcyB0byB0aGUgbmV3IHN1YnNjcmlwdGlvbiBvYmplY3QuXG4gICAqL1xuICByZXF1ZXN0U3Vic2NyaXB0aW9uKG9wdGlvbnM6IHtzZXJ2ZXJQdWJsaWNLZXk6IHN0cmluZ30pOiBQcm9taXNlPFB1c2hTdWJzY3JpcHRpb24+IHtcbiAgICBpZiAoIXRoaXMuc3cuaXNFbmFibGVkIHx8IHRoaXMucHVzaE1hbmFnZXIgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoRVJSX1NXX05PVF9TVVBQT1JURUQpKTtcbiAgICB9XG4gICAgY29uc3QgcHVzaE9wdGlvbnM6IFB1c2hTdWJzY3JpcHRpb25PcHRpb25zSW5pdCA9IHt1c2VyVmlzaWJsZU9ubHk6IHRydWV9O1xuICAgIGxldCBrZXkgPSB0aGlzLmRlY29kZUJhc2U2NChvcHRpb25zLnNlcnZlclB1YmxpY0tleS5yZXBsYWNlKC9fL2csICcvJykucmVwbGFjZSgvLS9nLCAnKycpKTtcbiAgICBsZXQgYXBwbGljYXRpb25TZXJ2ZXJLZXkgPSBuZXcgVWludDhBcnJheShuZXcgQXJyYXlCdWZmZXIoa2V5Lmxlbmd0aCkpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwga2V5Lmxlbmd0aDsgaSsrKSB7XG4gICAgICBhcHBsaWNhdGlvblNlcnZlcktleVtpXSA9IGtleS5jaGFyQ29kZUF0KGkpO1xuICAgIH1cbiAgICBwdXNoT3B0aW9ucy5hcHBsaWNhdGlvblNlcnZlcktleSA9IGFwcGxpY2F0aW9uU2VydmVyS2V5O1xuXG4gICAgcmV0dXJuIHRoaXMucHVzaE1hbmFnZXJcbiAgICAgIC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKHBtKSA9PiBwbS5zdWJzY3JpYmUocHVzaE9wdGlvbnMpKSxcbiAgICAgICAgdGFrZSgxKSxcbiAgICAgIClcbiAgICAgIC50b1Byb21pc2UoKVxuICAgICAgLnRoZW4oKHN1YikgPT4ge1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbkNoYW5nZXMubmV4dChzdWIhKTtcbiAgICAgICAgcmV0dXJuIHN1YiE7XG4gICAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVbnN1YnNjcmliZXMgZnJvbSBTZXJ2aWNlIFdvcmtlciBwdXNoIG5vdGlmaWNhdGlvbnMuXG4gICAqXG4gICAqIEByZXR1cm5zIEEgUHJvbWlzZSB0aGF0IGlzIHJlc29sdmVkIHdoZW4gdGhlIG9wZXJhdGlvbiBzdWNjZWVkcywgb3IgaXMgcmVqZWN0ZWQgaWYgdGhlcmUgaXMgbm9cbiAgICogICAgICAgICAgYWN0aXZlIHN1YnNjcmlwdGlvbiBvciB0aGUgdW5zdWJzY3JpYmUgb3BlcmF0aW9uIGZhaWxzLlxuICAgKi9cbiAgdW5zdWJzY3JpYmUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKCF0aGlzLnN3LmlzRW5hYmxlZCkge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcihFUlJfU1dfTk9UX1NVUFBPUlRFRCkpO1xuICAgIH1cblxuICAgIGNvbnN0IGRvVW5zdWJzY3JpYmUgPSAoc3ViOiBQdXNoU3Vic2NyaXB0aW9uIHwgbnVsbCkgPT4ge1xuICAgICAgaWYgKHN1YiA9PT0gbnVsbCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ05vdCBzdWJzY3JpYmVkIHRvIHB1c2ggbm90aWZpY2F0aW9ucy4nKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHN1Yi51bnN1YnNjcmliZSgpLnRoZW4oKHN1Y2Nlc3MpID0+IHtcbiAgICAgICAgaWYgKCFzdWNjZXNzKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbnN1YnNjcmliZSBmYWlsZWQhJyk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbkNoYW5nZXMubmV4dChudWxsKTtcbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICByZXR1cm4gdGhpcy5zdWJzY3JpcHRpb24ucGlwZSh0YWtlKDEpLCBzd2l0Y2hNYXAoZG9VbnN1YnNjcmliZSkpLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBkZWNvZGVCYXNlNjQoaW5wdXQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGF0b2IoaW5wdXQpO1xuICB9XG59XG4iXX0=
|
package/esm2022/src/update.mjs
DELETED
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright Google LLC All Rights Reserved.
|
|
4
|
-
*
|
|
5
|
-
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
-
* found in the LICENSE file at https://angular.io/license
|
|
7
|
-
*/
|
|
8
|
-
import { Injectable } from '@angular/core';
|
|
9
|
-
import { NEVER } from 'rxjs';
|
|
10
|
-
import { ERR_SW_NOT_SUPPORTED, NgswCommChannel, } from './low_level';
|
|
11
|
-
import * as i0 from "@angular/core";
|
|
12
|
-
import * as i1 from "./low_level";
|
|
13
|
-
/**
|
|
14
|
-
* Subscribe to update notifications from the Service Worker, trigger update
|
|
15
|
-
* checks, and forcibly activate updates.
|
|
16
|
-
*
|
|
17
|
-
* @see {@link ecosystem/service-workers/communications Service worker communication guide}
|
|
18
|
-
*
|
|
19
|
-
* @publicApi
|
|
20
|
-
*/
|
|
21
|
-
export class SwUpdate {
|
|
22
|
-
/**
|
|
23
|
-
* True if the Service Worker is enabled (supported by the browser and enabled via
|
|
24
|
-
* `ServiceWorkerModule`).
|
|
25
|
-
*/
|
|
26
|
-
get isEnabled() {
|
|
27
|
-
return this.sw.isEnabled;
|
|
28
|
-
}
|
|
29
|
-
constructor(sw) {
|
|
30
|
-
this.sw = sw;
|
|
31
|
-
if (!sw.isEnabled) {
|
|
32
|
-
this.versionUpdates = NEVER;
|
|
33
|
-
this.unrecoverable = NEVER;
|
|
34
|
-
return;
|
|
35
|
-
}
|
|
36
|
-
this.versionUpdates = this.sw.eventsOfType([
|
|
37
|
-
'VERSION_DETECTED',
|
|
38
|
-
'VERSION_INSTALLATION_FAILED',
|
|
39
|
-
'VERSION_READY',
|
|
40
|
-
'NO_NEW_VERSION_DETECTED',
|
|
41
|
-
]);
|
|
42
|
-
this.unrecoverable = this.sw.eventsOfType('UNRECOVERABLE_STATE');
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Checks for an update and waits until the new version is downloaded from the server and ready
|
|
46
|
-
* for activation.
|
|
47
|
-
*
|
|
48
|
-
* @returns a promise that
|
|
49
|
-
* - resolves to `true` if a new version was found and is ready to be activated.
|
|
50
|
-
* - resolves to `false` if no new version was found
|
|
51
|
-
* - rejects if any error occurs
|
|
52
|
-
*/
|
|
53
|
-
checkForUpdate() {
|
|
54
|
-
if (!this.sw.isEnabled) {
|
|
55
|
-
return Promise.reject(new Error(ERR_SW_NOT_SUPPORTED));
|
|
56
|
-
}
|
|
57
|
-
const nonce = this.sw.generateNonce();
|
|
58
|
-
return this.sw.postMessageWithOperation('CHECK_FOR_UPDATES', { nonce }, nonce);
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* Updates the current client (i.e. browser tab) to the latest version that is ready for
|
|
62
|
-
* activation.
|
|
63
|
-
*
|
|
64
|
-
* In most cases, you should not use this method and instead should update a client by reloading
|
|
65
|
-
* the page.
|
|
66
|
-
*
|
|
67
|
-
* <div class="alert is-important">
|
|
68
|
-
*
|
|
69
|
-
* Updating a client without reloading can easily result in a broken application due to a version
|
|
70
|
-
* mismatch between the application shell and other page resources,
|
|
71
|
-
* such as lazy-loaded chunks, whose filenames may change between
|
|
72
|
-
* versions.
|
|
73
|
-
*
|
|
74
|
-
* Only use this method, if you are certain it is safe for your specific use case.
|
|
75
|
-
*
|
|
76
|
-
* </div>
|
|
77
|
-
*
|
|
78
|
-
* @returns a promise that
|
|
79
|
-
* - resolves to `true` if an update was activated successfully
|
|
80
|
-
* - resolves to `false` if no update was available (for example, the client was already on the
|
|
81
|
-
* latest version).
|
|
82
|
-
* - rejects if any error occurs
|
|
83
|
-
*/
|
|
84
|
-
activateUpdate() {
|
|
85
|
-
if (!this.sw.isEnabled) {
|
|
86
|
-
return Promise.reject(new Error(ERR_SW_NOT_SUPPORTED));
|
|
87
|
-
}
|
|
88
|
-
const nonce = this.sw.generateNonce();
|
|
89
|
-
return this.sw.postMessageWithOperation('ACTIVATE_UPDATE', { nonce }, nonce);
|
|
90
|
-
}
|
|
91
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0-next.1", ngImport: i0, type: SwUpdate, deps: [{ token: i1.NgswCommChannel }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
92
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.0-next.1", ngImport: i0, type: SwUpdate }); }
|
|
93
|
-
}
|
|
94
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0-next.1", ngImport: i0, type: SwUpdate, decorators: [{
|
|
95
|
-
type: Injectable
|
|
96
|
-
}], ctorParameters: () => [{ type: i1.NgswCommChannel }] });
|
|
97
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc2VydmljZS13b3JrZXIvc3JjL3VwZGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBQyxLQUFLLEVBQWEsTUFBTSxNQUFNLENBQUM7QUFFdkMsT0FBTyxFQUNMLG9CQUFvQixFQUNwQixlQUFlLEdBR2hCLE1BQU0sYUFBYSxDQUFDOzs7QUFFckI7Ozs7Ozs7R0FPRztBQUVILE1BQU0sT0FBTyxRQUFRO0lBbUJuQjs7O09BR0c7SUFDSCxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDO0lBQzNCLENBQUM7SUFFRCxZQUFvQixFQUFtQjtRQUFuQixPQUFFLEdBQUYsRUFBRSxDQUFpQjtRQUNyQyxJQUFJLENBQUMsRUFBRSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO1lBQzVCLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO1lBQzNCLE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBZTtZQUN2RCxrQkFBa0I7WUFDbEIsNkJBQTZCO1lBQzdCLGVBQWU7WUFDZix5QkFBeUI7U0FDMUIsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBMEIscUJBQXFCLENBQUMsQ0FBQztJQUM1RixDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSCxjQUFjO1FBQ1osSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDdkIsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQztRQUN6RCxDQUFDO1FBQ0QsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN0QyxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsd0JBQXdCLENBQUMsbUJBQW1CLEVBQUUsRUFBQyxLQUFLLEVBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUMvRSxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O09BdUJHO0lBQ0gsY0FBYztRQUNaLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3ZCLE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUM7UUFDekQsQ0FBQztRQUNELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDdEMsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLHdCQUF3QixDQUFDLGlCQUFpQixFQUFFLEVBQUMsS0FBSyxFQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDN0UsQ0FBQzt5SEF6RlUsUUFBUTs2SEFBUixRQUFROztzR0FBUixRQUFRO2tCQURwQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge05FVkVSLCBPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtcbiAgRVJSX1NXX05PVF9TVVBQT1JURUQsXG4gIE5nc3dDb21tQ2hhbm5lbCxcbiAgVW5yZWNvdmVyYWJsZVN0YXRlRXZlbnQsXG4gIFZlcnNpb25FdmVudCxcbn0gZnJvbSAnLi9sb3dfbGV2ZWwnO1xuXG4vKipcbiAqIFN1YnNjcmliZSB0byB1cGRhdGUgbm90aWZpY2F0aW9ucyBmcm9tIHRoZSBTZXJ2aWNlIFdvcmtlciwgdHJpZ2dlciB1cGRhdGVcbiAqIGNoZWNrcywgYW5kIGZvcmNpYmx5IGFjdGl2YXRlIHVwZGF0ZXMuXG4gKlxuICogQHNlZSB7QGxpbmsgZWNvc3lzdGVtL3NlcnZpY2Utd29ya2Vycy9jb21tdW5pY2F0aW9ucyBTZXJ2aWNlIHdvcmtlciBjb21tdW5pY2F0aW9uIGd1aWRlfVxuICpcbiAqIEBwdWJsaWNBcGlcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFN3VXBkYXRlIHtcbiAgLyoqXG4gICAqIEVtaXRzIGEgYFZlcnNpb25EZXRlY3RlZEV2ZW50YCBldmVudCB3aGVuZXZlciBhIG5ldyB2ZXJzaW9uIGlzIGRldGVjdGVkIG9uIHRoZSBzZXJ2ZXIuXG4gICAqXG4gICAqIEVtaXRzIGEgYFZlcnNpb25JbnN0YWxsYXRpb25GYWlsZWRFdmVudGAgZXZlbnQgd2hlbmV2ZXIgY2hlY2tpbmcgZm9yIG9yIGRvd25sb2FkaW5nIGEgbmV3XG4gICAqIHZlcnNpb24gZmFpbHMuXG4gICAqXG4gICAqIEVtaXRzIGEgYFZlcnNpb25SZWFkeUV2ZW50YCBldmVudCB3aGVuZXZlciBhIG5ldyB2ZXJzaW9uIGhhcyBiZWVuIGRvd25sb2FkZWQgYW5kIGlzIHJlYWR5IGZvclxuICAgKiBhY3RpdmF0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgdmVyc2lvblVwZGF0ZXM6IE9ic2VydmFibGU8VmVyc2lvbkV2ZW50PjtcblxuICAvKipcbiAgICogRW1pdHMgYW4gYFVucmVjb3ZlcmFibGVTdGF0ZUV2ZW50YCBldmVudCB3aGVuZXZlciB0aGUgdmVyc2lvbiBvZiB0aGUgYXBwIHVzZWQgYnkgdGhlIHNlcnZpY2VcbiAgICogd29ya2VyIHRvIHNlcnZlIHRoaXMgY2xpZW50IGlzIGluIGEgYnJva2VuIHN0YXRlIHRoYXQgY2Fubm90IGJlIHJlY292ZXJlZCBmcm9tIHdpdGhvdXQgYSBmdWxsXG4gICAqIHBhZ2UgcmVsb2FkLlxuICAgKi9cbiAgcmVhZG9ubHkgdW5yZWNvdmVyYWJsZTogT2JzZXJ2YWJsZTxVbnJlY292ZXJhYmxlU3RhdGVFdmVudD47XG5cbiAgLyoqXG4gICAqIFRydWUgaWYgdGhlIFNlcnZpY2UgV29ya2VyIGlzIGVuYWJsZWQgKHN1cHBvcnRlZCBieSB0aGUgYnJvd3NlciBhbmQgZW5hYmxlZCB2aWFcbiAgICogYFNlcnZpY2VXb3JrZXJNb2R1bGVgKS5cbiAgICovXG4gIGdldCBpc0VuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc3cuaXNFbmFibGVkO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzdzogTmdzd0NvbW1DaGFubmVsKSB7XG4gICAgaWYgKCFzdy5pc0VuYWJsZWQpIHtcbiAgICAgIHRoaXMudmVyc2lvblVwZGF0ZXMgPSBORVZFUjtcbiAgICAgIHRoaXMudW5yZWNvdmVyYWJsZSA9IE5FVkVSO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnZlcnNpb25VcGRhdGVzID0gdGhpcy5zdy5ldmVudHNPZlR5cGU8VmVyc2lvbkV2ZW50PihbXG4gICAgICAnVkVSU0lPTl9ERVRFQ1RFRCcsXG4gICAgICAnVkVSU0lPTl9JTlNUQUxMQVRJT05fRkFJTEVEJyxcbiAgICAgICdWRVJTSU9OX1JFQURZJyxcbiAgICAgICdOT19ORVdfVkVSU0lPTl9ERVRFQ1RFRCcsXG4gICAgXSk7XG4gICAgdGhpcy51bnJlY292ZXJhYmxlID0gdGhpcy5zdy5ldmVudHNPZlR5cGU8VW5yZWNvdmVyYWJsZVN0YXRlRXZlbnQ+KCdVTlJFQ09WRVJBQkxFX1NUQVRFJyk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIGZvciBhbiB1cGRhdGUgYW5kIHdhaXRzIHVudGlsIHRoZSBuZXcgdmVyc2lvbiBpcyBkb3dubG9hZGVkIGZyb20gdGhlIHNlcnZlciBhbmQgcmVhZHlcbiAgICogZm9yIGFjdGl2YXRpb24uXG4gICAqXG4gICAqIEByZXR1cm5zIGEgcHJvbWlzZSB0aGF0XG4gICAqIC0gcmVzb2x2ZXMgdG8gYHRydWVgIGlmIGEgbmV3IHZlcnNpb24gd2FzIGZvdW5kIGFuZCBpcyByZWFkeSB0byBiZSBhY3RpdmF0ZWQuXG4gICAqIC0gcmVzb2x2ZXMgdG8gYGZhbHNlYCBpZiBubyBuZXcgdmVyc2lvbiB3YXMgZm91bmRcbiAgICogLSByZWplY3RzIGlmIGFueSBlcnJvciBvY2N1cnNcbiAgICovXG4gIGNoZWNrRm9yVXBkYXRlKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGlmICghdGhpcy5zdy5pc0VuYWJsZWQpIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoRVJSX1NXX05PVF9TVVBQT1JURUQpKTtcbiAgICB9XG4gICAgY29uc3Qgbm9uY2UgPSB0aGlzLnN3LmdlbmVyYXRlTm9uY2UoKTtcbiAgICByZXR1cm4gdGhpcy5zdy5wb3N0TWVzc2FnZVdpdGhPcGVyYXRpb24oJ0NIRUNLX0ZPUl9VUERBVEVTJywge25vbmNlfSwgbm9uY2UpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZXMgdGhlIGN1cnJlbnQgY2xpZW50IChpLmUuIGJyb3dzZXIgdGFiKSB0byB0aGUgbGF0ZXN0IHZlcnNpb24gdGhhdCBpcyByZWFkeSBmb3JcbiAgICogYWN0aXZhdGlvbi5cbiAgICpcbiAgICogSW4gbW9zdCBjYXNlcywgeW91IHNob3VsZCBub3QgdXNlIHRoaXMgbWV0aG9kIGFuZCBpbnN0ZWFkIHNob3VsZCB1cGRhdGUgYSBjbGllbnQgYnkgcmVsb2FkaW5nXG4gICAqIHRoZSBwYWdlLlxuICAgKlxuICAgKiA8ZGl2IGNsYXNzPVwiYWxlcnQgaXMtaW1wb3J0YW50XCI+XG4gICAqXG4gICAqIFVwZGF0aW5nIGEgY2xpZW50IHdpdGhvdXQgcmVsb2FkaW5nIGNhbiBlYXNpbHkgcmVzdWx0IGluIGEgYnJva2VuIGFwcGxpY2F0aW9uIGR1ZSB0byBhIHZlcnNpb25cbiAgICogbWlzbWF0Y2ggYmV0d2VlbiB0aGUgYXBwbGljYXRpb24gc2hlbGwgYW5kIG90aGVyIHBhZ2UgcmVzb3VyY2VzLFxuICAgKiBzdWNoIGFzIGxhenktbG9hZGVkIGNodW5rcywgd2hvc2UgZmlsZW5hbWVzIG1heSBjaGFuZ2UgYmV0d2VlblxuICAgKiB2ZXJzaW9ucy5cbiAgICpcbiAgICogT25seSB1c2UgdGhpcyBtZXRob2QsIGlmIHlvdSBhcmUgY2VydGFpbiBpdCBpcyBzYWZlIGZvciB5b3VyIHNwZWNpZmljIHVzZSBjYXNlLlxuICAgKlxuICAgKiA8L2Rpdj5cbiAgICpcbiAgICogQHJldHVybnMgYSBwcm9taXNlIHRoYXRcbiAgICogIC0gcmVzb2x2ZXMgdG8gYHRydWVgIGlmIGFuIHVwZGF0ZSB3YXMgYWN0aXZhdGVkIHN1Y2Nlc3NmdWxseVxuICAgKiAgLSByZXNvbHZlcyB0byBgZmFsc2VgIGlmIG5vIHVwZGF0ZSB3YXMgYXZhaWxhYmxlIChmb3IgZXhhbXBsZSwgdGhlIGNsaWVudCB3YXMgYWxyZWFkeSBvbiB0aGVcbiAgICogICAgbGF0ZXN0IHZlcnNpb24pLlxuICAgKiAgLSByZWplY3RzIGlmIGFueSBlcnJvciBvY2N1cnNcbiAgICovXG4gIGFjdGl2YXRlVXBkYXRlKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGlmICghdGhpcy5zdy5pc0VuYWJsZWQpIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoRVJSX1NXX05PVF9TVVBQT1JURUQpKTtcbiAgICB9XG4gICAgY29uc3Qgbm9uY2UgPSB0aGlzLnN3LmdlbmVyYXRlTm9uY2UoKTtcbiAgICByZXR1cm4gdGhpcy5zdy5wb3N0TWVzc2FnZVdpdGhPcGVyYXRpb24oJ0FDVElWQVRFX1VQREFURScsIHtub25jZX0sIG5vbmNlKTtcbiAgfVxufVxuIl19
|