ng-mocks 11.11.1 → 12.0.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/CHANGELOG.md +45 -0
- package/README.md +55 -37
- package/dist/index.d.ts +1 -0
- package/dist/index.js +2 -1
- package/dist/lib/common/core.config.js +5 -2
- package/dist/lib/common/core.helpers.js +8 -5
- package/dist/lib/common/core.reflect.body-global.js +9 -7
- package/dist/lib/common/core.reflect.provided-in.js +1 -1
- package/dist/lib/common/mock-control-value-accessor-proxy.d.ts +7 -6
- package/dist/lib/common/mock-control-value-accessor.d.ts +4 -4
- package/dist/lib/common/mock-control-value-accessor.js +6 -4
- package/dist/lib/common/mock.js +7 -6
- package/dist/lib/common/ng-mocks-stack.js +23 -14
- package/dist/lib/common/ng-mocks-universe.js +5 -1
- package/dist/lib/mock/decorate-declaration.js +6 -5
- package/dist/lib/mock-builder/func.extract-tokens.d.ts +7 -0
- package/dist/lib/mock-builder/func.extract-tokens.js +46 -0
- package/dist/lib/mock-builder/mock-builder.js +67 -89
- package/dist/lib/mock-builder/mock-builder.performance.js +3 -1
- package/dist/lib/mock-builder/mock-builder.promise.js +8 -7
- package/dist/lib/mock-builder/performance/required-metadata.js +8 -7
- package/dist/lib/mock-builder/promise/add-missed-mock-declarations-and-modules.js +2 -2
- package/dist/lib/mock-builder/promise/create-ng-mocks-token.js +6 -5
- package/dist/lib/mock-builder/promise/get-root-providers-data.js +6 -5
- package/dist/lib/mock-builder/promise/handle-entry-components.js +1 -1
- package/dist/lib/mock-builder/promise/init-exclude-def.js +6 -5
- package/dist/lib/mock-builder/promise/init-modules.js +6 -5
- package/dist/lib/mock-builder/promise/init-ng-modules.js +6 -5
- package/dist/lib/mock-builder/promise/try-mock-provider.js +3 -3
- package/dist/lib/mock-component/mock-component.js +3 -1
- package/dist/lib/mock-component/render/generate-template.js +2 -2
- package/dist/lib/mock-component/types.d.ts +2 -2
- package/dist/lib/mock-component/types.js +1 -1
- package/dist/lib/mock-directive/mock-directive.js +3 -1
- package/dist/lib/mock-directive/types.d.ts +2 -2
- package/dist/lib/mock-directive/types.js +1 -1
- package/dist/lib/mock-helper/crawl/crawl-by-attribute-value.js +9 -7
- package/dist/lib/mock-helper/crawl/crawl-by-attribute.js +13 -11
- package/dist/lib/mock-helper/crawl/crawl-by-id.js +6 -4
- package/dist/lib/mock-helper/crawl/crawl-by-tag-name.js +7 -5
- package/dist/lib/mock-helper/crawl/detect-selectors-from-node.js +6 -5
- package/dist/lib/mock-helper/crawl/el-def-get-parent.js +5 -4
- package/dist/lib/mock-helper/crawl/nested-check-children.js +1 -1
- package/dist/lib/mock-helper/crawl/nested-check.js +1 -1
- package/dist/lib/mock-helper/events/mock-helper.event.d.ts +1 -1
- package/dist/lib/mock-helper/events/mock-helper.trigger.d.ts +1 -1
- package/dist/lib/mock-helper/find/func.parse-find-args.js +1 -1
- package/dist/lib/mock-helper/find/mock-helper.find-all.js +1 -1
- package/dist/lib/mock-helper/format/format-handler.js +23 -21
- package/dist/lib/mock-helper/format/handle-text.js +1 -1
- package/dist/lib/mock-helper/format/is-debug-node.js +1 -1
- package/dist/lib/mock-helper/format/mock-helper.format-text.js +1 -1
- package/dist/lib/mock-helper/func.get-from-node-element.js +1 -1
- package/dist/lib/mock-helper/func.get-from-node-ivy.js +1 -1
- package/dist/lib/mock-helper/func.global-prepare.js +1 -1
- package/dist/lib/mock-helper/mock-helper.d.ts +7 -0
- package/dist/lib/mock-helper/mock-helper.default-mock.d.ts +1 -1
- package/dist/lib/mock-helper/mock-helper.default-mock.js +32 -7
- package/dist/lib/mock-helper/mock-helper.input.js +6 -5
- package/dist/lib/mock-helper/mock-helper.js +1 -1
- package/dist/lib/mock-helper/mock-helper.object.d.ts +11 -8
- package/dist/lib/mock-helper/mock-helper.object.js +8 -1
- package/dist/lib/mock-helper/mock-helper.output.js +6 -5
- package/dist/lib/mock-helper/mock-helper.stub.js +6 -5
- package/dist/lib/mock-helper/mock-helper.throw-on-console.js +15 -8
- package/dist/lib/mock-helper/template-ref/detect-template-ref.js +1 -1
- package/dist/lib/mock-instance/mock-instance.js +1 -1
- package/dist/lib/mock-module/mock-module.js +1 -1
- package/dist/lib/mock-module/mock-ng-def.js +29 -23
- package/dist/lib/mock-render/func.create-wrapper.d.ts +4 -0
- package/dist/lib/mock-render/func.create-wrapper.js +91 -0
- package/dist/lib/mock-render/func.generate-template.d.ts +1 -1
- package/dist/lib/mock-render/func.generate-template.js +17 -21
- package/dist/lib/mock-render/func.install-prop-reader.js +7 -6
- package/dist/lib/mock-render/func.reflect-template.js +18 -8
- package/dist/lib/mock-render/mock-render-factory.d.ts +47 -0
- package/dist/lib/mock-render/mock-render-factory.js +112 -0
- package/dist/lib/mock-render/mock-render.d.ts +5 -5
- package/dist/lib/mock-render/mock-render.js +6 -151
- package/dist/lib/mock-service/helper.create-clone.js +6 -5
- package/dist/lib/mock-service/helper.extract-methods-from-prototype.js +36 -5
- package/dist/lib/mock-service/helper.mock-service.js +2 -3
- package/dist/lib/mock-service/helper.resolve-provider.js +1 -7
- package/dist/lib/mock-service/helper.use-factory.js +6 -5
- package/dist/lib/mock-service/mock-provider.d.ts +1 -1
- package/dist/lib/mock-service/mock-provider.js +6 -5
- package/examples/MockBuilder/test.ng-mocks.spec.ts +1 -1
- package/examples/MockComponent/test.spec.ts +4 -3
- package/examples/MockSanitizer/test.spec.ts +39 -0
- package/examples/TestHttpInterceptor/test.spec.ts +4 -6
- package/examples/TestHttpRequest/test.spec.ts +4 -6
- package/examples/TestLifecycleHooks/fixtures.ts +2 -1
- package/examples/TestLifecycleHooks/test.spec.ts +4 -6
- package/examples/TestLifecycleHooks/test.string.spec.ts +2 -3
- package/examples/TestLifecycleHooks/test.type-without-params.spec.ts +2 -3
- package/examples/TestMultiToken/test.spec.ts +2 -2
- package/examples/TestProviderWithUseClass/test.spec.ts +4 -3
- package/examples/TestProviderWithUseExisting/test.spec.ts +4 -3
- package/examples/TestProviderWithUseValue/test.spec.ts +3 -2
- package/examples/TestRoutingGuard/test.spec.ts +2 -3
- package/examples/TestRoutingResolver/test.spec.ts +2 -3
- package/examples/TestToken/test.spec.ts +5 -4
- package/package.json +1 -1
- package/dist/jasmine.d.ts +0 -1
- package/dist/jasmine.js +0 -8
- package/dist/jest.d.ts +0 -1
- package/dist/jest.js +0 -8
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,48 @@
|
|
|
1
|
+
## [12.0.1](https://github.com/ike18t/ng-mocks/compare/v12.0.0...v12.0.1) (2021-05-21)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* **core:** a config parameter to suppress MockRender errors [#572](https://github.com/ike18t/ng-mocks/issues/572) ([bcfe23a](https://github.com/ike18t/ng-mocks/commit/bcfe23ab53a87a92529ddb30bb07618cbaab590c))
|
|
7
|
+
* **core:** broken query selectors are properly normalized [#567](https://github.com/ike18t/ng-mocks/issues/567) ([9c1ea70](https://github.com/ike18t/ng-mocks/commit/9c1ea70564f11323337646a6d74ebbddc8965a31))
|
|
8
|
+
* **default-mock:** supports an array with declarations [#568](https://github.com/ike18t/ng-mocks/issues/568) ([5d3b43e](https://github.com/ike18t/ng-mocks/commit/5d3b43e91db0a8e8a40dedc024a40cbd76225575))
|
|
9
|
+
* **default-mock:** supports generic type in array signature [#583](https://github.com/ike18t/ng-mocks/issues/583) ([c925818](https://github.com/ike18t/ng-mocks/commit/c925818e13086e402f79fa49c39e012567d7b52a))
|
|
10
|
+
* **faster:** supports directives and components without selectors [#576](https://github.com/ike18t/ng-mocks/issues/576) ([599c7d5](https://github.com/ike18t/ng-mocks/commit/599c7d518cbf280da85a73aa2a1c23ce85d74523))
|
|
11
|
+
* **mock-render:** allowing to disable flush TestBed warning ([6131ecb](https://github.com/ike18t/ng-mocks/commit/6131ecbf3f45205ec059184819a9ce68c81e1502))
|
|
12
|
+
* **mock-render:** providing a MockRenderFactory in order to reuse the same middleware component ([79fa336](https://github.com/ike18t/ng-mocks/commit/79fa3368798eaf9e49c92201a9b6a693e5f63e8b))
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
### Performance Improvements
|
|
16
|
+
|
|
17
|
+
* **core:** switching internal stack to an array instead of a set ([24c4bfd](https://github.com/ike18t/ng-mocks/commit/24c4bfd7b514b2ed38497039853a5958c721cff8))
|
|
18
|
+
|
|
19
|
+
# [12.0.0](https://github.com/ike18t/ng-mocks/compare/v11.11.2...v12.0.0) (2021-05-13)
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
### Features
|
|
23
|
+
|
|
24
|
+
* official support of Angular 12 ([d63c34f](https://github.com/ike18t/ng-mocks/commit/d63c34ffc720573e7c92f81cda557f05e471abb7))
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
### BREAKING CHANGES
|
|
28
|
+
|
|
29
|
+
* auto spy should be installed via ngMocks.autoSpy
|
|
30
|
+
|
|
31
|
+
## [11.11.2](https://github.com/ike18t/ng-mocks/compare/v11.11.1...v11.11.2) (2021-05-13)
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
### Bug Fixes
|
|
35
|
+
|
|
36
|
+
* **core:** properly handling Sanitizer and DomSanitizer [#538](https://github.com/ike18t/ng-mocks/issues/538) ([fb51bb4](https://github.com/ike18t/ng-mocks/commit/fb51bb478593c22ed436c896980244d45fd796ed))
|
|
37
|
+
* **mock-render:** detectChanges flag has to be provided to supress render ([8195eeb](https://github.com/ike18t/ng-mocks/commit/8195eeb7e4dbeeac71061a9ac94b1436f7cfdb0c))
|
|
38
|
+
|
|
39
|
+
## [11.11.1](https://github.com/ike18t/ng-mocks/compare/v11.11.0...v11.11.1) (2021-05-09)
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
### Bug Fixes
|
|
43
|
+
|
|
44
|
+
* **mock-render:** binds all inputs on no params [#522](https://github.com/ike18t/ng-mocks/issues/522) ([dd5abba](https://github.com/ike18t/ng-mocks/commit/dd5abba942f8e51f61542dec10b67aaa94a24513))
|
|
45
|
+
|
|
1
46
|
# [11.11.0](https://github.com/ike18t/ng-mocks/compare/v11.10.1...v11.11.0) (2021-05-09)
|
|
2
47
|
|
|
3
48
|
|
package/README.md
CHANGED
|
@@ -14,14 +14,16 @@
|
|
|
14
14
|
|
|
15
15
|
The current version of the library **has been tested** and **can be used** with:
|
|
16
16
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
17
|
+
| Angular | ng-mocks | Jasmine | Jest | Ivy | es5 | es2015 |
|
|
18
|
+
| ------: | :------: | :-----: | :--: | :-: | :-: | :----: |
|
|
19
|
+
| 12 | latest | yes | yes | yes | yes | yes |
|
|
20
|
+
| 11 | latest | yes | yes | yes | yes | yes |
|
|
21
|
+
| 10 | latest | yes | yes | yes | yes | yes |
|
|
22
|
+
| 9 | latest | yes | yes | yes | yes | yes |
|
|
23
|
+
| 8 | latest | yes | yes | | yes | yes |
|
|
24
|
+
| 7 | latest | yes | yes | | yes | yes |
|
|
25
|
+
| 6 | latest | yes | yes | | yes | yes |
|
|
26
|
+
| 5 | latest | yes | yes | | yes | yes |
|
|
25
27
|
|
|
26
28
|
## Important links
|
|
27
29
|
|
|
@@ -90,11 +92,11 @@ describe('app-component', () => {
|
|
|
90
92
|
// mock declarations and providers.
|
|
91
93
|
beforeEach(() => {
|
|
92
94
|
// A spy on a method which returns children.
|
|
93
|
-
// When an instance of
|
|
95
|
+
// When an instance of ChildComponent is being created,
|
|
94
96
|
// the method will be replaced with the spy.
|
|
95
97
|
// https://ng-mocks.sudo.eu/api/MockInstance
|
|
96
98
|
MockInstance(
|
|
97
|
-
|
|
99
|
+
ChildComponent,
|
|
98
100
|
'list',
|
|
99
101
|
jasmine.createSpy(),
|
|
100
102
|
).and.returnValue([]);
|
|
@@ -109,7 +111,7 @@ describe('app-component', () => {
|
|
|
109
111
|
const spyCheck = MockInstance(
|
|
110
112
|
AuthService,
|
|
111
113
|
'check',
|
|
112
|
-
jasmine.
|
|
114
|
+
jasmine.createSpy('AuthService.check'),
|
|
113
115
|
).and.returnValue(true);
|
|
114
116
|
|
|
115
117
|
// MockRender creates a wrapper component with
|
|
@@ -122,64 +124,80 @@ describe('app-component', () => {
|
|
|
122
124
|
// Checking that the component has been created.
|
|
123
125
|
expect(fixture.point.componentInstance).toBeDefined();
|
|
124
126
|
|
|
125
|
-
// Checking that its ngOnInit method
|
|
127
|
+
// Checking that its ngOnInit method
|
|
128
|
+
// has called 'check' on AuthService.
|
|
126
129
|
expect(spyCheck).toHaveBeenCalled();
|
|
127
130
|
});
|
|
128
131
|
|
|
129
|
-
it('verifies
|
|
130
|
-
// A
|
|
132
|
+
it('verifies ctrl+s hot key', () => {
|
|
133
|
+
// A spy on save calls.
|
|
134
|
+
const spySave = MockInstance(
|
|
135
|
+
StorageService,
|
|
136
|
+
'save',
|
|
137
|
+
jasmine.createSpy('StorageService.save'),
|
|
138
|
+
);
|
|
139
|
+
|
|
140
|
+
// A fake user data we want to save.
|
|
131
141
|
const user = {
|
|
132
142
|
id: 1,
|
|
133
143
|
name: 'Foo Bar',
|
|
134
144
|
};
|
|
135
145
|
|
|
136
|
-
//
|
|
137
|
-
//
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
'user',
|
|
141
|
-
jasmine.createSpy(),
|
|
142
|
-
'get',
|
|
143
|
-
).and.returnValue(user);
|
|
146
|
+
// Rendering
|
|
147
|
+
// <app-root [user]="params.user"></app-root>.
|
|
148
|
+
// https://ng-mocks.sudo.eu/api/MockRender
|
|
149
|
+
const fixture = MockRender(AppComponent, { user });
|
|
144
150
|
|
|
145
|
-
//
|
|
151
|
+
// Let's assume, there is a host listener
|
|
152
|
+
// for a keyboard combination of ctrl+s
|
|
153
|
+
// on AppComponent and we want to trigger it.
|
|
154
|
+
// https://ng-mocks.sudo.eu/api/ngMocks/trigger
|
|
155
|
+
ngMocks.trigger(fixture.point, 'keyup.control.s');
|
|
156
|
+
|
|
157
|
+
// The spy should be called with the user.
|
|
158
|
+
expect(spySave).toHaveBeenCalledWith(user);
|
|
159
|
+
});
|
|
160
|
+
|
|
161
|
+
it('verifies state of save button', () => {
|
|
162
|
+
// Params for inputs and outputs
|
|
163
|
+
// of AppComponent.
|
|
146
164
|
const params = {
|
|
147
165
|
allowCheck: false,
|
|
148
|
-
|
|
166
|
+
click: jasmine.createSpy('click'),
|
|
149
167
|
};
|
|
150
168
|
|
|
151
|
-
//
|
|
152
|
-
// (user) is an output
|
|
153
|
-
//
|
|
169
|
+
// If [allowCheck] is an input and
|
|
170
|
+
// (user) is an output of AppComponent,
|
|
171
|
+
// then MockRender creates a wrapper component
|
|
172
|
+
// with a template like:
|
|
154
173
|
//
|
|
155
174
|
// <app-root
|
|
156
175
|
// [allowCheck]="params.allowCheck"
|
|
157
|
-
// (
|
|
176
|
+
// (click)="params.click($event)"
|
|
158
177
|
// ></app-root>
|
|
159
178
|
//
|
|
160
179
|
// And renders it.
|
|
161
|
-
//
|
|
162
180
|
// https://ng-mocks.sudo.eu/api/MockRender
|
|
163
181
|
const fixture = MockRender(AppComponent, params);
|
|
164
182
|
|
|
165
|
-
//
|
|
183
|
+
// The button should be disabled
|
|
184
|
+
// when params.allowCheck = false.
|
|
166
185
|
// https://ng-mocks.sudo.eu/api/ngMocks/find
|
|
167
186
|
expect(ngMocks.find('button.check').disabled).toEqual(true);
|
|
168
187
|
|
|
169
|
-
//
|
|
188
|
+
// Enabling the button.
|
|
170
189
|
params.allowCheck = true;
|
|
171
190
|
fixture.detectChanges();
|
|
172
191
|
expect(ngMocks.find('button.check').disabled).toEqual(false);
|
|
173
192
|
|
|
174
|
-
//
|
|
193
|
+
// Clicking the button
|
|
194
|
+
// in order to trigger the output.
|
|
175
195
|
// https://ng-mocks.sudo.eu/api/ngMocks/click
|
|
176
196
|
ngMocks.click('button.check');
|
|
177
197
|
|
|
178
|
-
// The spy in params.
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
name: 'Foo Bar',
|
|
182
|
-
});
|
|
198
|
+
// The spy in params.click
|
|
199
|
+
// should be notified about the click.
|
|
200
|
+
expect(params.click).toHaveBeenCalled();
|
|
183
201
|
});
|
|
184
202
|
});
|
|
185
203
|
```
|
package/dist/index.d.ts
CHANGED
|
@@ -28,6 +28,7 @@ export * from './lib/mock-pipe/mock-pipe';
|
|
|
28
28
|
export * from './lib/mock-pipe/types';
|
|
29
29
|
export * from './lib/mock-provider/mock-provider';
|
|
30
30
|
export * from './lib/mock-render/mock-render';
|
|
31
|
+
export * from './lib/mock-render/mock-render-factory';
|
|
31
32
|
export * from './lib/mock-render/types';
|
|
32
33
|
export { registerMockFunction } from './lib/mock-service/helper.mock-service';
|
|
33
34
|
export * from './lib/mock-service/mock-service';
|
package/dist/index.js
CHANGED
|
@@ -43,9 +43,10 @@ __exportStar(require("./lib/mock-pipe/mock-pipe"), exports);
|
|
|
43
43
|
__exportStar(require("./lib/mock-pipe/types"), exports);
|
|
44
44
|
__exportStar(require("./lib/mock-provider/mock-provider"), exports);
|
|
45
45
|
__exportStar(require("./lib/mock-render/mock-render"), exports);
|
|
46
|
+
__exportStar(require("./lib/mock-render/mock-render-factory"), exports);
|
|
46
47
|
__exportStar(require("./lib/mock-render/types"), exports);
|
|
47
48
|
var helper_mock_service_1 = require("./lib/mock-service/helper.mock-service");
|
|
48
49
|
Object.defineProperty(exports, "registerMockFunction", { enumerable: true, get: function () { return helper_mock_service_1.registerMockFunction; } });
|
|
49
50
|
__exportStar(require("./lib/mock-service/mock-service"), exports);
|
|
50
51
|
__exportStar(require("./lib/mock-service/types"), exports);
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL25nLW1vY2tzL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQUEsMERBQThFO0FBQXJFLG1IQUFBLG1CQUFtQixPQUFBO0FBQUUsNEdBQUEsWUFBWSxPQUFBO0FBQzFDLDJEQUF5QztBQUN6QywwREFBd0M7QUFDeEMseUVBQXVEO0FBQ3ZELHVFQUFxRDtBQUNyRCxtRkFBaUU7QUFDakUsK0RBQTZDO0FBQzdDLHNFQUFvRDtBQUNwRCx3RUFBc0Q7QUFDdEQsOERBQTRDO0FBQzVDLDBFQUF3RDtBQUN4RCxvRkFBa0U7QUFDbEUsK0RBQTZDO0FBQzdDLDBDQUF5QztBQUFoQyw0RkFBQSxJQUFJLE9BQUE7QUFHYixrRUFBZ0Q7QUFDaEQsMkRBQXlDO0FBRXpDLHNFQUFvRDtBQUNwRCw2REFBMkM7QUFFM0MsMEVBQXdEO0FBRXhELHNFQUFvRDtBQUNwRCw2REFBMkM7QUFFM0MsZ0VBQThDO0FBRTlDLG9FQUFrRDtBQUVsRCxnRUFBOEM7QUFDOUMsMERBQXdDO0FBRXhDLDREQUEwQztBQUMxQyx3REFBc0M7QUFFdEMsb0VBQWtEO0FBRWxELGdFQUE4QztBQUM5Qyx3RUFBc0Q7QUFDdEQsMERBQXdDO0FBRXhDLDhFQUE4RTtBQUFyRSwySEFBQSxvQkFBb0IsT0FBQTtBQUM3QixrRUFBZ0Q7QUFDaEQsMkRBQXlDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgZ2V0VGVzdEJlZEluamVjdGlvbiwgZ2V0SW5qZWN0aW9uIH0gZnJvbSAnLi9saWIvY29tbW9uL2NvcmUuaGVscGVycyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21tb24vY29yZS50b2tlbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tbW9uL2NvcmUudHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tbW9uL2Z1bmMuZ2V0LW1vY2tlZC1uZy1kZWYtb2YnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tbW9uL2Z1bmMuZ2V0LXNvdXJjZS1vZi1tb2NrJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbW1vbi9mdW5jLmlzLW1vY2stY29udHJvbC12YWx1ZS1hY2Nlc3Nvcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21tb24vZnVuYy5pcy1tb2NrLW9mJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbW1vbi9mdW5jLmlzLW1vY2stdmFsaWRhdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbW1vbi9mdW5jLmlzLW1vY2tlZC1uZy1kZWYtb2YnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tbW9uL2Z1bmMuaXMtbmctZGVmJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbW1vbi9mdW5jLmlzLW5nLWluamVjdGlvbi10b2tlbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21tb24vZnVuYy5pcy1uZy1tb2R1bGUtZGVmLXdpdGgtcHJvdmlkZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbW1vbi9mdW5jLmlzLW5nLXR5cGUnO1xuZXhwb3J0IHsgTW9jayB9IGZyb20gJy4vbGliL2NvbW1vbi9tb2NrJztcbmV4cG9ydCB7IE1vY2tDb250cm9sVmFsdWVBY2Nlc3NvciwgTW9ja1ZhbGlkYXRvciB9IGZyb20gJy4vbGliL2NvbW1vbi9tb2NrLWNvbnRyb2wtdmFsdWUtYWNjZXNzb3InO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2NrLWJ1aWxkZXIvbW9jay1idWlsZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vY2stYnVpbGRlci90eXBlcyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vY2stY29tcG9uZW50L21vY2stY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vY2stY29tcG9uZW50L3R5cGVzJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9jay1kZWNsYXJhdGlvbi9tb2NrLWRlY2xhcmF0aW9uJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9jay1kaXJlY3RpdmUvbW9jay1kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9jay1kaXJlY3RpdmUvdHlwZXMnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2NrLWhlbHBlci9tb2NrLWhlbHBlcic7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vY2staW5zdGFuY2UvbW9jay1pbnN0YW5jZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vY2stbW9kdWxlL21vY2stbW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vY2stbW9kdWxlL3R5cGVzJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9jay1waXBlL21vY2stcGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2NrLXBpcGUvdHlwZXMnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2NrLXByb3ZpZGVyL21vY2stcHJvdmlkZXInO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2NrLXJlbmRlci9tb2NrLXJlbmRlcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2NrLXJlbmRlci9tb2NrLXJlbmRlci1mYWN0b3J5JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vY2stcmVuZGVyL3R5cGVzJztcblxuZXhwb3J0IHsgcmVnaXN0ZXJNb2NrRnVuY3Rpb24gfSBmcm9tICcuL2xpYi9tb2NrLXNlcnZpY2UvaGVscGVyLm1vY2stc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2NrLXNlcnZpY2UvbW9jay1zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vY2stc2VydmljZS90eXBlcyc7XG4iXX0=
|
|
@@ -10,11 +10,14 @@ exports.default = {
|
|
|
10
10
|
'EventManager',
|
|
11
11
|
'Injector',
|
|
12
12
|
'RendererFactory2',
|
|
13
|
+
// https://github.com/ike18t/ng-mocks/issues/538
|
|
14
|
+
'Sanitizer',
|
|
15
|
+
'DomSanitizer',
|
|
13
16
|
],
|
|
14
17
|
neverMockToken: [
|
|
15
18
|
'InjectionToken Set Injector scope.',
|
|
16
19
|
'InjectionToken EventManagerPlugins',
|
|
17
|
-
'InjectionToken HammerGestureConfig',
|
|
20
|
+
'InjectionToken HammerGestureConfig', // HAMMER_GESTURE_CONFIG
|
|
18
21
|
],
|
|
19
22
|
};
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLW1vY2tzL3NyYy9saWIvY29tbW9uL2NvcmUuY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsMENBQStDO0FBQy9DLHNDQUFrRDtBQUVsRCxrQkFBZTtJQUNiLEtBQUssRUFBRSxDQUFDLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLEVBQUUsc0JBQXNCLENBQUM7SUFDbkcsZUFBZSxFQUFFLENBQUMsd0JBQWlCLEVBQUUscUJBQVksQ0FBQztJQUNsRCx5QkFBeUIsRUFBRTtRQUN6QixxQkFBcUI7UUFDckIsY0FBYztRQUNkLFVBQVU7UUFDVixrQkFBa0I7UUFFbEIsZ0RBQWdEO1FBQ2hELFdBQVc7UUFDWCxjQUFjO0tBQ2Y7SUFDRCxjQUFjLEVBQUU7UUFDZCxvQ0FBb0M7UUFDcEMsb0NBQW9DO1FBQ3BDLG9DQUFvQyxFQUFFLHdCQUF3QjtLQUMvRDtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQXBwbGljYXRpb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGRlZmF1bHQge1xuICBmbGFnczogWydjYWNoZU1vZHVsZScsICdjYWNoZUNvbXBvbmVudCcsICdjYWNoZURpcmVjdGl2ZScsICdjYWNoZVByb3ZpZGVyJywgJ2NvcnJlY3RNb2R1bGVFeHBvcnRzJ10sXG4gIG5ldmVyTW9ja01vZHVsZTogW0FwcGxpY2F0aW9uTW9kdWxlLCBDb21tb25Nb2R1bGVdLFxuICBuZXZlck1vY2tQcm92aWRlZEZ1bmN0aW9uOiBbXG4gICAgJ0RvbVJlbmRlcmVyRmFjdG9yeTInLFxuICAgICdFdmVudE1hbmFnZXInLFxuICAgICdJbmplY3RvcicsIC8vIGl2eSBvbmx5XG4gICAgJ1JlbmRlcmVyRmFjdG9yeTInLFxuXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2lrZTE4dC9uZy1tb2Nrcy9pc3N1ZXMvNTM4XG4gICAgJ1Nhbml0aXplcicsXG4gICAgJ0RvbVNhbml0aXplcicsXG4gIF0sXG4gIG5ldmVyTW9ja1Rva2VuOiBbXG4gICAgJ0luamVjdGlvblRva2VuIFNldCBJbmplY3RvciBzY29wZS4nLCAvLyBJTkpFQ1RPUl9TQ09QRSAvLyBpdnkgb25seVxuICAgICdJbmplY3Rpb25Ub2tlbiBFdmVudE1hbmFnZXJQbHVnaW5zJywgLy8gRVZFTlRfTUFOQUdFUl9QTFVHSU5TXG4gICAgJ0luamVjdGlvblRva2VuIEhhbW1lckdlc3R1cmVDb25maWcnLCAvLyBIQU1NRVJfR0VTVFVSRV9DT05GSUdcbiAgXSxcbn07XG4iXX0=
|
|
@@ -7,6 +7,8 @@ var __extends = (this && this.__extends) || (function () {
|
|
|
7
7
|
return extendStatics(d, b);
|
|
8
8
|
};
|
|
9
9
|
return function (d, b) {
|
|
10
|
+
if (typeof b !== "function" && b !== null)
|
|
11
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
10
12
|
extendStatics(d, b);
|
|
11
13
|
function __() { this.constructor = d; }
|
|
12
14
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
@@ -39,9 +41,10 @@ var __read = (this && this.__read) || function (o, n) {
|
|
|
39
41
|
}
|
|
40
42
|
return ar;
|
|
41
43
|
};
|
|
42
|
-
var
|
|
43
|
-
for (var
|
|
44
|
-
|
|
44
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from) {
|
|
45
|
+
for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
|
|
46
|
+
to[j] = from[i];
|
|
47
|
+
return to;
|
|
45
48
|
};
|
|
46
49
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
47
50
|
exports.extendClass = exports.extractDependency = exports.mapEntries = exports.mapValues = exports.mapKeys = exports.flatten = exports.getInjection = exports.getTestBedInjection = void 0;
|
|
@@ -182,9 +185,9 @@ var extendClass = function (base) {
|
|
|
182
185
|
core_define_property_1.default(child, 'name', "MockMiddleware" + base.name, true);
|
|
183
186
|
var parameters = core_reflect_jit_1.default().parameters(base);
|
|
184
187
|
if (parameters.length) {
|
|
185
|
-
core_define_property_1.default(child, 'parameters',
|
|
188
|
+
core_define_property_1.default(child, 'parameters', __spreadArray([], __read(parameters)));
|
|
186
189
|
}
|
|
187
190
|
return child;
|
|
188
191
|
};
|
|
189
192
|
exports.extendClass = extendClass;
|
|
190
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
193
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5oZWxwZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy1tb2Nrcy9zcmMvbGliL2NvbW1vbi9jb3JlLmhlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSxpREFBbUQ7QUFFbkQsK0RBQXdEO0FBQ3hELHVEQUFnRDtBQUd6QyxJQUFNLG1CQUFtQixHQUFHLFVBQUksS0FBa0M7SUFDdkUsSUFBTSxPQUFPLEdBQVEsb0JBQVUsRUFBRSxDQUFDO0lBQ2xDLElBQUk7UUFDRix1QkFBdUI7UUFDdkIsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0tBQ3BFO0lBQUMsT0FBTyxDQUFDLEVBQUU7UUFDVixPQUFPLFNBQVMsQ0FBQztLQUNsQjtBQUNILENBQUMsQ0FBQztBQVJXLFFBQUEsbUJBQW1CLHVCQVE5QjtBQUVLLElBQU0sWUFBWSxHQUFHLFVBQUksS0FBa0M7SUFDaEUsSUFBTSxPQUFPLEdBQVEsb0JBQVUsRUFBRSxDQUFDO0lBRWxDLHVCQUF1QjtJQUN2QixPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDckUsQ0FBQyxDQUFDO0FBTFcsUUFBQSxZQUFZLGdCQUt2QjtBQUVLLElBQU0sT0FBTyxHQUFHLFVBQUksTUFBZSxFQUFFLE1BQWdCOztJQUFoQix1QkFBQSxFQUFBLFdBQWdCO0lBQzFELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRTs7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SUFBSSxDQUFDO0lBQ3JDLHVCQUF1QjtJQUN2QixJQUFJO1FBQ0YsbUNBQW1DO1FBQ25DLElBQUksQ0FBQyxpSEFHSixDQUFDLENBQUM7UUFDSCxLQUFLLEdBQUksTUFBYyxDQUFDLGFBQWEsQ0FBQztLQUN2QztJQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQ1Y7WUFBNkIsa0NBQTZCO1lBQTFEOztZQUE0RCxDQUFDO1lBQUQscUJBQUM7UUFBRCxDQUFDLEFBQTdELENBQThCLE1BQWMsQ0FBQyxhQUFhLEdBQUc7UUFDN0QsS0FBSyxHQUFHLGNBQWMsQ0FBQztLQUN4QjtJQUNBLE1BQWMsQ0FBQyxhQUFhLEdBQUcsU0FBUyxDQUFDO0lBRTFDLE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQyxDQUFDO0FBRUssSUFBTSxXQUFXLEdBQUcsVUFBbUIsSUFBZ0I7SUFDNUQsSUFBTSxLQUFLLEdBQVksa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEQsOEJBQWtCLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxtQkFBaUIsSUFBSSxDQUFDLElBQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUV0RSxJQUFNLFVBQVUsR0FBRywwQkFBYyxFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JELElBQUksVUFBVSxDQUFDLE1BQU0sRUFBRTtRQUNyQiw4QkFBa0IsQ0FBQyxLQUFLLEVBQUUsWUFBWSwyQkFBTSxVQUFVLEdBQUUsQ0FBQztLQUMxRDtJQUVELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQyxDQUFDO0FBVlcsUUFBQSxXQUFXLGVBVXRCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGdldFRlc3RCZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3Rlc3RpbmcnO1xuXG5pbXBvcnQgY29yZURlZmluZVByb3BlcnR5IGZyb20gJy4vY29yZS5kZWZpbmUtcHJvcGVydHknO1xuaW1wb3J0IGNvcmVSZWZsZWN0Sml0IGZyb20gJy4vY29yZS5yZWZsZWN0LmppdCc7XG5pbXBvcnQgeyBBbnlUeXBlLCBUeXBlIH0gZnJvbSAnLi9jb3JlLnR5cGVzJztcblxuZXhwb3J0IGNvbnN0IGdldFRlc3RCZWRJbmplY3Rpb24gPSA8ST4odG9rZW46IFR5cGU8ST4gfCBJbmplY3Rpb25Ub2tlbjxJPik6IEkgfCB1bmRlZmluZWQgPT4ge1xuICBjb25zdCB0ZXN0QmVkOiBhbnkgPSBnZXRUZXN0QmVkKCk7XG4gIHRyeSB7XG4gICAgLy8gaXN0YW5idWwgaWdub3JlIG5leHRcbiAgICByZXR1cm4gdGVzdEJlZC5pbmplY3QgPyB0ZXN0QmVkLmluamVjdCh0b2tlbikgOiB0ZXN0QmVkLmdldCh0b2tlbik7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0SW5qZWN0aW9uID0gPEk+KHRva2VuOiBUeXBlPEk+IHwgSW5qZWN0aW9uVG9rZW48ST4pOiBJID0+IHtcbiAgY29uc3QgdGVzdEJlZDogYW55ID0gZ2V0VGVzdEJlZCgpO1xuXG4gIC8vIGlzdGFuYnVsIGlnbm9yZSBuZXh0XG4gIHJldHVybiB0ZXN0QmVkLmluamVjdCA/IHRlc3RCZWQuaW5qZWN0KHRva2VuKSA6IHRlc3RCZWQuZ2V0KHRva2VuKTtcbn07XG5cbmV4cG9ydCBjb25zdCBmbGF0dGVuID0gPFQ+KHZhbHVlczogVCB8IFRbXSwgcmVzdWx0OiBUW10gPSBbXSk6IFRbXSA9PiB7XG4gIGlmIChBcnJheS5pc0FycmF5KHZhbHVlcykpIHtcbiAgICBmb3IgKGNvbnN0IHZhbHVlIG9mIHZhbHVlcykge1xuICAgICAgZmxhdHRlbih2YWx1ZSwgcmVzdWx0KTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgcmVzdWx0LnB1c2godmFsdWVzKTtcbiAgfVxuXG4gIHJldHVybiByZXN1bHQ7XG59O1xuXG5leHBvcnQgY29uc3QgbWFwS2V5cyA9IDxUPihzZXQ6IE1hcDxULCBhbnk+KTogVFtdID0+IHtcbiAgY29uc3QgcmVzdWx0OiBUW10gPSBbXTtcbiAgc2V0LmZvckVhY2goKF8sIHZhbHVlOiBUKSA9PiByZXN1bHQucHVzaCh2YWx1ZSkpO1xuXG4gIHJldHVybiByZXN1bHQ7XG59O1xuXG5leHBvcnQgY29uc3QgbWFwVmFsdWVzID0gPFQ+KHNldDogeyBmb3JFYWNoKGExOiAodmFsdWU6IFQpID0+IHZvaWQpOiB2b2lkIH0pOiBUW10gPT4ge1xuICBjb25zdCByZXN1bHQ6IFRbXSA9IFtdO1xuICBzZXQuZm9yRWFjaCgodmFsdWU6IFQpID0+IHJlc3VsdC5wdXNoKHZhbHVlKSk7XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn07XG5cbmV4cG9ydCBjb25zdCBtYXBFbnRyaWVzID0gPEssIFQ+KHNldDogTWFwPEssIFQ+KTogQXJyYXk8W0ssIFRdPiA9PiB7XG4gIGNvbnN0IHJlc3VsdDogQXJyYXk8W0ssIFRdPiA9IFtdO1xuICBzZXQuZm9yRWFjaCgodmFsdWU6IFQsIGtleTogSykgPT4gcmVzdWx0LnB1c2goW2tleSwgdmFsdWVdKSk7XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn07XG5cbmNvbnN0IGV4dHJhY3REZXBlbmRlbmN5QXJyYXkgPSAoZGVwczogYW55W10sIHNldDogU2V0PGFueT4pOiB2b2lkID0+IHtcbiAgZm9yIChjb25zdCBmbGFnIG9mIGRlcHMpIHtcbiAgICBjb25zdCBuYW1lID0gZmxhZyAmJiB0eXBlb2YgZmxhZyA9PT0gJ29iamVjdCcgPyBmbGFnLm5nTWV0YWRhdGFOYW1lIDogdW5kZWZpbmVkO1xuICAgIGlmIChuYW1lID09PSAnT3B0aW9uYWwnIHx8IG5hbWUgPT09ICdTa2lwU2VsZicgfHwgbmFtZSA9PT0gJ1NlbGYnKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG4gICAgc2V0LmFkZChmbGFnKTtcbiAgfVxufTtcblxuLy8gQWNjZXB0cyBhbiBhcnJheSBvZiBkZXBlbmRlbmNpZXMgZnJvbSBwcm92aWRlcnMsIHNraXBzIGluamVjdGlvbnMgZmxhZ3MsXG4vLyBhbmQgYWRkcyB0aGUgcHJvdmlkZXJzIHRvIHRoZSBzZXQuXG5leHBvcnQgY29uc3QgZXh0cmFjdERlcGVuZGVuY3kgPSAoZGVwczogYW55W10sIHNldD86IFNldDxhbnk+KTogdm9pZCA9PiB7XG4gIGlmICghc2V0KSB7XG4gICAgcmV0dXJuO1xuICB9XG4gIGZvciAoY29uc3QgZGVwIG9mIGRlcHMpIHtcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkoZGVwKSkge1xuICAgICAgc2V0LmFkZChkZXApO1xuICAgICAgY29udGludWU7XG4gICAgfVxuICAgIGV4dHJhY3REZXBlbmRlbmN5QXJyYXkoZGVwLCBzZXQpO1xuICB9XG59O1xuXG5jb25zdCBleHRlbmRDbGFzc2ljQ2xhc3MgPSA8SSBleHRlbmRzIG9iamVjdD4oYmFzZTogQW55VHlwZTxJPik6IFR5cGU8ST4gPT4ge1xuICBsZXQgY2hpbGQ6IGFueTtcblxuICAvLyBGaXJzdCB3ZSB0cnkgdG8gZXZhbCBlczIwMTUgc3R5bGUgYW5kIGlmIGl0IGZhaWxzIHRvIHVzZSBlczUgdHJhbnNwaWxhdGlvbiBpbiB0aGUgY2F0Y2ggYmxvY2suXG4gIC8vIFRoZSBuZXh0IHN0ZXAgaXMgdG8gcmVzcGVjdCBjb25zdHJ1Y3RvciBwYXJhbWV0ZXJzIGFzIHRoZSBwYXJlbnQgY2xhc3MgdmlhIGppdFJlZmxlY3Rvci5cbiAgKHdpbmRvdyBhcyBhbnkpLm5nTW9ja3NQYXJlbnQgPSBiYXNlO1xuICAvLyBpc3RhbmJ1bCBpZ25vcmUgbmV4dFxuICB0cnkge1xuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZSBuby1ldmFsXG4gICAgZXZhbChgXG4gICAgICBjbGFzcyBNb2NrTWlkZGxld2FyZSBleHRlbmRzIHdpbmRvdy5uZ01vY2tzUGFyZW50IHt9XG4gICAgICB3aW5kb3cubmdNb2Nrc1Jlc3VsdCA9IE1vY2tNaWRkbGV3YXJlXG4gICAgYCk7XG4gICAgY2hpbGQgPSAod2luZG93IGFzIGFueSkubmdNb2Nrc1Jlc3VsdDtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGNsYXNzIE1vY2tNaWRkbGV3YXJlIGV4dGVuZHMgKHdpbmRvdyBhcyBhbnkpLm5nTW9ja3NQYXJlbnQge31cbiAgICBjaGlsZCA9IE1vY2tNaWRkbGV3YXJlO1xuICB9XG4gICh3aW5kb3cgYXMgYW55KS5uZ01vY2tzUGFyZW50ID0gdW5kZWZpbmVkO1xuXG4gIHJldHVybiBjaGlsZDtcbn07XG5cbmV4cG9ydCBjb25zdCBleHRlbmRDbGFzcyA9IDxJIGV4dGVuZHMgb2JqZWN0PihiYXNlOiBBbnlUeXBlPEk+KTogVHlwZTxJPiA9PiB7XG4gIGNvbnN0IGNoaWxkOiBUeXBlPEk+ID0gZXh0ZW5kQ2xhc3NpY0NsYXNzKGJhc2UpO1xuICBjb3JlRGVmaW5lUHJvcGVydHkoY2hpbGQsICduYW1lJywgYE1vY2tNaWRkbGV3YXJlJHtiYXNlLm5hbWV9YCwgdHJ1ZSk7XG5cbiAgY29uc3QgcGFyYW1ldGVycyA9IGNvcmVSZWZsZWN0Sml0KCkucGFyYW1ldGVycyhiYXNlKTtcbiAgaWYgKHBhcmFtZXRlcnMubGVuZ3RoKSB7XG4gICAgY29yZURlZmluZVByb3BlcnR5KGNoaWxkLCAncGFyYW1ldGVycycsIFsuLi5wYXJhbWV0ZXJzXSk7XG4gIH1cblxuICByZXR1cm4gY2hpbGQ7XG59O1xuIl19
|
|
@@ -2,10 +2,12 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
var core_reflect_jit_1 = require("./core.reflect.jit");
|
|
4
4
|
var ng_mocks_universe_1 = require("./ng-mocks-universe");
|
|
5
|
-
exports.default = (function (type) {
|
|
6
|
-
|
|
7
|
-
ng_mocks_universe_1.default.global.
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
5
|
+
exports.default = (function (type) {
|
|
6
|
+
return function () {
|
|
7
|
+
if (!ng_mocks_universe_1.default.global.has(type)) {
|
|
8
|
+
ng_mocks_universe_1.default.global.set(type, new type(core_reflect_jit_1.default()));
|
|
9
|
+
}
|
|
10
|
+
return ng_mocks_universe_1.default.global.get(type);
|
|
11
|
+
};
|
|
12
|
+
});
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5yZWZsZWN0LmJvZHktZ2xvYmFsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy1tb2Nrcy9zcmMvbGliL2NvbW1vbi9jb3JlLnJlZmxlY3QuYm9keS1nbG9iYWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSx1REFBZ0Q7QUFFaEQseURBQWtEO0FBRWxELG1CQUFlLFVBQUksSUFBYTtJQUM5QixPQUFBO1FBQ0UsSUFBSSxDQUFDLDJCQUFlLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNyQywyQkFBZSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksSUFBSSxDQUFDLDBCQUFjLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDOUQ7UUFFRCxPQUFPLDJCQUFlLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQyxDQUFDO0FBTkQsQ0FNQyxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGNvcmVSZWZsZWN0Sml0IGZyb20gJy4vY29yZS5yZWZsZWN0LmppdCc7XG5pbXBvcnQgeyBUeXBlIH0gZnJvbSAnLi9jb3JlLnR5cGVzJztcbmltcG9ydCBuZ01vY2tzVW5pdmVyc2UgZnJvbSAnLi9uZy1tb2Nrcy11bml2ZXJzZSc7XG5cbmV4cG9ydCBkZWZhdWx0IDxUPih0eXBlOiBUeXBlPFQ+KSA9PlxuICAoKTogVCA9PiB7XG4gICAgaWYgKCFuZ01vY2tzVW5pdmVyc2UuZ2xvYmFsLmhhcyh0eXBlKSkge1xuICAgICAgbmdNb2Nrc1VuaXZlcnNlLmdsb2JhbC5zZXQodHlwZSwgbmV3IHR5cGUoY29yZVJlZmxlY3RKaXQoKSkpO1xuICAgIH1cblxuICAgIHJldHVybiBuZ01vY2tzVW5pdmVyc2UuZ2xvYmFsLmdldCh0eXBlKTtcbiAgfTtcbiJdfQ==
|
|
@@ -4,4 +4,4 @@ exports.default = (function (declaration) {
|
|
|
4
4
|
var _a, _b, _c;
|
|
5
5
|
return (_b = (_a = declaration === null || declaration === void 0 ? void 0 : declaration.ɵprov) === null || _a === void 0 ? void 0 : _a.providedIn) !== null && _b !== void 0 ? _b : (_c = declaration === null || declaration === void 0 ? void 0 : declaration.ngInjectableDef) === null || _c === void 0 ? void 0 : _c.providedIn;
|
|
6
6
|
});
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5yZWZsZWN0LnByb3ZpZGVkLWluLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy1tb2Nrcy9zcmMvbGliL2NvbW1vbi9jb3JlLnJlZmxlY3QucHJvdmlkZWQtaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFFQSxtQkFBZSxVQUFDLFdBQWdCOztJQUM5QixPQUFPLE1BQUEsTUFBQSxXQUFXLGFBQVgsV0FBVyx1QkFBWCxXQUFXLENBQUUsS0FBSywwQ0FBRSxVQUFVLG1DQUFJLE1BQUEsV0FBVyxhQUFYLFdBQVcsdUJBQVgsV0FBVyxDQUFFLGVBQWUsMENBQUUsVUFBVSxDQUFDO0FBQ3BGLENBQUMsRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFueVR5cGUgfSBmcm9tICcuL2NvcmUudHlwZXMnO1xuXG5leHBvcnQgZGVmYXVsdCAoZGVjbGFyYXRpb246IGFueSk6IHVuZGVmaW5lZCB8IEFueVR5cGU8YW55PiB8IHN0cmluZyA9PiB7XG4gIHJldHVybiBkZWNsYXJhdGlvbj8uybVwcm92Py5wcm92aWRlZEluID8/IGRlY2xhcmF0aW9uPy5uZ0luamVjdGFibGVEZWY/LnByb3ZpZGVkSW47XG59O1xuIl19
|
|
@@ -1,25 +1,26 @@
|
|
|
1
1
|
import { AsyncValidator, ControlValueAccessor, ValidationErrors, Validator } from '@angular/forms';
|
|
2
|
+
import { AnyType } from './core.types';
|
|
2
3
|
import { MockControlValueAccessor, MockValidator } from './mock-control-value-accessor';
|
|
3
4
|
export declare class MockControlValueAccessorProxy implements ControlValueAccessor {
|
|
4
|
-
readonly target?:
|
|
5
|
+
readonly target?: AnyType<any> | undefined;
|
|
5
6
|
instance?: Partial<MockControlValueAccessor & ControlValueAccessor>;
|
|
6
|
-
constructor(target?:
|
|
7
|
+
constructor(target?: AnyType<any> | undefined);
|
|
7
8
|
registerOnChange(fn: any): void;
|
|
8
9
|
registerOnTouched(fn: any): void;
|
|
9
10
|
setDisabledState(isDisabled: boolean): void;
|
|
10
11
|
writeValue(value: any): void;
|
|
11
12
|
}
|
|
12
13
|
export declare class MockValidatorProxy implements Validator {
|
|
13
|
-
readonly target?:
|
|
14
|
+
readonly target?: AnyType<any> | undefined;
|
|
14
15
|
instance?: Partial<MockValidator & Validator>;
|
|
15
|
-
constructor(target?:
|
|
16
|
+
constructor(target?: AnyType<any> | undefined);
|
|
16
17
|
registerOnValidatorChange(fn: any): void;
|
|
17
18
|
validate(control: any): ValidationErrors | null;
|
|
18
19
|
}
|
|
19
20
|
export declare class MockAsyncValidatorProxy implements AsyncValidator {
|
|
20
|
-
readonly target?:
|
|
21
|
+
readonly target?: AnyType<any> | undefined;
|
|
21
22
|
instance?: Partial<MockValidator & AsyncValidator>;
|
|
22
|
-
constructor(target?:
|
|
23
|
+
constructor(target?: AnyType<any> | undefined);
|
|
23
24
|
registerOnValidatorChange(fn: any): void;
|
|
24
25
|
validate(control: any): any;
|
|
25
26
|
}
|
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
import { Mock } from './mock';
|
|
2
2
|
/**
|
|
3
|
-
* @deprecated use isMockControlValueAccessor or isMockValidator instead
|
|
3
|
+
* @deprecated use isMockControlValueAccessor or isMockValidator instead (removing in A13)
|
|
4
4
|
* @see https://ng-mocks.sudo.eu/api/helpers/isMockControlValueAccessor
|
|
5
5
|
* @see https://ng-mocks.sudo.eu/api/helpers/isMockValidator
|
|
6
6
|
*/
|
|
7
7
|
export declare class LegacyControlValueAccessor extends Mock {
|
|
8
8
|
/**
|
|
9
|
-
* @deprecated use isMockControlValueAccessor instead
|
|
9
|
+
* @deprecated use isMockControlValueAccessor instead (removing in A13)
|
|
10
10
|
* @see https://ng-mocks.sudo.eu/api/helpers/isMockControlValueAccessor
|
|
11
11
|
*/
|
|
12
12
|
__simulateChange(value: any): void;
|
|
13
13
|
/**
|
|
14
|
-
* @deprecated use isMockControlValueAccessor instead
|
|
14
|
+
* @deprecated use isMockControlValueAccessor instead (removing in A13)
|
|
15
15
|
* @see https://ng-mocks.sudo.eu/api/helpers/isMockControlValueAccessor
|
|
16
16
|
*/
|
|
17
17
|
__simulateTouch(): void;
|
|
18
18
|
/**
|
|
19
|
-
* @deprecated use isMockValidator instead
|
|
19
|
+
* @deprecated use isMockValidator instead (removing in A13)
|
|
20
20
|
* @see https://ng-mocks.sudo.eu/api/helpers/isMockValidator
|
|
21
21
|
*/
|
|
22
22
|
__simulateValidatorChange(): void;
|
|
@@ -8,6 +8,8 @@ var __extends = (this && this.__extends) || (function () {
|
|
|
8
8
|
return extendStatics(d, b);
|
|
9
9
|
};
|
|
10
10
|
return function (d, b) {
|
|
11
|
+
if (typeof b !== "function" && b !== null)
|
|
12
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
11
13
|
extendStatics(d, b);
|
|
12
14
|
function __() { this.constructor = d; }
|
|
13
15
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
@@ -17,7 +19,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
17
19
|
exports.LegacyControlValueAccessor = void 0;
|
|
18
20
|
var mock_1 = require("./mock");
|
|
19
21
|
/**
|
|
20
|
-
* @deprecated use isMockControlValueAccessor or isMockValidator instead
|
|
22
|
+
* @deprecated use isMockControlValueAccessor or isMockValidator instead (removing in A13)
|
|
21
23
|
* @see https://ng-mocks.sudo.eu/api/helpers/isMockControlValueAccessor
|
|
22
24
|
* @see https://ng-mocks.sudo.eu/api/helpers/isMockValidator
|
|
23
25
|
*/
|
|
@@ -32,7 +34,7 @@ var LegacyControlValueAccessor = /** @class */ (function (_super) {
|
|
|
32
34
|
};
|
|
33
35
|
// istanbul ignore next
|
|
34
36
|
/**
|
|
35
|
-
* @deprecated use isMockControlValueAccessor instead
|
|
37
|
+
* @deprecated use isMockControlValueAccessor instead (removing in A13)
|
|
36
38
|
* @see https://ng-mocks.sudo.eu/api/helpers/isMockControlValueAccessor
|
|
37
39
|
*/
|
|
38
40
|
LegacyControlValueAccessor.prototype.__simulateTouch = function () {
|
|
@@ -40,7 +42,7 @@ var LegacyControlValueAccessor = /** @class */ (function (_super) {
|
|
|
40
42
|
};
|
|
41
43
|
// istanbul ignore next
|
|
42
44
|
/**
|
|
43
|
-
* @deprecated use isMockValidator instead
|
|
45
|
+
* @deprecated use isMockValidator instead (removing in A13)
|
|
44
46
|
* @see https://ng-mocks.sudo.eu/api/helpers/isMockValidator
|
|
45
47
|
*/
|
|
46
48
|
LegacyControlValueAccessor.prototype.__simulateValidatorChange = function () {
|
|
@@ -49,4 +51,4 @@ var LegacyControlValueAccessor = /** @class */ (function (_super) {
|
|
|
49
51
|
return LegacyControlValueAccessor;
|
|
50
52
|
}(mock_1.Mock));
|
|
51
53
|
exports.LegacyControlValueAccessor = LegacyControlValueAccessor;
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9jay1jb250cm9sLXZhbHVlLWFjY2Vzc29yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy1tb2Nrcy9zcmMvbGliL2NvbW1vbi9tb2NrLWNvbnRyb2wtdmFsdWUtYWNjZXNzb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLDZDQUE2Qzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRTdDLCtCQUE4QjtBQUU5Qjs7OztHQUlHO0FBQ0g7SUFBZ0QsOENBQUk7SUFBcEQ7O0lBNEJBLENBQUM7SUF0QkMsdUJBQXVCO0lBQ2hCLHFEQUFnQixHQUF2QjtRQUNFLGlCQUFpQjtJQUNuQixDQUFDO0lBRUQsdUJBQXVCO0lBQ3ZCOzs7T0FHRztJQUNJLG9EQUFlLEdBQXRCO1FBQ0UsaUJBQWlCO0lBQ25CLENBQUM7SUFFRCx1QkFBdUI7SUFDdkI7OztPQUdHO0lBQ0ksOERBQXlCLEdBQWhDO1FBQ0UsaUJBQWlCO0lBQ25CLENBQUM7SUFDSCxpQ0FBQztBQUFELENBQUMsQUE1QkQsQ0FBZ0QsV0FBSSxHQTRCbkQ7QUE1QlksZ0VBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gdHNsaW50OmRpc2FibGUgdmFyaWFibGUtbmFtZSBiYW4tdHMtaWdub3JlXG5cbmltcG9ydCB7IE1vY2sgfSBmcm9tICcuL21vY2snO1xuXG4vKipcbiAqIEBkZXByZWNhdGVkIHVzZSBpc01vY2tDb250cm9sVmFsdWVBY2Nlc3NvciBvciBpc01vY2tWYWxpZGF0b3IgaW5zdGVhZCAocmVtb3ZpbmcgaW4gQTEzKVxuICogQHNlZSBodHRwczovL25nLW1vY2tzLnN1ZG8uZXUvYXBpL2hlbHBlcnMvaXNNb2NrQ29udHJvbFZhbHVlQWNjZXNzb3JcbiAqIEBzZWUgaHR0cHM6Ly9uZy1tb2Nrcy5zdWRvLmV1L2FwaS9oZWxwZXJzL2lzTW9ja1ZhbGlkYXRvclxuICovXG5leHBvcnQgY2xhc3MgTGVnYWN5Q29udHJvbFZhbHVlQWNjZXNzb3IgZXh0ZW5kcyBNb2NrIHtcbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIHVzZSBpc01vY2tDb250cm9sVmFsdWVBY2Nlc3NvciBpbnN0ZWFkIChyZW1vdmluZyBpbiBBMTMpXG4gICAqIEBzZWUgaHR0cHM6Ly9uZy1tb2Nrcy5zdWRvLmV1L2FwaS9oZWxwZXJzL2lzTW9ja0NvbnRyb2xWYWx1ZUFjY2Vzc29yXG4gICAqL1xuICBwdWJsaWMgX19zaW11bGF0ZUNoYW5nZSh2YWx1ZTogYW55KTogdm9pZDtcbiAgLy8gaXN0YW5idWwgaWdub3JlIG5leHRcbiAgcHVibGljIF9fc2ltdWxhdGVDaGFuZ2UoKSB7XG4gICAgLy8gbm90aGluZyB0byBkby5cbiAgfVxuXG4gIC8vIGlzdGFuYnVsIGlnbm9yZSBuZXh0XG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCB1c2UgaXNNb2NrQ29udHJvbFZhbHVlQWNjZXNzb3IgaW5zdGVhZCAocmVtb3ZpbmcgaW4gQTEzKVxuICAgKiBAc2VlIGh0dHBzOi8vbmctbW9ja3Muc3Vkby5ldS9hcGkvaGVscGVycy9pc01vY2tDb250cm9sVmFsdWVBY2Nlc3NvclxuICAgKi9cbiAgcHVibGljIF9fc2ltdWxhdGVUb3VjaCgpIHtcbiAgICAvLyBub3RoaW5nIHRvIGRvLlxuICB9XG5cbiAgLy8gaXN0YW5idWwgaWdub3JlIG5leHRcbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIHVzZSBpc01vY2tWYWxpZGF0b3IgaW5zdGVhZCAocmVtb3ZpbmcgaW4gQTEzKVxuICAgKiBAc2VlIGh0dHBzOi8vbmctbW9ja3Muc3Vkby5ldS9hcGkvaGVscGVycy9pc01vY2tWYWxpZGF0b3JcbiAgICovXG4gIHB1YmxpYyBfX3NpbXVsYXRlVmFsaWRhdG9yQ2hhbmdlKCkge1xuICAgIC8vIG5vdGhpbmcgdG8gZG8uXG4gIH1cbn1cblxuLyoqXG4gKiBAc2VlIGh0dHBzOi8vbmctbW9ja3Muc3Vkby5ldS9hcGkvaGVscGVycy9pc01vY2tDb250cm9sVmFsdWVBY2Nlc3NvclxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1vY2tDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIC8qKlxuICAgKiBAc2VlIGh0dHBzOi8vbmctbW9ja3Muc3Vkby5ldS9leHRyYS9tb2NrLWZvcm0tY29udHJvbHNcbiAgICovXG4gIF9fc2ltdWxhdGVDaGFuZ2UodmFsdWU6IGFueSk6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIEBzZWUgaHR0cHM6Ly9uZy1tb2Nrcy5zdWRvLmV1L2V4dHJhL21vY2stZm9ybS1jb250cm9sc1xuICAgKi9cbiAgX19zaW11bGF0ZVRvdWNoKCk6IHZvaWQ7XG59XG5cbi8qKlxuICogQHNlZSBodHRwczovL25nLW1vY2tzLnN1ZG8uZXUvYXBpL2hlbHBlcnMvaXNNb2NrVmFsaWRhdG9yXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTW9ja1ZhbGlkYXRvciB7XG4gIC8qKlxuICAgKiBAc2VlIGh0dHBzOi8vbmctbW9ja3Muc3Vkby5ldS9leHRyYS9tb2NrLWZvcm0tY29udHJvbHNcbiAgICovXG4gIF9fc2ltdWxhdGVWYWxpZGF0b3JDaGFuZ2UoKTogdm9pZDtcbn1cbiJdfQ==
|
package/dist/lib/common/mock.js
CHANGED
|
@@ -27,9 +27,10 @@ var __read = (this && this.__read) || function (o, n) {
|
|
|
27
27
|
}
|
|
28
28
|
return ar;
|
|
29
29
|
};
|
|
30
|
-
var
|
|
31
|
-
for (var
|
|
32
|
-
|
|
30
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from) {
|
|
31
|
+
for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
|
|
32
|
+
to[j] = from[i];
|
|
33
|
+
return to;
|
|
33
34
|
};
|
|
34
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
35
36
|
exports.Mock = void 0;
|
|
@@ -137,7 +138,7 @@ var applyOutputs = function (instance) {
|
|
|
137
138
|
var applyPrototype = function (instance, prototype) {
|
|
138
139
|
var e_4, _a;
|
|
139
140
|
try {
|
|
140
|
-
for (var _b = __values(
|
|
141
|
+
for (var _b = __values(__spreadArray(__spreadArray([], __read(helper_mock_service_1.default.extractMethodsFromPrototype(prototype))), __read(helper_mock_service_1.default.extractPropertiesFromPrototype(prototype)))), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
141
142
|
var prop = _c.value;
|
|
142
143
|
var descriptor = helper_mock_service_1.default.extractPropertyDescriptor(prototype, prop);
|
|
143
144
|
helper_mock_service_1.default.definePropertyDescriptor(instance, prop, descriptor);
|
|
@@ -197,7 +198,7 @@ var applyOverrides = function (instance, mockOf, injector) {
|
|
|
197
198
|
if (instance.__ngMocksConfig.init) {
|
|
198
199
|
callbacks.push(instance.__ngMocksConfig.init);
|
|
199
200
|
}
|
|
200
|
-
callbacks.push.apply(callbacks,
|
|
201
|
+
callbacks.push.apply(callbacks, __spreadArray([], __read(mock_instance_apply_1.default(mockOf))));
|
|
201
202
|
try {
|
|
202
203
|
for (var callbacks_1 = __values(callbacks), callbacks_1_1 = callbacks_1.next(); !callbacks_1_1.done; callbacks_1_1 = callbacks_1.next()) {
|
|
203
204
|
var callback = callbacks_1_1.value;
|
|
@@ -256,4 +257,4 @@ core_define_property_1.default(Mock, 'parameters', [
|
|
|
256
257
|
[core_1.Injector, new core_1.Optional()],
|
|
257
258
|
[core_form_1.default.NgControl || /* istanbul ignore next */ (function () { return undefined; }), new core_1.Optional(), new core_1.Self()],
|
|
258
259
|
]);
|
|
259
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9jay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmctbW9ja3Mvc3JjL2xpYi9jb21tb24vbW9jay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsK0JBQStCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRS9CLHNDQUF1RTtBQUd2RSxvRUFBNkQ7QUFDN0QsNEVBQXFFO0FBQ3JFLDJFQUFvRTtBQUVwRSwrREFBd0Q7QUFDeEQseUNBQW1DO0FBQ25DLCtDQUEyQztBQUUzQywrQ0FBd0M7QUFDeEMseUZBQW9GO0FBQ3BGLHlEQUFrRDtBQUVsRCxJQUFNLGdCQUFnQixHQUFHLFVBQUMsUUFBYSxFQUFFLFNBQWU7SUFDdEQsSUFBSSxTQUFTLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxJQUFJLFFBQVEsQ0FBQyxlQUFlLENBQUMsdUJBQXVCLEVBQUU7UUFDN0YsSUFBSTtZQUNGLFNBQVMsQ0FBQyxhQUFhLEdBQUcsSUFBSSxpRUFBNkIsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDckY7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNWLGlCQUFpQjtTQUNsQjtLQUNGO0FBQ0gsQ0FBQyxDQUFDO0FBRUYsa0NBQWtDO0FBQ2xDLElBQU0sb0JBQW9CLEdBQUcsVUFBQyxTQUFjLEVBQUUsUUFBYTtJQUN6RCxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxRQUFRLElBQUksU0FBUyxDQUFDLGFBQWEsQ0FBQyxNQUFNLEtBQUssUUFBUSxDQUFDLGFBQWEsRUFBRTtRQUNsRyxTQUFTLENBQUMsYUFBYSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDNUMsNkJBQWlCLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO1FBQ3JELDZCQUFpQixDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztRQUN0RCw2QkFBaUIsQ0FB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dkIsSUFBSSxzQkFBVSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3BCLG9CQUFvQixDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQztZQUN0QyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbkIsY0FBYyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDbEQsWUFBWSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDckMsVUFBVSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDcEM7UUFFRCx1QkFBdUI7UUFDdkIsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRTlDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLFFBQVEsYUFBUixRQUFRLGNBQVIsUUFBUSxHQUFJLFNBQVMsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFDSCxXQUFDO0FBQUQsQ0FBQyxBQTVCRCxJQTRCQztBQTVCWSxvQkFBSTtBQThCakIsOEJBQWtCLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRTtJQUNyQyxDQUFDLGVBQVEsRUFBRSxJQUFJLGVBQVEsRUFBRSxDQUFDO0lBQzFCLENBQUMsbUJBQVEsQ0FBQyxTQUFTLElBQUksMEJBQTBCLENBQUMsQ0FBQyxjQUFNLE9BQUEsU0FBUyxFQUFULENBQVMsQ0FBQyxFQUFFLElBQUksZUFBUSxFQUFFLEVBQUUsSUFBSSxXQUFJLEVBQUUsQ0FBQztDQUNqRyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyB0c2xpbnQ6ZGlzYWJsZSB2YXJpYWJsZS1uYW1lXG5cbmltcG9ydCB7IEV2ZW50RW1pdHRlciwgSW5qZWN0b3IsIE9wdGlvbmFsLCBTZWxmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IElNb2NrQnVpbGRlckNvbmZpZyB9IGZyb20gJy4uL21vY2stYnVpbGRlci90eXBlcyc7XG5pbXBvcnQgbW9ja0hlbHBlclN0dWIgZnJvbSAnLi4vbW9jay1oZWxwZXIvbW9jay1oZWxwZXIuc3R1Yic7XG5pbXBvcnQgbW9ja0luc3RhbmNlQXBwbHkgZnJvbSAnLi4vbW9jay1pbnN0YW5jZS9tb2NrLWluc3RhbmNlLWFwcGx5JztcbmltcG9ydCBoZWxwZXJNb2NrU2VydmljZSBmcm9tICcuLi9tb2NrLXNlcnZpY2UvaGVscGVyLm1vY2stc2VydmljZSc7XG5cbmltcG9ydCBjb3JlRGVmaW5lUHJvcGVydHkgZnJvbSAnLi9jb3JlLmRlZmluZS1wcm9wZXJ0eSc7XG5pbXBvcnQgY29yZUZvcm0gZnJvbSAnLi9jb3JlLmZvcm0nO1xuaW1wb3J0IHsgbWFwVmFsdWVzIH0gZnJvbSAnLi9jb3JlLmhlbHBlcnMnO1xuaW1wb3J0IHsgQW55VHlwZSB9IGZyb20gJy4vY29yZS50eXBlcyc7XG5pbXBvcnQgZnVuY0lzTW9jayBmcm9tICcuL2Z1bmMuaXMtbW9jayc7XG5pbXBvcnQgeyBNb2NrQ29udHJvbFZhbHVlQWNjZXNzb3JQcm94eSB9IGZyb20gJy4vbW9jay1jb250cm9sLXZhbHVlLWFjY2Vzc29yLXByb3h5JztcbmltcG9ydCBuZ01vY2tzVW5pdmVyc2UgZnJvbSAnLi9uZy1tb2Nrcy11bml2ZXJzZSc7XG5cbmNvbnN0IHNldFZhbHVlQWNjZXNzb3IgPSAoaW5zdGFuY2U6IGFueSwgbmdDb250cm9sPzogYW55KSA9PiB7XG4gIGlmIChuZ0NvbnRyb2wgJiYgIW5nQ29udHJvbC52YWx1ZUFjY2Vzc29yICYmIGluc3RhbmNlLl9fbmdNb2Nrc0NvbmZpZy5zZXRDb250cm9sVmFsdWVBY2Nlc3Nvcikge1xuICAgIHRyeSB7XG4gICAgICBuZ0NvbnRyb2wudmFsdWVBY2Nlc3NvciA9IG5ldyBNb2NrQ29udHJvbFZhbHVlQWNjZXNzb3JQcm94eShpbnN0YW5jZS5fX25nTW9ja3NDdG9yKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICAvLyBub3RoaW5nIHRvIGRvLlxuICAgIH1cbiAgfVxufTtcblxuLy8gY29ubmVjdGluZyB0byBOR19WQUxVRV9BQ0NFU1NPUlxuY29uc3QgaW5zdGFsbFZhbHVlQWNjZXNzb3IgPSAobmdDb250cm9sOiBhbnksIGluc3RhbmNlOiBhbnkpID0+IHtcbiAgaWYgKCFuZ0NvbnRyb2wudmFsdWVBY2Nlc3Nvci5pbnN0YW5jZSAmJiBuZ0NvbnRyb2wudmFsdWVBY2Nlc3Nvci50YXJnZXQgPT09IGluc3RhbmNlLl9fbmdNb2Nrc0N0b3IpIHtcbiAgICBuZ0NvbnRyb2wudmFsdWVBY2Nlc3Nvci5pbnN0YW5jZSA9IGluc3RhbmNlO1xuICAgIGhlbHBlck1vY2tTZXJ2aWNlLm1vY2soaW5zdGFuY2UsICdyZWdpc3Rlck9uQ2hhbmdlJyk7XG4gICAgaGVscGVyTW9ja1NlcnZpY2UubW9jayhpbnN0YW5jZSwgJ3JlZ2lzdGVyT25Ub3VjaGVkJyk7XG4gICAgaGVscGVyTW9ja1NlcnZpY2UubW9jayhpbnN0YW5jZSwgJ3NldERpc2FibGVkU3RhdGUnKTtcbiAgICBoZWxwZXJNb2NrU2VydmljZS5tb2NrKGluc3RhbmNlLCAnd3JpdGVWYWx1ZScpO1xuICAgIGluc3RhbmNlLl9fbmdNb2Nrc0NvbmZpZy5pc0NvbnRyb2xWYWx1ZUFjY2Vzc29yID0gdHJ1ZTtcbiAgfVxufTtcblxuLy8gY29ubmVjdGluZyB0byBOR19WQUxJREFUT1JTXG4vLyBjb25uZWN0aW5nIHRvIE5HX0FTWU5DX1ZBTElEQVRPUlNcbmNvbnN0IGluc3RhbGxWYWxpZGF0b3IgPSAodmFsaWRhdG9yczogYW55W10sIGluc3RhbmNlOiBhbnkpID0+IHtcbiAgZm9yIChjb25zdCB2YWxpZGF0b3Igb2YgdmFsaWRhdG9ycykge1xuICAgIGlmICghdmFsaWRhdG9yLmluc3RhbmNlICYmIHZhbGlkYXRvci50YXJnZXQgPT09IGluc3RhbmNlLl9fbmdNb2Nrc0N0b3IpIHtcbiAgICAgIHZhbGlkYXRvci5pbnN0YW5jZSA9IGluc3RhbmNlO1xuICAgICAgaGVscGVyTW9ja1NlcnZpY2UubW9jayhpbnN0YW5jZSwgJ3JlZ2lzdGVyT25WYWxpZGF0b3JDaGFuZ2UnKTtcbiAgICAgIGhlbHBlck1vY2tTZXJ2aWNlLm1vY2soaW5zdGFuY2UsICd2YWxpZGF0ZScpO1xuICAgICAgaW5zdGFuY2UuX19uZ01vY2tzQ29uZmlnLmlzVmFsaWRhdG9yID0gdHJ1ZTtcbiAgICB9XG4gIH1cbn07XG5cbmNvbnN0IGFwcGx5TmdWYWx1ZUFjY2Vzc29yID0gKGluc3RhbmNlOiBhbnksIG5nQ29udHJvbDogYW55KSA9PiB7XG4gIHNldFZhbHVlQWNjZXNzb3IoaW5zdGFuY2UsIG5nQ29udHJvbCk7XG5cbiAgdHJ5IHtcbiAgICAvLyBpc3RhbmJ1bCBpZ25vcmUgZWxzZVxuICAgIGlmIChuZ0NvbnRyb2wpIHtcbiAgICAgIGluc3RhbGxWYWx1ZUFjY2Vzc29yKG5nQ29udHJvbCwgaW5zdGFuY2UpO1xuICAgICAgaW5zdGFsbFZhbGlkYXRvcihuZ0NvbnRyb2wuX3Jhd1ZhbGlkYXRvcnMsIGluc3RhbmNlKTtcbiAgICAgIGluc3RhbGxWYWxpZGF0b3IobmdDb250cm9sLl9yYXdBc3luY1ZhbGlkYXRvcnMsIGluc3RhbmNlKTtcbiAgICB9XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICAvLyBub3RoaW5nIHRvIGRvLlxuICB9XG59O1xuXG5jb25zdCBhcHBseU91dHB1dHMgPSAoaW5zdGFuY2U6IE1vY2tDb25maWcgJiBSZWNvcmQ8a2V5b2YgYW55LCBhbnk+KSA9PiB7XG4gIGNvbnN0IG1vY2tPdXRwdXRzID0gW107XG4gIGZvciAoY29uc3Qgb3V0cHV0IG9mIGluc3RhbmNlLl9fbmdNb2Nrc0NvbmZpZy5vdXRwdXRzIHx8IFtdKSB7XG4gICAgbW9ja091dHB1dHMucHVzaChvdXRwdXQuc3BsaXQoJzonKVswXSk7XG4gIH1cblxuICBmb3IgKGNvbnN0IG91dHB1dCBvZiBtb2NrT3V0cHV0cykge1xuICAgIGlmIChpbnN0YW5jZVtvdXRwdXRdIHx8IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoaW5zdGFuY2UsIG91dHB1dCkpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cbiAgICBpbnN0YW5jZVtvdXRwdXRdID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIH1cbn07XG5cbmNvbnN0IGFwcGx5UHJvdG90eXBlID0gKGluc3RhbmNlOiBNb2NrLCBwcm90b3R5cGU6IEFueVR5cGU8YW55PikgPT4ge1xuICBmb3IgKGNvbnN0IHByb3Agb2YgW1xuICAgIC4uLmhlbHBlck1vY2tTZXJ2aWNlLmV4dHJhY3RNZXRob2RzRnJvbVByb3RvdHlwZShwcm90b3R5cGUpLFxuICAgIC4uLmhlbHBlck1vY2tTZXJ2aWNlLmV4dHJhY3RQcm9wZXJ0aWVzRnJvbVByb3RvdHlwZShwcm90b3R5cGUpLFxuICBdKSB7XG4gICAgY29uc3QgZGVzY3JpcHRvciA9IGhlbHBlck1vY2tTZXJ2aWNlLmV4dHJhY3RQcm9wZXJ0eURlc2NyaXB0b3IocHJvdG90eXBlLCBwcm9wKTtcbiAgICBoZWxwZXJNb2NrU2VydmljZS5kZWZpbmVQcm9wZXJ0eURlc2NyaXB0b3IoaW5zdGFuY2UsIHByb3AsIGRlc2NyaXB0b3IpO1xuICB9XG59O1xuXG5jb25zdCBhcHBseU1ldGhvZHMgPSAoaW5zdGFuY2U6IE1vY2sgJiBSZWNvcmQ8a2V5b2YgYW55LCBhbnk+LCBwcm90b3R5cGU6IEFueVR5cGU8YW55PikgPT4ge1xuICBmb3IgKGNvbnN0IG1ldGhvZCBvZiBoZWxwZXJNb2NrU2VydmljZS5leHRyYWN0TWV0aG9kc0Zyb21Qcm90b3R5cGUocHJvdG90eXBlKSkge1xuICAgIGlmIChpbnN0YW5jZVttZXRob2RdIHx8IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoaW5zdGFuY2UsIG1ldGhvZCkpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cbiAgICBoZWxwZXJNb2NrU2VydmljZS5tb2NrKGluc3RhbmNlLCBtZXRob2QpO1xuICB9XG59O1xuXG5jb25zdCBhcHBseVByb3BzID0gKGluc3RhbmNlOiBNb2NrICYgUmVjb3JkPGtleW9mIGFueSwgYW55PiwgcHJvdG90eXBlOiBBbnlUeXBlPGFueT4pID0+IHtcbiAgZm9yIChjb25zdCBwcm9wIG9mIGhlbHBlck1vY2tTZXJ2aWNlLmV4dHJhY3RQcm9wZXJ0aWVzRnJvbVByb3RvdHlwZShwcm90b3R5cGUpKSB7XG4gICAgaWYgKGluc3RhbmNlW3Byb3BdIHx8IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoaW5zdGFuY2UsIHByb3ApKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG4gICAgaGVscGVyTW9ja1NlcnZpY2UubW9jayhpbnN0YW5jZSwgcHJvcCwgJ2dldCcpO1xuICAgIGhlbHBlck1vY2tTZXJ2aWNlLm1vY2soaW5zdGFuY2UsIHByb3AsICdzZXQnKTtcbiAgfVxufTtcblxuZXhwb3J0IHR5cGUgbmdNb2Nrc01vY2tDb25maWcgPSB7XG4gIGNvbmZpZz86IElNb2NrQnVpbGRlckNvbmZpZztcbiAgaW5pdD86IChpbnN0YW5jZTogYW55KSA9PiB2b2lkO1xuICBpc0NvbnRyb2xWYWx1ZUFjY2Vzc29yPzogYm9vbGVhbjtcbiAgaXNWYWxpZGF0b3I/OiBib29sZWFuO1xuICBvdXRwdXRzPzogc3RyaW5nW107XG4gIHF1ZXJ5U2NhbktleXM/OiBzdHJpbmdbXTtcbiAgc2V0Q29udHJvbFZhbHVlQWNjZXNzb3I/OiBib29sZWFuO1xufTtcblxuY29uc3QgYXBwbHlPdmVycmlkZXMgPSAoaW5zdGFuY2U6IGFueSwgbW9ja09mOiBhbnksIGluamVjdG9yPzogSW5qZWN0b3IpOiB2b2lkID0+IHtcbiAgY29uc3QgY29uZmlnR2xvYmFsOiBTZXQ8YW55PiB8IHVuZGVmaW5lZCA9IG5nTW9ja3NVbml2ZXJzZS5nZXRPdmVycmlkZXMoKS5nZXQobW9ja09mKTtcbiAgY29uc3QgY2FsbGJhY2tzID0gY29uZmlnR2xvYmFsID8gbWFwVmFsdWVzKGNvbmZpZ0dsb2JhbCkgOiBbXTtcbiAgaWYgKGluc3RhbmNlLl9fbmdNb2Nrc0NvbmZpZy5pbml0KSB7XG4gICAgY2FsbGJhY2tzLnB1c2goaW5zdGFuY2UuX19uZ01vY2tzQ29uZmlnLmluaXQpO1xuICB9XG4gIGNhbGxiYWNrcy5wdXNoKC4uLm1vY2tJbnN0YW5jZUFwcGx5KG1vY2tPZikpO1xuXG4gIGZvciAoY29uc3QgY2FsbGJhY2sgb2YgY2FsbGJhY2tzKSB7XG4gICAgY29uc3Qgb3ZlcnJpZGVzID0gY2FsbGJhY2soaW5zdGFuY2UsIGluamVjdG9yKTtcbiAgICBpZiAoIW92ZXJyaWRlcykge1xuICAgICAgY29udGludWU7XG4gICAgfVxuICAgIG1vY2tIZWxwZXJTdHViKGluc3RhbmNlLCBvdmVycmlkZXMpO1xuICB9XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIE1vY2tDb25maWcge1xuICBfX25nTW9ja3NDb25maWc6IG5nTW9ja3NNb2NrQ29uZmlnO1xufVxuXG5leHBvcnQgY2xhc3MgTW9jayB7XG4gIHByb3RlY3RlZCBfX25nTW9ja3NDb25maWchOiBuZ01vY2tzTW9ja0NvbmZpZztcblxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgaW5qZWN0b3I6IEluamVjdG9yIHwgbnVsbCA9IG51bGwsXG4gICAgbmdDb250cm9sOiBhbnkgfCBudWxsID0gbnVsbCwgLy8gTmdDb250cm9sXG4gICkge1xuICAgIGNvbnN0IG1vY2tPZiA9ICh0aGlzLmNvbnN0cnVjdG9yIGFzIGFueSkubW9ja09mO1xuICAgIGNvcmVEZWZpbmVQcm9wZXJ0eSh0aGlzLCAnX19uZ01vY2tzSW5qZWN0b3InLCBpbmplY3Rvcik7XG4gICAgY29yZURlZmluZVByb3BlcnR5KHRoaXMsICdfX25nTW9ja3NDdG9yJywgdGhpcy5jb25zdHJ1Y3Rvcik7XG4gICAgZm9yIChjb25zdCBrZXkgb2YgdGhpcy5fX25nTW9ja3NDb25maWcucXVlcnlTY2FuS2V5cyB8fCAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqLyBbXSkge1xuICAgICAgY29yZURlZmluZVByb3BlcnR5KHRoaXMsIGBfX25nTW9ja3NWY3JfJHtrZXl9YCwgdW5kZWZpbmVkKTtcbiAgICB9XG5cbiAgICAvLyBpc3RhbmJ1bCBpZ25vcmUgZWxzZVxuICAgIGlmIChmdW5jSXNNb2NrKHRoaXMpKSB7XG4gICAgICBhcHBseU5nVmFsdWVBY2Nlc3Nvcih0aGlzLCBuZ0NvbnRyb2wpO1xuICAgICAgYXBwbHlPdXRwdXRzKHRoaXMpO1xuICAgICAgYXBwbHlQcm90b3R5cGUodGhpcywgT2JqZWN0LmdldFByb3RvdHlwZU9mKHRoaXMpKTtcbiAgICAgIGFwcGx5TWV0aG9kcyh0aGlzLCBtb2NrT2YucHJvdG90eXBlKTtcbiAgICAgIGFwcGx5UHJvcHModGhpcywgbW9ja09mLnByb3RvdHlwZSk7XG4gICAgfVxuXG4gICAgLy8gYW5kIGZha2luZyBwcm90b3R5cGVcbiAgICBPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcywgbW9ja09mLnByb3RvdHlwZSk7XG5cbiAgICBhcHBseU92ZXJyaWRlcyh0aGlzLCBtb2NrT2YsIGluamVjdG9yID8/IHVuZGVmaW5lZCk7XG4gIH1cbn1cblxuY29yZURlZmluZVByb3BlcnR5KE1vY2ssICdwYXJhbWV0ZXJzJywgW1xuICBbSW5qZWN0b3IsIG5ldyBPcHRpb25hbCgpXSxcbiAgW2NvcmVGb3JtLk5nQ29udHJvbCB8fCAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqLyAoKCkgPT4gdW5kZWZpbmVkKSwgbmV3IE9wdGlvbmFsKCksIG5ldyBTZWxmKCldLFxuXSk7XG4iXX0=
|
|
260
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9jay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmctbW9ja3Mvc3JjL2xpYi9jb21tb24vbW9jay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsK0JBQStCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUUvQixzQ0FBdUU7QUFHdkUsb0VBQTZEO0FBQzdELDRFQUFxRTtBQUNyRSwyRUFBb0U7QUFFcEUsK0RBQXdEO0FBQ3hELHlDQUFtQztBQUNuQywrQ0FBMkM7QUFFM0MsK0NBQXdDO0FBQ3hDLHlGQUFvRjtBQUNwRix5REFBa0Q7QUFFbEQsSUFBTSxnQkFBZ0IsR0FBRyxVQUFDLFFBQWEsRUFBRSxTQUFlO0lBQ3RELElBQUksU0FBUyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsSUFBSSxRQUFRLENBQUMsZUFBZSxDQUFDLHVCQUF1QixFQUFFO1FBQzdGLElBQUk7WUFDRixTQUFTLENBQUMsYUFBYSxHQUFHLElBQUksaUVBQTZCLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQ3JGO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDVixpQkFBaUI7U0FDbEI7S0FDRjtBQUNILENBQUMsQ0FBQztBQUVGLGtDQUFrQztBQUNsQyxJQUFNLG9CQUFvQixHQUFHLFVBQUMsU0FBYyxFQUFFLFFBQWE7SUFDekQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsUUFBUSxJQUFJLFNBQVMsQ0FBQyxhQUFhLENBQUMsTUFBTSxLQUFLLFFBQVEsQ0FBQyxhQUFhLEVBQUU7UUFDbEcsU0FBUyxDQUFDLGFBQWEsQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQzVDLDZCQUFpQixDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztRQUNyRCw2QkFBaUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLG1CQUFtQixDQUFDLENBQUM7UUFDdEQsNkJBQWlCLENB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QUN2QixJQUFJLHNCQUFVLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDcEIsb0JBQW9CLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1lBQ3RDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNuQixjQUFjLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUNsRCxZQUFZLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNyQyxVQUFVLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUNwQztRQUVELHVCQUF1QjtRQUN2QixNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFOUMsY0FBYyxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsUUFBUSxhQUFSLFFBQVEsY0FBUixRQUFRLEdBQUksU0FBUyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUNILFdBQUM7QUFBRCxDQUFDLEFBNUJELElBNEJDO0FBNUJZLG9CQUFJO0FBOEJqQiw4QkFBa0IsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFO0lBQ3JDLENBQUMsZUFBUSxFQUFFLElBQUksZUFBUSxFQUFFLENBQUM7SUFDMUIsQ0FBQyxtQkFBUSxDQUFDLFNBQVMsSUFBSSwwQkFBMEIsQ0FBQyxDQUFDLGNBQU0sT0FBQSxTQUFTLEVBQVQsQ0FBUyxDQUFDLEVBQUUsSUFBSSxlQUFRLEVBQUUsRUFBRSxJQUFJLFdBQUksRUFBRSxDQUFDO0NBQ2pHLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIHRzbGludDpkaXNhYmxlIHZhcmlhYmxlLW5hbWVcblxuaW1wb3J0IHsgRXZlbnRFbWl0dGVyLCBJbmplY3RvciwgT3B0aW9uYWwsIFNlbGYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgSU1vY2tCdWlsZGVyQ29uZmlnIH0gZnJvbSAnLi4vbW9jay1idWlsZGVyL3R5cGVzJztcbmltcG9ydCBtb2NrSGVscGVyU3R1YiBmcm9tICcuLi9tb2NrLWhlbHBlci9tb2NrLWhlbHBlci5zdHViJztcbmltcG9ydCBtb2NrSW5zdGFuY2VBcHBseSBmcm9tICcuLi9tb2NrLWluc3RhbmNlL21vY2staW5zdGFuY2UtYXBwbHknO1xuaW1wb3J0IGhlbHBlck1vY2tTZXJ2aWNlIGZyb20gJy4uL21vY2stc2VydmljZS9oZWxwZXIubW9jay1zZXJ2aWNlJztcblxuaW1wb3J0IGNvcmVEZWZpbmVQcm9wZXJ0eSBmcm9tICcuL2NvcmUuZGVmaW5lLXByb3BlcnR5JztcbmltcG9ydCBjb3JlRm9ybSBmcm9tICcuL2NvcmUuZm9ybSc7XG5pbXBvcnQgeyBtYXBWYWx1ZXMgfSBmcm9tICcuL2NvcmUuaGVscGVycyc7XG5pbXBvcnQgeyBBbnlUeXBlIH0gZnJvbSAnLi9jb3JlLnR5cGVzJztcbmltcG9ydCBmdW5jSXNNb2NrIGZyb20gJy4vZnVuYy5pcy1tb2NrJztcbmltcG9ydCB7IE1vY2tDb250cm9sVmFsdWVBY2Nlc3NvclByb3h5IH0gZnJvbSAnLi9tb2NrLWNvbnRyb2wtdmFsdWUtYWNjZXNzb3ItcHJveHknO1xuaW1wb3J0IG5nTW9ja3NVbml2ZXJzZSBmcm9tICcuL25nLW1vY2tzLXVuaXZlcnNlJztcblxuY29uc3Qgc2V0VmFsdWVBY2Nlc3NvciA9IChpbnN0YW5jZTogYW55LCBuZ0NvbnRyb2w/OiBhbnkpID0+IHtcbiAgaWYgKG5nQ29udHJvbCAmJiAhbmdDb250cm9sLnZhbHVlQWNjZXNzb3IgJiYgaW5zdGFuY2UuX19uZ01vY2tzQ29uZmlnLnNldENvbnRyb2xWYWx1ZUFjY2Vzc29yKSB7XG4gICAgdHJ5IHtcbiAgICAgIG5nQ29udHJvbC52YWx1ZUFjY2Vzc29yID0gbmV3IE1vY2tDb250cm9sVmFsdWVBY2Nlc3NvclByb3h5KGluc3RhbmNlLl9fbmdNb2Nrc0N0b3IpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIC8vIG5vdGhpbmcgdG8gZG8uXG4gICAgfVxuICB9XG59O1xuXG4vLyBjb25uZWN0aW5nIHRvIE5HX1ZBTFVFX0FDQ0VTU09SXG5jb25zdCBpbnN0YWxsVmFsdWVBY2Nlc3NvciA9IChuZ0NvbnRyb2w6IGFueSwgaW5zdGFuY2U6IGFueSkgPT4ge1xuICBpZiAoIW5nQ29udHJvbC52YWx1ZUFjY2Vzc29yLmluc3RhbmNlICYmIG5nQ29udHJvbC52YWx1ZUFjY2Vzc29yLnRhcmdldCA9PT0gaW5zdGFuY2UuX19uZ01vY2tzQ3Rvcikge1xuICAgIG5nQ29udHJvbC52YWx1ZUFjY2Vzc29yLmluc3RhbmNlID0gaW5zdGFuY2U7XG4gICAgaGVscGVyTW9ja1NlcnZpY2UubW9jayhpbnN0YW5jZSwgJ3JlZ2lzdGVyT25DaGFuZ2UnKTtcbiAgICBoZWxwZXJNb2NrU2VydmljZS5tb2NrKGluc3RhbmNlLCAncmVnaXN0ZXJPblRvdWNoZWQnKTtcbiAgICBoZWxwZXJNb2NrU2VydmljZS5tb2NrKGluc3RhbmNlLCAnc2V0RGlzYWJsZWRTdGF0ZScpO1xuICAgIGhlbHBlck1vY2tTZXJ2aWNlLm1vY2soaW5zdGFuY2UsICd3cml0ZVZhbHVlJyk7XG4gICAgaW5zdGFuY2UuX19uZ01vY2tzQ29uZmlnLmlzQ29udHJvbFZhbHVlQWNjZXNzb3IgPSB0cnVlO1xuICB9XG59O1xuXG4vLyBjb25uZWN0aW5nIHRvIE5HX1ZBTElEQVRPUlNcbi8vIGNvbm5lY3RpbmcgdG8gTkdfQVNZTkNfVkFMSURBVE9SU1xuY29uc3QgaW5zdGFsbFZhbGlkYXRvciA9ICh2YWxpZGF0b3JzOiBhbnlbXSwgaW5zdGFuY2U6IGFueSkgPT4ge1xuICBmb3IgKGNvbnN0IHZhbGlkYXRvciBvZiB2YWxpZGF0b3JzKSB7XG4gICAgaWYgKCF2YWxpZGF0b3IuaW5zdGFuY2UgJiYgdmFsaWRhdG9yLnRhcmdldCA9PT0gaW5zdGFuY2UuX19uZ01vY2tzQ3Rvcikge1xuICAgICAgdmFsaWRhdG9yLmluc3RhbmNlID0gaW5zdGFuY2U7XG4gICAgICBoZWxwZXJNb2NrU2VydmljZS5tb2NrKGluc3RhbmNlLCAncmVnaXN0ZXJPblZhbGlkYXRvckNoYW5nZScpO1xuICAgICAgaGVscGVyTW9ja1NlcnZpY2UubW9jayhpbnN0YW5jZSwgJ3ZhbGlkYXRlJyk7XG4gICAgICBpbnN0YW5jZS5fX25nTW9ja3NDb25maWcuaXNWYWxpZGF0b3IgPSB0cnVlO1xuICAgIH1cbiAgfVxufTtcblxuY29uc3QgYXBwbHlOZ1ZhbHVlQWNjZXNzb3IgPSAoaW5zdGFuY2U6IGFueSwgbmdDb250cm9sOiBhbnkpID0+IHtcbiAgc2V0VmFsdWVBY2Nlc3NvcihpbnN0YW5jZSwgbmdDb250cm9sKTtcblxuICB0cnkge1xuICAgIC8vIGlzdGFuYnVsIGlnbm9yZSBlbHNlXG4gICAgaWYgKG5nQ29udHJvbCkge1xuICAgICAgaW5zdGFsbFZhbHVlQWNjZXNzb3IobmdDb250cm9sLCBpbnN0YW5jZSk7XG4gICAgICBpbnN0YWxsVmFsaWRhdG9yKG5nQ29udHJvbC5fcmF3VmFsaWRhdG9ycywgaW5zdGFuY2UpO1xuICAgICAgaW5zdGFsbFZhbGlkYXRvcihuZ0NvbnRyb2wuX3Jhd0FzeW5jVmFsaWRhdG9ycywgaW5zdGFuY2UpO1xuICAgIH1cbiAgfSBjYXRjaCAoZSkge1xuICAgIC8vIG5vdGhpbmcgdG8gZG8uXG4gIH1cbn07XG5cbmNvbnN0IGFwcGx5T3V0cHV0cyA9IChpbnN0YW5jZTogTW9ja0NvbmZpZyAmIFJlY29yZDxrZXlvZiBhbnksIGFueT4pID0+IHtcbiAgY29uc3QgbW9ja091dHB1dHMgPSBbXTtcbiAgZm9yIChjb25zdCBvdXRwdXQgb2YgaW5zdGFuY2UuX19uZ01vY2tzQ29uZmlnLm91dHB1dHMgfHwgW10pIHtcbiAgICBtb2NrT3V0cHV0cy5wdXNoKG91dHB1dC5zcGxpdCgnOicpWzBdKTtcbiAgfVxuXG4gIGZvciAoY29uc3Qgb3V0cHV0IG9mIG1vY2tPdXRwdXRzKSB7XG4gICAgaWYgKGluc3RhbmNlW291dHB1dF0gfHwgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihpbnN0YW5jZSwgb3V0cHV0KSkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuICAgIGluc3RhbmNlW291dHB1dF0gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgfVxufTtcblxuY29uc3QgYXBwbHlQcm90b3R5cGUgPSAoaW5zdGFuY2U6IE1vY2ssIHByb3RvdHlwZTogQW55VHlwZTxhbnk+KSA9PiB7XG4gIGZvciAoY29uc3QgcHJvcCBvZiBbXG4gICAgLi4uaGVscGVyTW9ja1NlcnZpY2UuZXh0cmFjdE1ldGhvZHNGcm9tUHJvdG90eXBlKHByb3RvdHlwZSksXG4gICAgLi4uaGVscGVyTW9ja1NlcnZpY2UuZXh0cmFjdFByb3BlcnRpZXNGcm9tUHJvdG90eXBlKHByb3RvdHlwZSksXG4gIF0pIHtcbiAgICBjb25zdCBkZXNjcmlwdG9yID0gaGVscGVyTW9ja1NlcnZpY2UuZXh0cmFjdFByb3BlcnR5RGVzY3JpcHRvcihwcm90b3R5cGUsIHByb3ApO1xuICAgIGhlbHBlck1vY2tTZXJ2aWNlLmRlZmluZVByb3BlcnR5RGVzY3JpcHRvcihpbnN0YW5jZSwgcHJvcCwgZGVzY3JpcHRvcik7XG4gIH1cbn07XG5cbmNvbnN0IGFwcGx5TWV0aG9kcyA9IChpbnN0YW5jZTogTW9jayAmIFJlY29yZDxrZXlvZiBhbnksIGFueT4sIHByb3RvdHlwZTogQW55VHlwZTxhbnk+KSA9PiB7XG4gIGZvciAoY29uc3QgbWV0aG9kIG9mIGhlbHBlck1vY2tTZXJ2aWNlLmV4dHJhY3RNZXRob2RzRnJvbVByb3RvdHlwZShwcm90b3R5cGUpKSB7XG4gICAgaWYgKGluc3RhbmNlW21ldGhvZF0gfHwgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihpbnN0YW5jZSwgbWV0aG9kKSkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuICAgIGhlbHBlck1vY2tTZXJ2aWNlLm1vY2soaW5zdGFuY2UsIG1ldGhvZCk7XG4gIH1cbn07XG5cbmNvbnN0IGFwcGx5UHJvcHMgPSAoaW5zdGFuY2U6IE1vY2sgJiBSZWNvcmQ8a2V5b2YgYW55LCBhbnk+LCBwcm90b3R5cGU6IEFueVR5cGU8YW55PikgPT4ge1xuICBmb3IgKGNvbnN0IHByb3Agb2YgaGVscGVyTW9ja1NlcnZpY2UuZXh0cmFjdFByb3BlcnRpZXNGcm9tUHJvdG90eXBlKHByb3RvdHlwZSkpIHtcbiAgICBpZiAoaW5zdGFuY2VbcHJvcF0gfHwgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihpbnN0YW5jZSwgcHJvcCkpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cbiAgICBoZWxwZXJNb2NrU2VydmljZS5tb2NrKGluc3RhbmNlLCBwcm9wLCAnZ2V0Jyk7XG4gICAgaGVscGVyTW9ja1NlcnZpY2UubW9jayhpbnN0YW5jZSwgcHJvcCwgJ3NldCcpO1xuICB9XG59O1xuXG5leHBvcnQgdHlwZSBuZ01vY2tzTW9ja0NvbmZpZyA9IHtcbiAgY29uZmlnPzogSU1vY2tCdWlsZGVyQ29uZmlnO1xuICBpbml0PzogKGluc3RhbmNlOiBhbnkpID0+IHZvaWQ7XG4gIGlzQ29udHJvbFZhbHVlQWNjZXNzb3I/OiBib29sZWFuO1xuICBpc1ZhbGlkYXRvcj86IGJvb2xlYW47XG4gIG91dHB1dHM/OiBzdHJpbmdbXTtcbiAgcXVlcnlTY2FuS2V5cz86IHN0cmluZ1tdO1xuICBzZXRDb250cm9sVmFsdWVBY2Nlc3Nvcj86IGJvb2xlYW47XG59O1xuXG5jb25zdCBhcHBseU92ZXJyaWRlcyA9IChpbnN0YW5jZTogYW55LCBtb2NrT2Y6IGFueSwgaW5qZWN0b3I/OiBJbmplY3Rvcik6IHZvaWQgPT4ge1xuICBjb25zdCBjb25maWdHbG9iYWw6IFNldDxhbnk+IHwgdW5kZWZpbmVkID0gbmdNb2Nrc1VuaXZlcnNlLmdldE92ZXJyaWRlcygpLmdldChtb2NrT2YpO1xuICBjb25zdCBjYWxsYmFja3MgPSBjb25maWdHbG9iYWwgPyBtYXBWYWx1ZXMoY29uZmlnR2xvYmFsKSA6IFtdO1xuICBpZiAoaW5zdGFuY2UuX19uZ01vY2tzQ29uZmlnLmluaXQpIHtcbiAgICBjYWxsYmFja3MucHVzaChpbnN0YW5jZS5fX25nTW9ja3NDb25maWcuaW5pdCk7XG4gIH1cbiAgY2FsbGJhY2tzLnB1c2goLi4ubW9ja0luc3RhbmNlQXBwbHkobW9ja09mKSk7XG5cbiAgZm9yIChjb25zdCBjYWxsYmFjayBvZiBjYWxsYmFja3MpIHtcbiAgICBjb25zdCBvdmVycmlkZXMgPSBjYWxsYmFjayhpbnN0YW5jZSwgaW5qZWN0b3IpO1xuICAgIGlmICghb3ZlcnJpZGVzKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG4gICAgbW9ja0hlbHBlclN0dWIoaW5zdGFuY2UsIG92ZXJyaWRlcyk7XG4gIH1cbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgTW9ja0NvbmZpZyB7XG4gIF9fbmdNb2Nrc0NvbmZpZzogbmdNb2Nrc01vY2tDb25maWc7XG59XG5cbmV4cG9ydCBjbGFzcyBNb2NrIHtcbiAgcHJvdGVjdGVkIF9fbmdNb2Nrc0NvbmZpZyE6IG5nTW9ja3NNb2NrQ29uZmlnO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBpbmplY3RvcjogSW5qZWN0b3IgfCBudWxsID0gbnVsbCxcbiAgICBuZ0NvbnRyb2w6IGFueSB8IG51bGwgPSBudWxsLCAvLyBOZ0NvbnRyb2xcbiAgKSB7XG4gICAgY29uc3QgbW9ja09mID0gKHRoaXMuY29uc3RydWN0b3IgYXMgYW55KS5tb2NrT2Y7XG4gICAgY29yZURlZmluZVByb3BlcnR5KHRoaXMsICdfX25nTW9ja3NJbmplY3RvcicsIGluamVjdG9yKTtcbiAgICBjb3JlRGVmaW5lUHJvcGVydHkodGhpcywgJ19fbmdNb2Nrc0N0b3InLCB0aGlzLmNvbnN0cnVjdG9yKTtcbiAgICBmb3IgKGNvbnN0IGtleSBvZiB0aGlzLl9fbmdNb2Nrc0NvbmZpZy5xdWVyeVNjYW5LZXlzIHx8IC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovIFtdKSB7XG4gICAgICBjb3JlRGVmaW5lUHJvcGVydHkodGhpcywgYF9fbmdNb2Nrc1Zjcl8ke2tleX1gLCB1bmRlZmluZWQpO1xuICAgIH1cblxuICAgIC8vIGlzdGFuYnVsIGlnbm9yZSBlbHNlXG4gICAgaWYgKGZ1bmNJc01vY2sodGhpcykpIHtcbiAgICAgIGFwcGx5TmdWYWx1ZUFjY2Vzc29yKHRoaXMsIG5nQ29udHJvbCk7XG4gICAgICBhcHBseU91dHB1dHModGhpcyk7XG4gICAgICBhcHBseVByb3RvdHlwZSh0aGlzLCBPYmplY3QuZ2V0UHJvdG90eXBlT2YodGhpcykpO1xuICAgICAgYXBwbHlNZXRob2RzKHRoaXMsIG1vY2tPZi5wcm90b3R5cGUpO1xuICAgICAgYXBwbHlQcm9wcyh0aGlzLCBtb2NrT2YucHJvdG90eXBlKTtcbiAgICB9XG5cbiAgICAvLyBhbmQgZmFraW5nIHByb3RvdHlwZVxuICAgIE9iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLCBtb2NrT2YucHJvdG90eXBlKTtcblxuICAgIGFwcGx5T3ZlcnJpZGVzKHRoaXMsIG1vY2tPZiwgaW5qZWN0b3IgPz8gdW5kZWZpbmVkKTtcbiAgfVxufVxuXG5jb3JlRGVmaW5lUHJvcGVydHkoTW9jaywgJ3BhcmFtZXRlcnMnLCBbXG4gIFtJbmplY3RvciwgbmV3IE9wdGlvbmFsKCldLFxuICBbY29yZUZvcm0uTmdDb250cm9sIHx8IC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovICgoKSA9PiB1bmRlZmluZWQpLCBuZXcgT3B0aW9uYWwoKSwgbmV3IFNlbGYoKV0sXG5dKTtcbiJdfQ==
|