@angular/core 12.0.0 → 12.0.4
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/bundles/core-testing.umd.js +46 -83
- package/bundles/core-testing.umd.js.map +1 -1
- package/bundles/core.umd.js +33 -17
- package/bundles/core.umd.js.map +1 -1
- package/core.d.ts +245 -17
- package/core.metadata.json +1 -1
- package/esm2015/src/change_detection/differs/iterable_differs.js +1 -1
- package/esm2015/src/debug/debug_node.js +1 -1
- package/esm2015/src/di/injectable.js +1 -1
- package/esm2015/src/linker/component_factory_resolver.js +4 -1
- package/esm2015/src/metadata/di.js +1 -1
- package/esm2015/src/metadata/do_boostrap.js +1 -1
- package/esm2015/src/metadata/ng_module.js +1 -1
- package/esm2015/src/metadata/schema.js +5 -1
- package/esm2015/src/render3/instructions/listener.js +6 -3
- package/esm2015/src/render3/util/discovery_utils.js +18 -12
- package/esm2015/src/render3/view_ref.js +3 -3
- package/esm2015/src/version.js +1 -1
- package/esm2015/testing/src/fake_async.js +42 -25
- package/esm2015/testing/src/test_bed.js +5 -25
- package/esm2015/testing/src/testing_internal.js +1 -182
- package/fesm2015/core.js +33 -17
- package/fesm2015/core.js.map +1 -1
- package/fesm2015/testing.js +46 -76
- package/fesm2015/testing.js.map +1 -1
- package/package.json +2 -5
- package/schematics/migrations/deep-shadow-piercing-selector/index.d.ts +10 -0
- package/schematics/migrations/deep-shadow-piercing-selector/index.js +49 -0
- package/schematics/migrations.json +5 -0
- package/src/r3_symbols.d.ts +4 -1
- package/testing/testing.d.ts +42 -30
- package/testing/testing.metadata.json +1 -1
- package/testing.d.ts +1 -1
- package/esm2015/testing/src/async_test_completer.js +0 -28
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@angular/core",
|
|
3
|
-
"version": "12.0.
|
|
3
|
+
"version": "12.0.4",
|
|
4
4
|
"description": "Angular - the core framework",
|
|
5
5
|
"author": "angular",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"engines": {
|
|
8
|
-
"node": "^12.14.1 ||
|
|
8
|
+
"node": "^12.14.1 || >=14.0.0"
|
|
9
9
|
},
|
|
10
10
|
"dependencies": {
|
|
11
11
|
"tslib": "^2.1.0"
|
|
@@ -41,9 +41,6 @@
|
|
|
41
41
|
]
|
|
42
42
|
},
|
|
43
43
|
"sideEffects": false,
|
|
44
|
-
"publishConfig": {
|
|
45
|
-
"registry": "https://wombat-dressing-room.appspot.com"
|
|
46
|
-
},
|
|
47
44
|
"main": "./bundles/core.umd.js",
|
|
48
45
|
"fesm2015": "./fesm2015/core.js",
|
|
49
46
|
"esm2015": "./esm2015/core.js",
|
|
@@ -0,0 +1,10 @@
|
|
|
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
|
+
/// <amd-module name="@angular/core/schematics/migrations/deep-shadow-piercing-selector" />
|
|
9
|
+
import { Rule } from '@angular-devkit/schematics';
|
|
10
|
+
export default function (): Rule;
|
|
@@ -0,0 +1,49 @@
|
|
|
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
|
+
(function (factory) {
|
|
9
|
+
if (typeof module === "object" && typeof module.exports === "object") {
|
|
10
|
+
var v = factory(require, exports);
|
|
11
|
+
if (v !== undefined) module.exports = v;
|
|
12
|
+
}
|
|
13
|
+
else if (typeof define === "function" && define.amd) {
|
|
14
|
+
define("@angular/core/schematics/migrations/deep-shadow-piercing-selector", ["require", "exports", "@angular-devkit/core"], factory);
|
|
15
|
+
}
|
|
16
|
+
})(function (require, exports) {
|
|
17
|
+
"use strict";
|
|
18
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
+
const core_1 = require("@angular-devkit/core");
|
|
20
|
+
const VALID_EXTENSIONS = ['.scss', '.sass', '.css', '.styl', '.less', '.ts'];
|
|
21
|
+
function* visitFiles(directory) {
|
|
22
|
+
for (const path of directory.subfiles) {
|
|
23
|
+
const extension = core_1.extname(path);
|
|
24
|
+
if (VALID_EXTENSIONS.includes(extension)) {
|
|
25
|
+
yield core_1.join(directory.path, path);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
for (const path of directory.subdirs) {
|
|
29
|
+
if (path === 'node_modules' || path.startsWith('.') || path === 'dist') {
|
|
30
|
+
continue;
|
|
31
|
+
}
|
|
32
|
+
yield* visitFiles(directory.dir(path));
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
function default_1() {
|
|
36
|
+
return (tree) => {
|
|
37
|
+
var _a;
|
|
38
|
+
// Visit all files in an Angular workspace monorepo.
|
|
39
|
+
for (const file of visitFiles(tree.root)) {
|
|
40
|
+
const content = (_a = tree.read(file)) === null || _a === void 0 ? void 0 : _a.toString();
|
|
41
|
+
if (content === null || content === void 0 ? void 0 : content.includes('/deep/ ')) {
|
|
42
|
+
tree.overwrite(file, content.replace(/\/deep\/ /g, '::ng-deep '));
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
exports.default = default_1;
|
|
48
|
+
});
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NjaGVtYXRpY3MvbWlncmF0aW9ucy9kZWVwLXNoYWRvdy1waWVyY2luZy1zZWxlY3Rvci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7Ozs7Ozs7Ozs7OztJQUVILCtDQUFtRDtJQUduRCxNQUFNLGdCQUFnQixHQUFHLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztJQUU3RSxRQUFRLENBQUMsQ0FBQyxVQUFVLENBQUMsU0FBbUI7UUFDdEMsS0FBSyxNQUFNLElBQUksSUFBSSxTQUFTLENBQUMsUUFBUSxFQUFFO1lBQ3JDLE1BQU0sU0FBUyxHQUFHLGNBQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNoQyxJQUFJLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRTtnQkFDeEMsTUFBTSxXQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQzthQUNsQztTQUNGO1FBRUQsS0FBSyxNQUFNLElBQUksSUFBSSxTQUFTLENBQUMsT0FBTyxFQUFFO1lBQ3BDLElBQUksSUFBSSxLQUFLLGNBQWMsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksS0FBSyxNQUFNLEVBQUU7Z0JBQ3RFLFNBQVM7YUFDVjtZQUVELEtBQUssQ0FBQyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7U0FDeEM7SUFDSCxDQUFDO0lBRUQ7UUFDRSxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUU7O1lBQ2Qsb0RBQW9EO1lBQ3BELEtBQUssTUFBTSxJQUFJLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDeEMsTUFBTSxPQUFPLEdBQUcsTUFBQSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQywwQ0FBRSxRQUFRLEVBQUUsQ0FBQztnQkFDNUMsSUFBSSxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsUUFBUSxDQUFDLFNBQVMsQ0FBQyxFQUFFO29CQUNoQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDO2lCQUNuRTthQUNGO1FBQ0gsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQVZELDRCQVVDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7ZXh0bmFtZSwgam9pbn0gZnJvbSAnQGFuZ3VsYXItZGV2a2l0L2NvcmUnO1xuaW1wb3J0IHtEaXJFbnRyeSwgUnVsZX0gZnJvbSAnQGFuZ3VsYXItZGV2a2l0L3NjaGVtYXRpY3MnO1xuXG5jb25zdCBWQUxJRF9FWFRFTlNJT05TID0gWycuc2NzcycsICcuc2FzcycsICcuY3NzJywgJy5zdHlsJywgJy5sZXNzJywgJy50cyddO1xuXG5mdW5jdGlvbiogdmlzaXRGaWxlcyhkaXJlY3Rvcnk6IERpckVudHJ5KTogSXRlcmFibGVJdGVyYXRvcjxzdHJpbmc+IHtcbiAgZm9yIChjb25zdCBwYXRoIG9mIGRpcmVjdG9yeS5zdWJmaWxlcykge1xuICAgIGNvbnN0IGV4dGVuc2lvbiA9IGV4dG5hbWUocGF0aCk7XG4gICAgaWYgKFZBTElEX0VYVEVOU0lPTlMuaW5jbHVkZXMoZXh0ZW5zaW9uKSkge1xuICAgICAgeWllbGQgam9pbihkaXJlY3RvcnkucGF0aCwgcGF0aCk7XG4gICAgfVxuICB9XG5cbiAgZm9yIChjb25zdCBwYXRoIG9mIGRpcmVjdG9yeS5zdWJkaXJzKSB7XG4gICAgaWYgKHBhdGggPT09ICdub2RlX21vZHVsZXMnIHx8IHBhdGguc3RhcnRzV2l0aCgnLicpIHx8IHBhdGggPT09ICdkaXN0Jykge1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgeWllbGQqIHZpc2l0RmlsZXMoZGlyZWN0b3J5LmRpcihwYXRoKSk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24oKTogUnVsZSB7XG4gIHJldHVybiAodHJlZSkgPT4ge1xuICAgIC8vIFZpc2l0IGFsbCBmaWxlcyBpbiBhbiBBbmd1bGFyIHdvcmtzcGFjZSBtb25vcmVwby5cbiAgICBmb3IgKGNvbnN0IGZpbGUgb2YgdmlzaXRGaWxlcyh0cmVlLnJvb3QpKSB7XG4gICAgICBjb25zdCBjb250ZW50ID0gdHJlZS5yZWFkKGZpbGUpPy50b1N0cmluZygpO1xuICAgICAgaWYgKGNvbnRlbnQ/LmluY2x1ZGVzKCcvZGVlcC8gJykpIHtcbiAgICAgICAgdHJlZS5vdmVyd3JpdGUoZmlsZSwgY29udGVudC5yZXBsYWNlKC9cXC9kZWVwXFwvIC9nLCAnOjpuZy1kZWVwICcpKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG59XG4iXX0=
|
|
@@ -94,6 +94,11 @@
|
|
|
94
94
|
"version": "12.0.0-next.6",
|
|
95
95
|
"description": "`XhrFactory` has been moved from `@angular/common/http` to `@angular/common`.",
|
|
96
96
|
"factory": "./migrations/xhr-factory/index"
|
|
97
|
+
},
|
|
98
|
+
"migration-v12-deep-shadow-piercing-selector": {
|
|
99
|
+
"version": "12.0.2",
|
|
100
|
+
"description": "Automatically migrates shadow-piercing selector from `/deep/` to the recommanded alternative `::ng-deep`.",
|
|
101
|
+
"factory": "./migrations/deep-shadow-piercing-selector/index"
|
|
97
102
|
}
|
|
98
103
|
}
|
|
99
104
|
}
|
package/src/r3_symbols.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Angular v12.0.
|
|
2
|
+
* @license Angular v12.0.4
|
|
3
3
|
* (c) 2010-2021 Google LLC. https://angular.io/
|
|
4
4
|
* License: MIT
|
|
5
5
|
*/
|
|
@@ -165,6 +165,9 @@ declare abstract class ComponentFactory<C> {
|
|
|
165
165
|
* then use the factory's `create()` method to create a component of that type.
|
|
166
166
|
*
|
|
167
167
|
* @see [Dynamic Components](guide/dynamic-component-loader)
|
|
168
|
+
* @see [Usage Example](guide/dynamic-component-loader#resolving-components)
|
|
169
|
+
* @see <live-example name="dynamic-component-loader" noDownload></live-example>
|
|
170
|
+
of the code in this cookbook
|
|
168
171
|
* @publicApi
|
|
169
172
|
*/
|
|
170
173
|
declare abstract class ComponentFactoryResolver {
|
package/testing/testing.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Angular v12.0.
|
|
2
|
+
* @license Angular v12.0.4
|
|
3
3
|
* (c) 2010-2021 Google LLC. https://angular.io/
|
|
4
4
|
* License: MIT
|
|
5
5
|
*/
|
|
@@ -136,33 +136,37 @@ export declare const ComponentFixtureNoNgZone: InjectionToken<boolean[]>;
|
|
|
136
136
|
export declare function discardPeriodicTasks(): void;
|
|
137
137
|
|
|
138
138
|
/**
|
|
139
|
-
* Wraps a function to be executed in the fakeAsync zone:
|
|
140
|
-
* -
|
|
141
|
-
* -
|
|
139
|
+
* Wraps a function to be executed in the `fakeAsync` zone:
|
|
140
|
+
* - Microtasks are manually executed by calling `flushMicrotasks()`.
|
|
141
|
+
* - Timers are synchronous; `tick()` simulates the asynchronous passage of time.
|
|
142
142
|
*
|
|
143
|
-
* If there are any pending timers at the end of the function, an exception
|
|
143
|
+
* If there are any pending timers at the end of the function, an exception is thrown.
|
|
144
144
|
*
|
|
145
|
-
* Can be used to wrap inject() calls.
|
|
145
|
+
* Can be used to wrap `inject()` calls.
|
|
146
|
+
*
|
|
147
|
+
* @param fn The function that you want to wrap in the `fakeAysnc` zone.
|
|
146
148
|
*
|
|
147
149
|
* @usageNotes
|
|
148
150
|
* ### Example
|
|
149
151
|
*
|
|
150
152
|
* {@example core/testing/ts/fake_async.ts region='basic'}
|
|
151
153
|
*
|
|
152
|
-
*
|
|
153
|
-
* @returns The function wrapped to be executed in the fakeAsync zone
|
|
154
|
+
*
|
|
155
|
+
* @returns The function wrapped to be executed in the `fakeAsync` zone.
|
|
156
|
+
* Any arguments passed when calling this returned function will be passed through to the `fn`
|
|
157
|
+
* function in the parameters when it is called.
|
|
154
158
|
*
|
|
155
159
|
* @publicApi
|
|
156
160
|
*/
|
|
157
161
|
export declare function fakeAsync(fn: Function): (...args: any[]) => any;
|
|
158
162
|
|
|
159
163
|
/**
|
|
160
|
-
* Simulates the asynchronous passage of time for the timers in the fakeAsync zone by
|
|
161
|
-
* draining the macrotask queue until it is empty.
|
|
162
|
-
* of time that would have been elapsed.
|
|
164
|
+
* Simulates the asynchronous passage of time for the timers in the `fakeAsync` zone by
|
|
165
|
+
* draining the macrotask queue until it is empty.
|
|
163
166
|
*
|
|
164
|
-
* @param maxTurns
|
|
165
|
-
*
|
|
167
|
+
* @param maxTurns The maximum number of times the scheduler attempts to clear its queue before
|
|
168
|
+
* throwing an error.
|
|
169
|
+
* @returns The simulated time elapsed, in milliseconds.
|
|
166
170
|
*
|
|
167
171
|
* @publicApi
|
|
168
172
|
*/
|
|
@@ -201,11 +205,6 @@ export declare const getTestBed: () => TestBed;
|
|
|
201
205
|
* })
|
|
202
206
|
* ```
|
|
203
207
|
*
|
|
204
|
-
* Notes:
|
|
205
|
-
* - inject is currently a function because of some Traceur limitation the syntax should
|
|
206
|
-
* eventually
|
|
207
|
-
* becomes `it('...', @Inject (object: AClass, async: AsyncTestCompleter) => { ... });`
|
|
208
|
-
*
|
|
209
208
|
* @publicApi
|
|
210
209
|
*/
|
|
211
210
|
export declare function inject(tokens: any[], fn: Function): () => any;
|
|
@@ -404,23 +403,36 @@ export declare type TestModuleMetadata = {
|
|
|
404
403
|
};
|
|
405
404
|
|
|
406
405
|
/**
|
|
407
|
-
* Simulates the asynchronous passage of time for the timers in the fakeAsync zone.
|
|
406
|
+
* Simulates the asynchronous passage of time for the timers in the `fakeAsync` zone.
|
|
408
407
|
*
|
|
409
408
|
* The microtasks queue is drained at the very start of this function and after any timer callback
|
|
410
409
|
* has been executed.
|
|
411
410
|
*
|
|
411
|
+
* @param millis The number of milliseconds to advance the virtual timer.
|
|
412
|
+
* @param tickOptions The options to pass to the `tick()` function.
|
|
413
|
+
*
|
|
412
414
|
* @usageNotes
|
|
415
|
+
*
|
|
416
|
+
* The `tick()` option is a flag called `processNewMacroTasksSynchronously`,
|
|
417
|
+
* which determines whether or not to invoke new macroTasks.
|
|
418
|
+
*
|
|
419
|
+
* If you provide a `tickOptions` object, but do not specify a
|
|
420
|
+
* `processNewMacroTasksSynchronously` property (`tick(100, {})`),
|
|
421
|
+
* then `processNewMacroTasksSynchronously` defaults to true.
|
|
422
|
+
*
|
|
423
|
+
* If you omit the `tickOptions` parameter (`tick(100))`), then
|
|
424
|
+
* `tickOptions` defaults to `{processNewMacroTasksSynchronously: true}`.
|
|
425
|
+
*
|
|
413
426
|
* ### Example
|
|
414
427
|
*
|
|
415
428
|
* {@example core/testing/ts/fake_async.ts region='basic'}
|
|
416
429
|
*
|
|
417
|
-
*
|
|
418
|
-
*
|
|
419
|
-
* processNewMacroTasksSynchronously
|
|
420
|
-
*
|
|
421
|
-
*
|
|
422
|
-
* For example,
|
|
430
|
+
* The following example includes a nested timeout (new macroTask), and
|
|
431
|
+
* the `tickOptions` parameter is allowed to default. In this case,
|
|
432
|
+
* `processNewMacroTasksSynchronously` defaults to true, and the nested
|
|
433
|
+
* function is executed on each tick.
|
|
423
434
|
*
|
|
435
|
+
* ```
|
|
424
436
|
* it ('test with nested setTimeout', fakeAsync(() => {
|
|
425
437
|
* let nestedTimeoutInvoked = false;
|
|
426
438
|
* function funcWithNestedTimeout() {
|
|
@@ -432,10 +444,12 @@ export declare type TestModuleMetadata = {
|
|
|
432
444
|
* tick();
|
|
433
445
|
* expect(nestedTimeoutInvoked).toBe(true);
|
|
434
446
|
* }));
|
|
447
|
+
* ```
|
|
435
448
|
*
|
|
436
|
-
*
|
|
437
|
-
*
|
|
449
|
+
* In the following case, `processNewMacroTasksSynchronously` is explicitly
|
|
450
|
+
* set to false, so the nested timeout function is not invoked.
|
|
438
451
|
*
|
|
452
|
+
* ```
|
|
439
453
|
* it ('test with nested setTimeout', fakeAsync(() => {
|
|
440
454
|
* let nestedTimeoutInvoked = false;
|
|
441
455
|
* function funcWithNestedTimeout() {
|
|
@@ -447,9 +461,7 @@ export declare type TestModuleMetadata = {
|
|
|
447
461
|
* tick(0, {processNewMacroTasksSynchronously: false});
|
|
448
462
|
* expect(nestedTimeoutInvoked).toBe(false);
|
|
449
463
|
* }));
|
|
450
|
-
*
|
|
451
|
-
* if we pass the tickOptions with processNewMacroTasksSynchronously to be false, the nested timeout
|
|
452
|
-
* will not be invoked.
|
|
464
|
+
* ```
|
|
453
465
|
*
|
|
454
466
|
*
|
|
455
467
|
* @publicApi
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"__symbolic":"module","version":4,"metadata":{"ɵangular_packages_core_testing_testing_a":{"__symbolic":"class","members":{"initTestEnvironment":[{"__symbolic":"method"}],"resetTestEnvironment":[{"__symbolic":"method"}],"resetTestingModule":[{"__symbolic":"method"}],"configureCompiler":[{"__symbolic":"method"}],"configureTestingModule":[{"__symbolic":"method"}],"compileComponents":[{"__symbolic":"method"}],"_initIfNeeded":[{"__symbolic":"method"}],"_createCompilerAndModule":[{"__symbolic":"method"}],"_assertNotInstantiated":[{"__symbolic":"method"}],"inject":[{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"}],"get":[{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"}],"execute":[{"__symbolic":"method"}],"overrideModule":[{"__symbolic":"method"}],"overrideComponent":[{"__symbolic":"method"}],"overrideDirective":[{"__symbolic":"method"}],"overridePipe":[{"__symbolic":"method"}],"overrideProvider":[{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"}],"overrideProviderImpl":[{"__symbolic":"method"}],"overrideTemplateUsingTestingModule":[{"__symbolic":"method"}],"createComponent":[{"__symbolic":"method"}]},"statics":{"compileComponents":{"__symbolic":"function","parameters":[],"value":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"getTestBed"}},"member":"compileComponents"}}},"inject":{"__symbolic":"function","parameters":["token","notFoundValue","flags"],"value":{"__symbolic":"error","message":"Reference to a non-exported function","line":641,"character":9,"context":{"name":"_getTestBedViewEngine"},"module":"./testing"}},"get":{"__symbolic":"function","parameters":["token","notFoundValue","flags"],"defaults":[null,{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":230,"character":39},"member":"THROW_IF_NOT_FOUND"},{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectFlags","line":231,"character":27},"member":"Default"}],"value":{"__symbolic":"error","message":"Reference to a non-exported function","line":641,"character":9,"context":{"name":"_getTestBedViewEngine"},"module":"./testing"}},"createComponent":{"__symbolic":"function","parameters":["component"],"value":{"__symbolic":"error","message":"Reference to a non-exported function","line":641,"character":9,"context":{"name":"_getTestBedViewEngine"},"module":"./testing"}}}},"waitForAsync":{"__symbolic":"function"},"async":{"__symbolic":"function","parameters":["fn"],"value":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"waitForAsync"},"arguments":[{"__symbolic":"reference","name":"fn"}]}},"ComponentFixture":{"__symbolic":"class","arity":1,"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ComponentRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":53,"character":40,"context":{"typeName":"T"},"module":"./testing"}]},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":53,"character":59},{"__symbolic":"reference","name":"boolean"}]}],"_tick":[{"__symbolic":"method"}],"detectChanges":[{"__symbolic":"method"}],"checkNoChanges":[{"__symbolic":"method"}],"autoDetectChanges":[{"__symbolic":"method"}],"isStable":[{"__symbolic":"method"}],"whenStable":[{"__symbolic":"method"}],"_getRenderer":[{"__symbolic":"method"}],"whenRenderingDone":[{"__symbolic":"method"}],"destroy":[{"__symbolic":"method"}]}},"resetFakeAsyncZone":{"__symbolic":"function"},"fakeAsync":{"__symbolic":"function"},"tick":{"__symbolic":"function"},"flush":{"__symbolic":"function"},"discardPeriodicTasks":{"__symbolic":"function"},"flushMicrotasks":{"__symbolic":"function"},"TestBed":{"__symbolic":"if","condition":{"__symbolic":"reference","module":"@angular/core","name":"ɵivyEnabled","line":628,"character":4},"thenExpression":{"__symbolic":"reference","name":"ɵangular_packages_core_testing_testing_b"},"elseExpression":{"__symbolic":"reference","name":"ɵangular_packages_core_testing_testing_a"}},"getTestBed":{"__symbolic":"if","condition":{"__symbolic":"reference","module":"@angular/core","name":"ɵivyEnabled","line":637,"character":41},"thenExpression":{"__symbolic":"reference","name":"ɵangular_packages_core_testing_testing_c"},"elseExpression":{"__symbolic":"error","message":"Reference to a non-exported function","line":641,"character":9,"context":{"name":"_getTestBedViewEngine"},"module":"./testing"}},"inject":{"__symbolic":"function"},"InjectSetupWrapper":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Expression form not supported","line":694,"character":34,"module":"./testing"}]}],"_addModule":[{"__symbolic":"method"}],"inject":[{"__symbolic":"method"}]}},"withModule":{"__symbolic":"function"},"TestComponentRenderer":{"__symbolic":"class","members":{"insertRootElement":[{"__symbolic":"method"}]}},"ComponentFixtureAutoDetect":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":27,"character":8},"arguments":["ComponentFixtureAutoDetect"]},"ComponentFixtureNoNgZone":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":32,"character":44},"arguments":["ComponentFixtureNoNgZone"]},"TestModuleMetadata":{"__symbolic":"interface"},"TestBedStatic":{"__symbolic":"interface"},"MetadataOverride":{"__symbolic":"interface"},"ɵMetadataOverrider":{"__symbolic":"class","members":{"overrideMetadata":[{"__symbolic":"method"}]}},"ɵTestingCompiler":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@angular/core","name":"Compiler","line":22,"character":37},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":21,"character":1}}],"members":{"overrideModule":[{"__symbolic":"method"}],"overrideDirective":[{"__symbolic":"method"}],"overrideComponent":[{"__symbolic":"method"}],"overridePipe":[{"__symbolic":"method"}],"loadAotSummaries":[{"__symbolic":"method"}],"getComponentFactory":[{"__symbolic":"method"}],"getComponentFromError":[{"__symbolic":"method"}]}},"ɵTestingCompilerFactory":{"__symbolic":"class","members":{"createTestingCompiler":[{"__symbolic":"method"}]}},"ɵangular_packages_core_testing_testing_b":{"__symbolic":"class","members":{"initTestEnvironment":[{"__symbolic":"method"}],"resetTestEnvironment":[{"__symbolic":"method"}],"resetTestingModule":[{"__symbolic":"method"}],"configureCompiler":[{"__symbolic":"method"}],"configureTestingModule":[{"__symbolic":"method"}],"compileComponents":[{"__symbolic":"method"}],"inject":[{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"}],"get":[{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"}],"execute":[{"__symbolic":"method"}],"overrideModule":[{"__symbolic":"method"}],"overrideComponent":[{"__symbolic":"method"}],"overrideTemplateUsingTestingModule":[{"__symbolic":"method"}],"overrideDirective":[{"__symbolic":"method"}],"overridePipe":[{"__symbolic":"method"}],"overrideProvider":[{"__symbolic":"method"}],"createComponent":[{"__symbolic":"method"}],"assertNotInstantiated":[{"__symbolic":"method"}],"checkGlobalCompilationFinished":[{"__symbolic":"method"}],"destroyActiveFixtures":[{"__symbolic":"method"}]},"statics":{"compileComponents":{"__symbolic":"function","parameters":[],"value":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"ɵangular_packages_core_testing_testing_c"}},"member":"compileComponents"}}},"inject":{"__symbolic":"function","parameters":["token","notFoundValue","flags"],"value":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"ɵangular_packages_core_testing_testing_c"}},"member":"inject"},"arguments":[{"__symbolic":"reference","name":"token"},{"__symbolic":"reference","name":"notFoundValue"},{"__symbolic":"reference","name":"flags"}]}},"get":{"__symbolic":"function","parameters":["token","notFoundValue","flags"],"defaults":[null,{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":170,"character":39},"member":"THROW_IF_NOT_FOUND"},{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectFlags","line":171,"character":27},"member":"Default"}],"value":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"ɵangular_packages_core_testing_testing_c"}},"member":"inject"},"arguments":[{"__symbolic":"reference","name":"token"},{"__symbolic":"reference","name":"notFoundValue"},{"__symbolic":"reference","name":"flags"}]}},"createComponent":{"__symbolic":"function","parameters":["component"],"value":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"ɵangular_packages_core_testing_testing_c"}},"member":"createComponent"},"arguments":[{"__symbolic":"reference","name":"component"}]}}}},"ɵangular_packages_core_testing_testing_c":{"__symbolic":"function","parameters":[],"value":{"__symbolic":"binop","operator":"=","left":{"__symbolic":"error","message":"Reference to a local symbol","line":418,"character":4,"context":{"name":"testBed"},"module":"./testing"},"right":{"__symbolic":"binop","operator":"||","left":{"__symbolic":"error","message":"Reference to a local symbol","line":418,"character":4,"context":{"name":"testBed"},"module":"./testing"},"right":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"ɵangular_packages_core_testing_testing_b"}}}}}},"origins":{"ɵangular_packages_core_testing_testing_a":"./testing","waitForAsync":"./testing","async":"./testing","ComponentFixture":"./testing","resetFakeAsyncZone":"./testing","fakeAsync":"./testing","tick":"./testing","flush":"./testing","discardPeriodicTasks":"./testing","flushMicrotasks":"./testing","TestBed":"./testing","getTestBed":"./testing","inject":"./testing","InjectSetupWrapper":"./testing","withModule":"./testing","TestComponentRenderer":"./testing","ComponentFixtureAutoDetect":"./testing","ComponentFixtureNoNgZone":"./testing","TestModuleMetadata":"./testing","TestBedStatic":"./testing","__core_private_testing_placeholder__":"./testing","MetadataOverride":"./testing","ɵMetadataOverrider":"./testing","ɵTestingCompiler":"./testing","ɵTestingCompilerFactory":"./testing","ɵangular_packages_core_testing_testing_b":"./testing","ɵangular_packages_core_testing_testing_c":"./testing"},"importAs":"@angular/core/testing"}
|
|
1
|
+
{"__symbolic":"module","version":4,"metadata":{"ɵangular_packages_core_testing_testing_a":{"__symbolic":"class","members":{"initTestEnvironment":[{"__symbolic":"method"}],"resetTestEnvironment":[{"__symbolic":"method"}],"resetTestingModule":[{"__symbolic":"method"}],"configureCompiler":[{"__symbolic":"method"}],"configureTestingModule":[{"__symbolic":"method"}],"compileComponents":[{"__symbolic":"method"}],"_initIfNeeded":[{"__symbolic":"method"}],"_createCompilerAndModule":[{"__symbolic":"method"}],"_assertNotInstantiated":[{"__symbolic":"method"}],"inject":[{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"}],"get":[{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"}],"execute":[{"__symbolic":"method"}],"overrideModule":[{"__symbolic":"method"}],"overrideComponent":[{"__symbolic":"method"}],"overrideDirective":[{"__symbolic":"method"}],"overridePipe":[{"__symbolic":"method"}],"overrideProvider":[{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"}],"overrideProviderImpl":[{"__symbolic":"method"}],"overrideTemplateUsingTestingModule":[{"__symbolic":"method"}],"createComponent":[{"__symbolic":"method"}]},"statics":{"compileComponents":{"__symbolic":"function","parameters":[],"value":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"getTestBed"}},"member":"compileComponents"}}},"inject":{"__symbolic":"function","parameters":["token","notFoundValue","flags"],"value":{"__symbolic":"error","message":"Reference to a non-exported function","line":640,"character":9,"context":{"name":"_getTestBedViewEngine"},"module":"./testing"}},"get":{"__symbolic":"function","parameters":["token","notFoundValue","flags"],"defaults":[null,{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":229,"character":39},"member":"THROW_IF_NOT_FOUND"},{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectFlags","line":230,"character":27},"member":"Default"}],"value":{"__symbolic":"error","message":"Reference to a non-exported function","line":640,"character":9,"context":{"name":"_getTestBedViewEngine"},"module":"./testing"}},"createComponent":{"__symbolic":"function","parameters":["component"],"value":{"__symbolic":"error","message":"Reference to a non-exported function","line":640,"character":9,"context":{"name":"_getTestBedViewEngine"},"module":"./testing"}}}},"waitForAsync":{"__symbolic":"function"},"async":{"__symbolic":"function","parameters":["fn"],"value":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"waitForAsync"},"arguments":[{"__symbolic":"reference","name":"fn"}]}},"ComponentFixture":{"__symbolic":"class","arity":1,"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ComponentRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":53,"character":40,"context":{"typeName":"T"},"module":"./testing"}]},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":53,"character":59},{"__symbolic":"reference","name":"boolean"}]}],"_tick":[{"__symbolic":"method"}],"detectChanges":[{"__symbolic":"method"}],"checkNoChanges":[{"__symbolic":"method"}],"autoDetectChanges":[{"__symbolic":"method"}],"isStable":[{"__symbolic":"method"}],"whenStable":[{"__symbolic":"method"}],"_getRenderer":[{"__symbolic":"method"}],"whenRenderingDone":[{"__symbolic":"method"}],"destroy":[{"__symbolic":"method"}]}},"resetFakeAsyncZone":{"__symbolic":"function"},"fakeAsync":{"__symbolic":"function"},"tick":{"__symbolic":"function"},"flush":{"__symbolic":"function"},"discardPeriodicTasks":{"__symbolic":"function"},"flushMicrotasks":{"__symbolic":"function"},"TestBed":{"__symbolic":"if","condition":{"__symbolic":"reference","module":"@angular/core","name":"ɵivyEnabled","line":627,"character":4},"thenExpression":{"__symbolic":"reference","name":"ɵangular_packages_core_testing_testing_b"},"elseExpression":{"__symbolic":"reference","name":"ɵangular_packages_core_testing_testing_a"}},"getTestBed":{"__symbolic":"if","condition":{"__symbolic":"reference","module":"@angular/core","name":"ɵivyEnabled","line":636,"character":41},"thenExpression":{"__symbolic":"reference","name":"ɵangular_packages_core_testing_testing_c"},"elseExpression":{"__symbolic":"error","message":"Reference to a non-exported function","line":640,"character":9,"context":{"name":"_getTestBedViewEngine"},"module":"./testing"}},"inject":{"__symbolic":"function"},"InjectSetupWrapper":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Expression form not supported","line":675,"character":34,"module":"./testing"}]}],"_addModule":[{"__symbolic":"method"}],"inject":[{"__symbolic":"method"}]}},"withModule":{"__symbolic":"function"},"TestComponentRenderer":{"__symbolic":"class","members":{"insertRootElement":[{"__symbolic":"method"}]}},"ComponentFixtureAutoDetect":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":27,"character":8},"arguments":["ComponentFixtureAutoDetect"]},"ComponentFixtureNoNgZone":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":32,"character":44},"arguments":["ComponentFixtureNoNgZone"]},"TestModuleMetadata":{"__symbolic":"interface"},"TestBedStatic":{"__symbolic":"interface"},"MetadataOverride":{"__symbolic":"interface"},"ɵMetadataOverrider":{"__symbolic":"class","members":{"overrideMetadata":[{"__symbolic":"method"}]}},"ɵTestingCompiler":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@angular/core","name":"Compiler","line":22,"character":37},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":21,"character":1}}],"members":{"overrideModule":[{"__symbolic":"method"}],"overrideDirective":[{"__symbolic":"method"}],"overrideComponent":[{"__symbolic":"method"}],"overridePipe":[{"__symbolic":"method"}],"loadAotSummaries":[{"__symbolic":"method"}],"getComponentFactory":[{"__symbolic":"method"}],"getComponentFromError":[{"__symbolic":"method"}]}},"ɵTestingCompilerFactory":{"__symbolic":"class","members":{"createTestingCompiler":[{"__symbolic":"method"}]}},"ɵangular_packages_core_testing_testing_b":{"__symbolic":"class","members":{"initTestEnvironment":[{"__symbolic":"method"}],"resetTestEnvironment":[{"__symbolic":"method"}],"resetTestingModule":[{"__symbolic":"method"}],"configureCompiler":[{"__symbolic":"method"}],"configureTestingModule":[{"__symbolic":"method"}],"compileComponents":[{"__symbolic":"method"}],"inject":[{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"}],"get":[{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"}],"execute":[{"__symbolic":"method"}],"overrideModule":[{"__symbolic":"method"}],"overrideComponent":[{"__symbolic":"method"}],"overrideTemplateUsingTestingModule":[{"__symbolic":"method"}],"overrideDirective":[{"__symbolic":"method"}],"overridePipe":[{"__symbolic":"method"}],"overrideProvider":[{"__symbolic":"method"}],"createComponent":[{"__symbolic":"method"}],"assertNotInstantiated":[{"__symbolic":"method"}],"checkGlobalCompilationFinished":[{"__symbolic":"method"}],"destroyActiveFixtures":[{"__symbolic":"method"}]},"statics":{"compileComponents":{"__symbolic":"function","parameters":[],"value":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"ɵangular_packages_core_testing_testing_c"}},"member":"compileComponents"}}},"inject":{"__symbolic":"function","parameters":["token","notFoundValue","flags"],"value":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"ɵangular_packages_core_testing_testing_c"}},"member":"inject"},"arguments":[{"__symbolic":"reference","name":"token"},{"__symbolic":"reference","name":"notFoundValue"},{"__symbolic":"reference","name":"flags"}]}},"get":{"__symbolic":"function","parameters":["token","notFoundValue","flags"],"defaults":[null,{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":170,"character":39},"member":"THROW_IF_NOT_FOUND"},{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectFlags","line":171,"character":27},"member":"Default"}],"value":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"ɵangular_packages_core_testing_testing_c"}},"member":"inject"},"arguments":[{"__symbolic":"reference","name":"token"},{"__symbolic":"reference","name":"notFoundValue"},{"__symbolic":"reference","name":"flags"}]}},"createComponent":{"__symbolic":"function","parameters":["component"],"value":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"ɵangular_packages_core_testing_testing_c"}},"member":"createComponent"},"arguments":[{"__symbolic":"reference","name":"component"}]}}}},"ɵangular_packages_core_testing_testing_c":{"__symbolic":"function","parameters":[],"value":{"__symbolic":"binop","operator":"=","left":{"__symbolic":"error","message":"Reference to a local symbol","line":418,"character":4,"context":{"name":"testBed"},"module":"./testing"},"right":{"__symbolic":"binop","operator":"||","left":{"__symbolic":"error","message":"Reference to a local symbol","line":418,"character":4,"context":{"name":"testBed"},"module":"./testing"},"right":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"ɵangular_packages_core_testing_testing_b"}}}}}},"origins":{"ɵangular_packages_core_testing_testing_a":"./testing","waitForAsync":"./testing","async":"./testing","ComponentFixture":"./testing","resetFakeAsyncZone":"./testing","fakeAsync":"./testing","tick":"./testing","flush":"./testing","discardPeriodicTasks":"./testing","flushMicrotasks":"./testing","TestBed":"./testing","getTestBed":"./testing","inject":"./testing","InjectSetupWrapper":"./testing","withModule":"./testing","TestComponentRenderer":"./testing","ComponentFixtureAutoDetect":"./testing","ComponentFixtureNoNgZone":"./testing","TestModuleMetadata":"./testing","TestBedStatic":"./testing","__core_private_testing_placeholder__":"./testing","MetadataOverride":"./testing","ɵMetadataOverrider":"./testing","ɵTestingCompiler":"./testing","ɵTestingCompilerFactory":"./testing","ɵangular_packages_core_testing_testing_b":"./testing","ɵangular_packages_core_testing_testing_c":"./testing"},"importAs":"@angular/core/testing"}
|
package/testing.d.ts
CHANGED
|
@@ -1,28 +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
|
-
* Injectable completer that allows signaling completion of an asynchronous test. Used internally.
|
|
10
|
-
*/
|
|
11
|
-
export class AsyncTestCompleter {
|
|
12
|
-
constructor() {
|
|
13
|
-
this._promise = new Promise((res, rej) => {
|
|
14
|
-
this._resolve = res;
|
|
15
|
-
this._reject = rej;
|
|
16
|
-
});
|
|
17
|
-
}
|
|
18
|
-
done(value) {
|
|
19
|
-
this._resolve(value);
|
|
20
|
-
}
|
|
21
|
-
fail(error, stackTrace) {
|
|
22
|
-
this._reject(error);
|
|
23
|
-
}
|
|
24
|
-
get promise() {
|
|
25
|
-
return this._promise;
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXN5bmNfdGVzdF9jb21wbGV0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3Rlc3Rpbmcvc3JjL2FzeW5jX3Rlc3RfY29tcGxldGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUVIOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGtCQUFrQjtJQUEvQjtRQUtVLGFBQVEsR0FBaUIsSUFBSSxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUU7WUFDeEQsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUM7WUFDcEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUM7UUFDckIsQ0FBQyxDQUFDLENBQUM7SUFZTCxDQUFDO0lBWEMsSUFBSSxDQUFDLEtBQVc7UUFDZCxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFJLENBQUMsS0FBVyxFQUFFLFVBQW1CO1FBQ25DLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdEIsQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuLyoqXG4gKiBJbmplY3RhYmxlIGNvbXBsZXRlciB0aGF0IGFsbG93cyBzaWduYWxpbmcgY29tcGxldGlvbiBvZiBhbiBhc3luY2hyb25vdXMgdGVzdC4gVXNlZCBpbnRlcm5hbGx5LlxuICovXG5leHBvcnQgY2xhc3MgQXN5bmNUZXN0Q29tcGxldGVyIHtcbiAgLy8gVE9ETyhpc3N1ZS8yNDU3MSk6IHJlbW92ZSAnIScuXG4gIHByaXZhdGUgX3Jlc29sdmUhOiAocmVzdWx0OiBhbnkpID0+IHZvaWQ7XG4gIC8vIFRPRE8oaXNzdWUvMjQ1NzEpOiByZW1vdmUgJyEnLlxuICBwcml2YXRlIF9yZWplY3QhOiAoZXJyOiBhbnkpID0+IHZvaWQ7XG4gIHByaXZhdGUgX3Byb21pc2U6IFByb21pc2U8YW55PiA9IG5ldyBQcm9taXNlKChyZXMsIHJlaikgPT4ge1xuICAgIHRoaXMuX3Jlc29sdmUgPSByZXM7XG4gICAgdGhpcy5fcmVqZWN0ID0gcmVqO1xuICB9KTtcbiAgZG9uZSh2YWx1ZT86IGFueSkge1xuICAgIHRoaXMuX3Jlc29sdmUodmFsdWUpO1xuICB9XG5cbiAgZmFpbChlcnJvcj86IGFueSwgc3RhY2tUcmFjZT86IHN0cmluZykge1xuICAgIHRoaXMuX3JlamVjdChlcnJvcik7XG4gIH1cblxuICBnZXQgcHJvbWlzZSgpOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLl9wcm9taXNlO1xuICB9XG59XG4iXX0=
|