@angular/core 18.0.0-rc.1 → 18.0.0-rc.3
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/esm2022/primitives/event-dispatch/contract_binary.mjs +3 -3
- package/esm2022/primitives/event-dispatch/index.mjs +2 -2
- package/esm2022/primitives/event-dispatch/src/action_resolver.mjs +8 -17
- package/esm2022/primitives/event-dispatch/src/attribute.mjs +52 -65
- package/esm2022/primitives/event-dispatch/src/cache.mjs +6 -39
- package/esm2022/primitives/event-dispatch/src/dispatcher.mjs +56 -200
- package/esm2022/primitives/event-dispatch/src/earlyeventcontract.mjs +4 -4
- package/esm2022/primitives/event-dispatch/src/event_contract_defines.mjs +1 -6
- package/esm2022/primitives/event-dispatch/src/event_info.mjs +16 -1
- package/esm2022/primitives/event-dispatch/src/eventcontract.mjs +13 -30
- package/esm2022/primitives/event-dispatch/src/key_code.mjs +11 -13
- package/esm2022/primitives/event-dispatch/src/property.mjs +24 -27
- package/esm2022/primitives/event-dispatch/src/register_events.mjs +5 -25
- package/esm2022/primitives/event-dispatch/src/restriction.mjs +2 -2
- package/esm2022/src/application/create_application.mjs +11 -4
- package/esm2022/src/change_detection/scheduling/exhaustive_check_no_changes.mjs +5 -5
- package/esm2022/src/change_detection/scheduling/ng_zone_scheduling.mjs +4 -16
- package/esm2022/src/change_detection/scheduling/zoneless_scheduling.mjs +3 -1
- package/esm2022/src/change_detection/scheduling/zoneless_scheduling_impl.mjs +12 -3
- package/esm2022/src/core_reactivity_export_internal.mjs +1 -3
- package/esm2022/src/core_render3_private_export.mjs +1 -3
- package/esm2022/src/errors.mjs +1 -1
- package/esm2022/src/hydration/event_replay.mjs +55 -82
- package/esm2022/src/hydration/utils.mjs +1 -2
- package/esm2022/src/metadata/directives.mjs +1 -1
- package/esm2022/src/platform/platform_ref.mjs +9 -10
- package/esm2022/src/render3/component_ref.mjs +1 -1
- package/esm2022/src/render3/index.mjs +1 -3
- package/esm2022/src/render3/instructions/change_detection.mjs +17 -6
- package/esm2022/src/render3/instructions/listener.mjs +3 -3
- package/esm2022/src/render3/interfaces/public_definitions.mjs +1 -1
- package/esm2022/src/version.mjs +1 -1
- package/esm2022/testing/src/component_fixture.mjs +2 -2
- package/esm2022/testing/src/logger.mjs +3 -3
- package/esm2022/testing/src/test_bed.mjs +1 -3
- package/esm2022/testing/src/test_bed_compiler.mjs +1 -3
- package/event-dispatch-contract.min.js +1 -1
- package/fesm2022/core.mjs +108 -124
- package/fesm2022/core.mjs.map +1 -1
- package/fesm2022/primitives/event-dispatch.mjs +250 -563
- package/fesm2022/primitives/event-dispatch.mjs.map +1 -1
- package/fesm2022/primitives/signals.mjs +1 -1
- package/fesm2022/rxjs-interop.mjs +1 -1
- package/fesm2022/testing.mjs +2 -4
- package/fesm2022/testing.mjs.map +1 -1
- package/index.d.ts +6 -3
- package/package.json +1 -1
- package/primitives/event-dispatch/index.d.ts +96 -132
- package/primitives/signals/index.d.ts +1 -1
- package/rxjs-interop/index.d.ts +1 -1
- package/schematics/migrations/http-providers/bundle.js +46 -29
- package/schematics/migrations/http-providers/bundle.js.map +3 -3
- package/schematics/migrations/invalid-two-way-bindings/bundle.js +163 -159
- package/schematics/migrations/invalid-two-way-bindings/bundle.js.map +3 -3
- package/schematics/ng-generate/control-flow-migration/bundle.js +171 -167
- package/schematics/ng-generate/control-flow-migration/bundle.js.map +3 -3
- package/schematics/ng-generate/standalone-migration/bundle.js +471 -452
- package/schematics/ng-generate/standalone-migration/bundle.js.map +3 -3
- package/testing/index.d.ts +1 -1
- package/esm2022/primitives/event-dispatch/src/base_dispatcher.mjs +0 -94
- package/esm2022/primitives/event-dispatch/src/custom_events.mjs +0 -102
- package/esm2022/primitives/event-dispatch/src/legacy_dispatcher.mjs +0 -9
- package/esm2022/primitives/event-dispatch/src/replay.mjs +0 -389
package/testing/index.d.ts
CHANGED
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright Google LLC All Rights Reserved.
|
|
4
|
-
*
|
|
5
|
-
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
-
* found in the LICENSE file at https://angular.io/license
|
|
7
|
-
*/
|
|
8
|
-
import { EventInfoWrapper } from './event_info';
|
|
9
|
-
import { Restriction } from './restriction';
|
|
10
|
-
/**
|
|
11
|
-
* Receives a DOM event, determines the jsaction associated with the source
|
|
12
|
-
* element of the DOM event, and invokes the handler associated with the
|
|
13
|
-
* jsaction.
|
|
14
|
-
*/
|
|
15
|
-
export class BaseDispatcher {
|
|
16
|
-
/**
|
|
17
|
-
* Options are:
|
|
18
|
-
* 1. `eventReplayer`: When the event contract dispatches replay events
|
|
19
|
-
* to the Dispatcher, the Dispatcher collects them and in the next tick
|
|
20
|
-
* dispatches them to the `eventReplayer`.
|
|
21
|
-
* @param dispatchDelegate A function that should handle dispatching an `EventInfoWrapper` to handlers.
|
|
22
|
-
*/
|
|
23
|
-
constructor(dispatchDelegate, { eventReplayer = undefined } = {}) {
|
|
24
|
-
this.dispatchDelegate = dispatchDelegate;
|
|
25
|
-
/** The queue of events. */
|
|
26
|
-
this.queuedEventInfoWrappers = [];
|
|
27
|
-
/** Whether the event replay is scheduled. */
|
|
28
|
-
this.eventReplayScheduled = false;
|
|
29
|
-
this.eventReplayer = eventReplayer;
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Receives an event or the event queue from the EventContract. The event
|
|
33
|
-
* queue is copied and it attempts to replay.
|
|
34
|
-
* If event info is passed in it looks for an action handler that can handle
|
|
35
|
-
* the given event. If there is no handler registered queues the event and
|
|
36
|
-
* checks if a loader is registered for the given namespace. If so, calls it.
|
|
37
|
-
*
|
|
38
|
-
* Alternatively, if in global dispatch mode, calls all registered global
|
|
39
|
-
* handlers for the appropriate event type.
|
|
40
|
-
*
|
|
41
|
-
* The three functionalities of this call are deliberately not split into
|
|
42
|
-
* three methods (and then declared as an abstract interface), because the
|
|
43
|
-
* interface is used by EventContract, which lives in a different jsbinary.
|
|
44
|
-
* Therefore the interface between the three is defined entirely in terms that
|
|
45
|
-
* are invariant under jscompiler processing (Function and Array, as opposed
|
|
46
|
-
* to a custom type with method names).
|
|
47
|
-
*
|
|
48
|
-
* @param eventInfo The info for the event that triggered this call or the
|
|
49
|
-
* queue of events from EventContract.
|
|
50
|
-
*/
|
|
51
|
-
dispatch(eventInfo) {
|
|
52
|
-
const eventInfoWrapper = new EventInfoWrapper(eventInfo);
|
|
53
|
-
if (eventInfoWrapper.getIsReplay()) {
|
|
54
|
-
if (!this.eventReplayer) {
|
|
55
|
-
return;
|
|
56
|
-
}
|
|
57
|
-
this.queueEventInfoWrapper(eventInfoWrapper);
|
|
58
|
-
this.scheduleEventReplay();
|
|
59
|
-
return;
|
|
60
|
-
}
|
|
61
|
-
this.dispatchDelegate(eventInfoWrapper);
|
|
62
|
-
}
|
|
63
|
-
/** Queue an `EventInfoWrapper` for replay. */
|
|
64
|
-
queueEventInfoWrapper(eventInfoWrapper) {
|
|
65
|
-
this.queuedEventInfoWrappers.push(eventInfoWrapper);
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* Replays queued events, if any. The replaying will happen in its own
|
|
69
|
-
* stack once the current flow cedes control. This is done to mimic
|
|
70
|
-
* browser event handling.
|
|
71
|
-
*/
|
|
72
|
-
scheduleEventReplay() {
|
|
73
|
-
if (this.eventReplayScheduled ||
|
|
74
|
-
!this.eventReplayer ||
|
|
75
|
-
this.queuedEventInfoWrappers.length === 0) {
|
|
76
|
-
return;
|
|
77
|
-
}
|
|
78
|
-
this.eventReplayScheduled = true;
|
|
79
|
-
Promise.resolve().then(() => {
|
|
80
|
-
this.eventReplayScheduled = false;
|
|
81
|
-
this.eventReplayer(this.queuedEventInfoWrappers);
|
|
82
|
-
});
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
/**
|
|
86
|
-
* Registers deferred functionality for an EventContract and a Jsaction
|
|
87
|
-
* Dispatcher.
|
|
88
|
-
*/
|
|
89
|
-
export function registerDispatcher(eventContract, dispatcher) {
|
|
90
|
-
eventContract.ecrd((eventInfo) => {
|
|
91
|
-
dispatcher.dispatch(eventInfo);
|
|
92
|
-
}, Restriction.I_AM_THE_JSACTION_FRAMEWORK);
|
|
93
|
-
}
|
|
94
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZV9kaXNwYXRjaGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9wcmltaXRpdmVzL2V2ZW50LWRpc3BhdGNoL3NyYy9iYXNlX2Rpc3BhdGNoZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBRUgsT0FBTyxFQUFZLGdCQUFnQixFQUFDLE1BQU0sY0FBYyxDQUFDO0FBRXpELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFVMUM7Ozs7R0FJRztBQUNILE1BQU0sT0FBTyxjQUFjO0lBUXpCOzs7Ozs7T0FNRztJQUNILFlBQ21CLGdCQUE4RCxFQUMvRSxFQUFDLGFBQWEsR0FBRyxTQUFTLEtBQWdDLEVBQUU7UUFEM0MscUJBQWdCLEdBQWhCLGdCQUFnQixDQUE4QztRQWZqRiwyQkFBMkI7UUFDViw0QkFBdUIsR0FBdUIsRUFBRSxDQUFDO1FBR2xFLDZDQUE2QztRQUNyQyx5QkFBb0IsR0FBRyxLQUFLLENBQUM7UUFhbkMsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7SUFDckMsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O09BbUJHO0lBQ0gsUUFBUSxDQUFDLFNBQW9CO1FBQzNCLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN6RCxJQUFJLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUM7WUFDbkMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFDeEIsT0FBTztZQUNULENBQUM7WUFDRCxJQUFJLENBQUMscUJBQXFCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztZQUM3QyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztZQUMzQixPQUFPO1FBQ1QsQ0FBQztRQUNELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCw4Q0FBOEM7SUFDOUMscUJBQXFCLENBQUMsZ0JBQWtDO1FBQ3RELElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILG1CQUFtQjtRQUNqQixJQUNFLElBQUksQ0FBQyxvQkFBb0I7WUFDekIsQ0FBQyxJQUFJLENBQUMsYUFBYTtZQUNuQixJQUFJLENBQUMsdUJBQXVCLENBQUMsTUFBTSxLQUFLLENBQUMsRUFDekMsQ0FBQztZQUNELE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQztRQUNqQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUMxQixJQUFJLENBQUMsb0JBQW9CLEdBQUcsS0FBSyxDQUFDO1lBQ2xDLElBQUksQ0FBQyxhQUFjLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFDcEQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsa0JBQWtCLENBQ2hDLGFBQXFDLEVBQ3JDLFVBQTBCO0lBRTFCLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFvQixFQUFFLEVBQUU7UUFDMUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNqQyxDQUFDLEVBQUUsV0FBVyxDQUFDLDJCQUEyQixDQUFDLENBQUM7QUFDOUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQge0V2ZW50SW5mbywgRXZlbnRJbmZvV3JhcHBlcn0gZnJvbSAnLi9ldmVudF9pbmZvJztcbmltcG9ydCB7VW5yZW5hbWVkRXZlbnRDb250cmFjdH0gZnJvbSAnLi9ldmVudGNvbnRyYWN0JztcbmltcG9ydCB7UmVzdHJpY3Rpb259IGZyb20gJy4vcmVzdHJpY3Rpb24nO1xuLyoqXG4gKiBBIHJlcGxheWVyIGlzIGEgZnVuY3Rpb24gdGhhdCBpcyBjYWxsZWQgd2hlbiB0aGVyZSBhcmUgcXVldWVkIGV2ZW50cyxcbiAqIGVpdGhlciBmcm9tIHRoZSBgRXZlbnRDb250cmFjdGAgb3Igd2hlbiB0aGVyZSBhcmUgbm8gZGV0ZWN0ZWQgaGFuZGxlcnMuXG4gKi9cbmV4cG9ydCB0eXBlIFJlcGxheWVyID0gKGV2ZW50SW5mb1dyYXBwZXJzOiBFdmVudEluZm9XcmFwcGVyW10pID0+IHZvaWQ7XG4vKipcbiAqIEEgaGFuZGxlciBpcyBkaXNwYXRjaGVkIHRvIGR1cmluZyBub3JtYWwgaGFuZGxpbmcuXG4gKi9cbmV4cG9ydCB0eXBlIEV2ZW50SW5mb1dyYXBwZXJIYW5kbGVyID0gKGV2ZW50SW5mb1dyYXBwZXI6IEV2ZW50SW5mb1dyYXBwZXIpID0+IHZvaWQ7XG4vKipcbiAqIFJlY2VpdmVzIGEgRE9NIGV2ZW50LCBkZXRlcm1pbmVzIHRoZSBqc2FjdGlvbiBhc3NvY2lhdGVkIHdpdGggdGhlIHNvdXJjZVxuICogZWxlbWVudCBvZiB0aGUgRE9NIGV2ZW50LCBhbmQgaW52b2tlcyB0aGUgaGFuZGxlciBhc3NvY2lhdGVkIHdpdGggdGhlXG4gKiBqc2FjdGlvbi5cbiAqL1xuZXhwb3J0IGNsYXNzIEJhc2VEaXNwYXRjaGVyIHtcbiAgLyoqIFRoZSBxdWV1ZSBvZiBldmVudHMuICovXG4gIHByaXZhdGUgcmVhZG9ubHkgcXVldWVkRXZlbnRJbmZvV3JhcHBlcnM6IEV2ZW50SW5mb1dyYXBwZXJbXSA9IFtdO1xuICAvKiogVGhlIHJlcGxheWVyIGZ1bmN0aW9uIHRvIGJlIGNhbGxlZCB3aGVuIHRoZXJlIGFyZSBxdWV1ZWQgZXZlbnRzLiAqL1xuICBwcml2YXRlIGV2ZW50UmVwbGF5ZXI/OiBSZXBsYXllcjtcbiAgLyoqIFdoZXRoZXIgdGhlIGV2ZW50IHJlcGxheSBpcyBzY2hlZHVsZWQuICovXG4gIHByaXZhdGUgZXZlbnRSZXBsYXlTY2hlZHVsZWQgPSBmYWxzZTtcblxuICAvKipcbiAgICogT3B0aW9ucyBhcmU6XG4gICAqICAgMS4gYGV2ZW50UmVwbGF5ZXJgOiBXaGVuIHRoZSBldmVudCBjb250cmFjdCBkaXNwYXRjaGVzIHJlcGxheSBldmVudHNcbiAgICogICAgICB0byB0aGUgRGlzcGF0Y2hlciwgdGhlIERpc3BhdGNoZXIgY29sbGVjdHMgdGhlbSBhbmQgaW4gdGhlIG5leHQgdGlja1xuICAgKiAgICAgIGRpc3BhdGNoZXMgdGhlbSB0byB0aGUgYGV2ZW50UmVwbGF5ZXJgLlxuICAgKiBAcGFyYW0gZGlzcGF0Y2hEZWxlZ2F0ZSBBIGZ1bmN0aW9uIHRoYXQgc2hvdWxkIGhhbmRsZSBkaXNwYXRjaGluZyBhbiBgRXZlbnRJbmZvV3JhcHBlcmAgdG8gaGFuZGxlcnMuXG4gICAqL1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRpc3BhdGNoRGVsZWdhdGU6IChldmVudEluZm9XcmFwcGVyOiBFdmVudEluZm9XcmFwcGVyKSA9PiB2b2lkLFxuICAgIHtldmVudFJlcGxheWVyID0gdW5kZWZpbmVkfToge2V2ZW50UmVwbGF5ZXI/OiBSZXBsYXllcn0gPSB7fSxcbiAgKSB7XG4gICAgdGhpcy5ldmVudFJlcGxheWVyID0gZXZlbnRSZXBsYXllcjtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWNlaXZlcyBhbiBldmVudCBvciB0aGUgZXZlbnQgcXVldWUgZnJvbSB0aGUgRXZlbnRDb250cmFjdC4gVGhlIGV2ZW50XG4gICAqIHF1ZXVlIGlzIGNvcGllZCBhbmQgaXQgYXR0ZW1wdHMgdG8gcmVwbGF5LlxuICAgKiBJZiBldmVudCBpbmZvIGlzIHBhc3NlZCBpbiBpdCBsb29rcyBmb3IgYW4gYWN0aW9uIGhhbmRsZXIgdGhhdCBjYW4gaGFuZGxlXG4gICAqIHRoZSBnaXZlbiBldmVudC4gIElmIHRoZXJlIGlzIG5vIGhhbmRsZXIgcmVnaXN0ZXJlZCBxdWV1ZXMgdGhlIGV2ZW50IGFuZFxuICAgKiBjaGVja3MgaWYgYSBsb2FkZXIgaXMgcmVnaXN0ZXJlZCBmb3IgdGhlIGdpdmVuIG5hbWVzcGFjZS4gSWYgc28sIGNhbGxzIGl0LlxuICAgKlxuICAgKiBBbHRlcm5hdGl2ZWx5LCBpZiBpbiBnbG9iYWwgZGlzcGF0Y2ggbW9kZSwgY2FsbHMgYWxsIHJlZ2lzdGVyZWQgZ2xvYmFsXG4gICAqIGhhbmRsZXJzIGZvciB0aGUgYXBwcm9wcmlhdGUgZXZlbnQgdHlwZS5cbiAgICpcbiAgICogVGhlIHRocmVlIGZ1bmN0aW9uYWxpdGllcyBvZiB0aGlzIGNhbGwgYXJlIGRlbGliZXJhdGVseSBub3Qgc3BsaXQgaW50b1xuICAgKiB0aHJlZSBtZXRob2RzIChhbmQgdGhlbiBkZWNsYXJlZCBhcyBhbiBhYnN0cmFjdCBpbnRlcmZhY2UpLCBiZWNhdXNlIHRoZVxuICAgKiBpbnRlcmZhY2UgaXMgdXNlZCBieSBFdmVudENvbnRyYWN0LCB3aGljaCBsaXZlcyBpbiBhIGRpZmZlcmVudCBqc2JpbmFyeS5cbiAgICogVGhlcmVmb3JlIHRoZSBpbnRlcmZhY2UgYmV0d2VlbiB0aGUgdGhyZWUgaXMgZGVmaW5lZCBlbnRpcmVseSBpbiB0ZXJtcyB0aGF0XG4gICAqIGFyZSBpbnZhcmlhbnQgdW5kZXIganNjb21waWxlciBwcm9jZXNzaW5nIChGdW5jdGlvbiBhbmQgQXJyYXksIGFzIG9wcG9zZWRcbiAgICogdG8gYSBjdXN0b20gdHlwZSB3aXRoIG1ldGhvZCBuYW1lcykuXG4gICAqXG4gICAqIEBwYXJhbSBldmVudEluZm8gVGhlIGluZm8gZm9yIHRoZSBldmVudCB0aGF0IHRyaWdnZXJlZCB0aGlzIGNhbGwgb3IgdGhlXG4gICAqICAgICBxdWV1ZSBvZiBldmVudHMgZnJvbSBFdmVudENvbnRyYWN0LlxuICAgKi9cbiAgZGlzcGF0Y2goZXZlbnRJbmZvOiBFdmVudEluZm8pOiB2b2lkIHtcbiAgICBjb25zdCBldmVudEluZm9XcmFwcGVyID0gbmV3IEV2ZW50SW5mb1dyYXBwZXIoZXZlbnRJbmZvKTtcbiAgICBpZiAoZXZlbnRJbmZvV3JhcHBlci5nZXRJc1JlcGxheSgpKSB7XG4gICAgICBpZiAoIXRoaXMuZXZlbnRSZXBsYXllcikge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICB0aGlzLnF1ZXVlRXZlbnRJbmZvV3JhcHBlcihldmVudEluZm9XcmFwcGVyKTtcbiAgICAgIHRoaXMuc2NoZWR1bGVFdmVudFJlcGxheSgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmRpc3BhdGNoRGVsZWdhdGUoZXZlbnRJbmZvV3JhcHBlcik7XG4gIH1cblxuICAvKiogUXVldWUgYW4gYEV2ZW50SW5mb1dyYXBwZXJgIGZvciByZXBsYXkuICovXG4gIHF1ZXVlRXZlbnRJbmZvV3JhcHBlcihldmVudEluZm9XcmFwcGVyOiBFdmVudEluZm9XcmFwcGVyKSB7XG4gICAgdGhpcy5xdWV1ZWRFdmVudEluZm9XcmFwcGVycy5wdXNoKGV2ZW50SW5mb1dyYXBwZXIpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlcGxheXMgcXVldWVkIGV2ZW50cywgaWYgYW55LiBUaGUgcmVwbGF5aW5nIHdpbGwgaGFwcGVuIGluIGl0cyBvd25cbiAgICogc3RhY2sgb25jZSB0aGUgY3VycmVudCBmbG93IGNlZGVzIGNvbnRyb2wuIFRoaXMgaXMgZG9uZSB0byBtaW1pY1xuICAgKiBicm93c2VyIGV2ZW50IGhhbmRsaW5nLlxuICAgKi9cbiAgc2NoZWR1bGVFdmVudFJlcGxheSgpIHtcbiAgICBpZiAoXG4gICAgICB0aGlzLmV2ZW50UmVwbGF5U2NoZWR1bGVkIHx8XG4gICAgICAhdGhpcy5ldmVudFJlcGxheWVyIHx8XG4gICAgICB0aGlzLnF1ZXVlZEV2ZW50SW5mb1dyYXBwZXJzLmxlbmd0aCA9PT0gMFxuICAgICkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmV2ZW50UmVwbGF5U2NoZWR1bGVkID0gdHJ1ZTtcbiAgICBQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpID0+IHtcbiAgICAgIHRoaXMuZXZlbnRSZXBsYXlTY2hlZHVsZWQgPSBmYWxzZTtcbiAgICAgIHRoaXMuZXZlbnRSZXBsYXllciEodGhpcy5xdWV1ZWRFdmVudEluZm9XcmFwcGVycyk7XG4gICAgfSk7XG4gIH1cbn1cblxuLyoqXG4gKiBSZWdpc3RlcnMgZGVmZXJyZWQgZnVuY3Rpb25hbGl0eSBmb3IgYW4gRXZlbnRDb250cmFjdCBhbmQgYSBKc2FjdGlvblxuICogRGlzcGF0Y2hlci5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlZ2lzdGVyRGlzcGF0Y2hlcihcbiAgZXZlbnRDb250cmFjdDogVW5yZW5hbWVkRXZlbnRDb250cmFjdCxcbiAgZGlzcGF0Y2hlcjogQmFzZURpc3BhdGNoZXIsXG4pIHtcbiAgZXZlbnRDb250cmFjdC5lY3JkKChldmVudEluZm86IEV2ZW50SW5mbykgPT4ge1xuICAgIGRpc3BhdGNoZXIuZGlzcGF0Y2goZXZlbnRJbmZvKTtcbiAgfSwgUmVzdHJpY3Rpb24uSV9BTV9USEVfSlNBQ1RJT05fRlJBTUVXT1JLKTtcbn1cbiJdfQ==
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright Google LLC All Rights Reserved.
|
|
4
|
-
*
|
|
5
|
-
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
-
* found in the LICENSE file at https://angular.io/license
|
|
7
|
-
*/
|
|
8
|
-
import { EventType } from './/event_type';
|
|
9
|
-
/**
|
|
10
|
-
* Create a custom event with the specified data.
|
|
11
|
-
* @param type The type of the action, e.g., 'submit'.
|
|
12
|
-
* @param data An optional data payload.
|
|
13
|
-
* @param triggeringEvent The event that triggers this custom event. This can be
|
|
14
|
-
* accessed from the custom event's action flow like so:
|
|
15
|
-
* actionFlow.event().detail.triggeringEvent.
|
|
16
|
-
* @return The new custom event.
|
|
17
|
-
*/
|
|
18
|
-
export function createCustomEvent(type, data, triggeringEvent) {
|
|
19
|
-
let event;
|
|
20
|
-
const unrenamedDetail = {
|
|
21
|
-
'_type': type,
|
|
22
|
-
};
|
|
23
|
-
const renamedDetail = {
|
|
24
|
-
type,
|
|
25
|
-
data,
|
|
26
|
-
triggeringEvent,
|
|
27
|
-
};
|
|
28
|
-
const detail = { ...unrenamedDetail, ...renamedDetail };
|
|
29
|
-
try {
|
|
30
|
-
// We don't use the CustomEvent constructor directly since it isn't
|
|
31
|
-
// supported in IE 9 or 10 and initCustomEvent below works just fine.
|
|
32
|
-
event = document.createEvent('CustomEvent');
|
|
33
|
-
event.initCustomEvent(EventType.CUSTOM, true, false, detail);
|
|
34
|
-
}
|
|
35
|
-
catch (e) {
|
|
36
|
-
// If custom events aren't supported, fall back to custom-named HTMLEvent.
|
|
37
|
-
// Fallback used by Android Gingerbread, FF4-5.
|
|
38
|
-
// Hack to emulate `CustomEvent`, `HTMLEvents` doesn't satisfy `CustomEvent`
|
|
39
|
-
// type.
|
|
40
|
-
// tslint:disable-next-line:no-any
|
|
41
|
-
event = document.createEvent('HTMLEvents');
|
|
42
|
-
event.initEvent(EventType.CUSTOM, true, false);
|
|
43
|
-
// Hack to emulate `CustomEvent`, `detail` is readonly on `CustomEvent`.
|
|
44
|
-
// tslint:disable-next-line:no-any
|
|
45
|
-
event['detail'] = detail;
|
|
46
|
-
}
|
|
47
|
-
return event;
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* Fires a custom event with an optional payload. Only intended to be consumed
|
|
51
|
-
* by jsaction itself. Supported in Firefox 6+, IE 9+, and all Chrome versions.
|
|
52
|
-
*
|
|
53
|
-
* `bootstrapCustomEventSupport` is required to add a listener that handles the
|
|
54
|
-
* event.
|
|
55
|
-
*
|
|
56
|
-
* @param target The target element.
|
|
57
|
-
* @param type The type of the action, e.g., 'submit'.
|
|
58
|
-
* @param data An optional data payload.
|
|
59
|
-
* @param triggeringEvent An optional data for the Event triggered this custom
|
|
60
|
-
* event.
|
|
61
|
-
*/
|
|
62
|
-
export function fireCustomEvent(target, type, data, triggeringEvent) {
|
|
63
|
-
const event = createCustomEvent(type, data, triggeringEvent);
|
|
64
|
-
target.dispatchEvent(event);
|
|
65
|
-
}
|
|
66
|
-
/**
|
|
67
|
-
* Bootstraps `CustomEvent` support on the container.
|
|
68
|
-
*
|
|
69
|
-
* This is required to handle events fired by `fireCustomEvent` in the `container`.
|
|
70
|
-
*
|
|
71
|
-
* @param container The JSAction container to add an event listener on.
|
|
72
|
-
* @param trigger A function that can trigger JSAction Event dispatch. Generally this function
|
|
73
|
-
* should delegate to an `EventContract` handler for the event type provided defined by
|
|
74
|
-
* `event.detail['_type']`.
|
|
75
|
-
* @returns A function that removes the event listener.
|
|
76
|
-
*/
|
|
77
|
-
export function bootstrapCustomEventSupport(container, trigger) {
|
|
78
|
-
const customEventListener = (event) => {
|
|
79
|
-
let customEvent = event;
|
|
80
|
-
const detail = customEvent.detail;
|
|
81
|
-
// For custom events, use a secondary dispatch based on the internal
|
|
82
|
-
// custom type of the event.
|
|
83
|
-
if (!detail || !detail['_type']) {
|
|
84
|
-
// This should never happen.
|
|
85
|
-
return;
|
|
86
|
-
}
|
|
87
|
-
// Mirrors code from Wiz's internal `trigger()` method.
|
|
88
|
-
const syntheticCustomEvent = {
|
|
89
|
-
'type': detail['_type'],
|
|
90
|
-
'target': event.target,
|
|
91
|
-
'bubbles': true,
|
|
92
|
-
detail,
|
|
93
|
-
};
|
|
94
|
-
// tslint:disable-next-line:no-any
|
|
95
|
-
trigger(syntheticCustomEvent);
|
|
96
|
-
};
|
|
97
|
-
container.addEventListener('_custom', customEventListener);
|
|
98
|
-
return () => {
|
|
99
|
-
container.removeEventListener('_custom', customEventListener);
|
|
100
|
-
};
|
|
101
|
-
}
|
|
102
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tX2V2ZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvcHJpbWl0aXZlcy9ldmVudC1kaXNwYXRjaC9zcmMvY3VzdG9tX2V2ZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBZXhDOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxVQUFVLGlCQUFpQixDQUFJLElBQVksRUFBRSxJQUFRLEVBQUUsZUFBdUI7SUFDbEYsSUFBSSxLQUFxRSxDQUFDO0lBQzFFLE1BQU0sZUFBZSxHQUErQjtRQUNsRCxPQUFPLEVBQUUsSUFBSTtLQUNkLENBQUM7SUFDRixNQUFNLGFBQWEsR0FBeUI7UUFDMUMsSUFBSTtRQUNKLElBQUk7UUFDSixlQUFlO0tBQ2hCLENBQUM7SUFDRixNQUFNLE1BQU0sR0FBRyxFQUFDLEdBQUcsZUFBZSxFQUFFLEdBQUcsYUFBYSxFQUFDLENBQUM7SUFDdEQsSUFBSSxDQUFDO1FBQ0gsbUVBQW1FO1FBQ25FLHFFQUFxRTtRQUNyRSxLQUFLLEdBQUcsUUFBUSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUM1QyxLQUFLLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUNYLDBFQUEwRTtRQUMxRSwrQ0FBK0M7UUFFL0MsNEVBQTRFO1FBQzVFLFFBQVE7UUFDUixrQ0FBa0M7UUFDbEMsS0FBSyxHQUFHLFFBQVEsQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFRLENBQUM7UUFDbEQsS0FBSyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMvQyx3RUFBd0U7UUFDeEUsa0NBQWtDO1FBQ2pDLEtBQWEsQ0FBQyxRQUFRLENBQUMsR0FBRyxNQUFNLENBQUM7SUFDcEMsQ0FBQztJQUVELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQztBQUVEOzs7Ozs7Ozs7Ozs7R0FZRztBQUNILE1BQU0sVUFBVSxlQUFlLENBQzdCLE1BQWUsRUFDZixJQUFZLEVBQ1osSUFBUSxFQUNSLGVBQXVCO0lBRXZCLE1BQU0sS0FBSyxHQUFHLGlCQUFpQixDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsZUFBZSxDQUFDLENBQUM7SUFDN0QsTUFBTSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUM5QixDQUFDO0FBRUQ7Ozs7Ozs7Ozs7R0FVRztBQUNILE1BQU0sVUFBVSwyQkFBMkIsQ0FBQyxTQUFrQixFQUFFLE9BQStCO0lBQzdGLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxLQUFZLEVBQUUsRUFBRTtRQUMzQyxJQUFJLFdBQVcsR0FBRyxLQUFvQixDQUFDO1FBQ3ZDLE1BQU0sTUFBTSxHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUM7UUFDbEMsb0VBQW9FO1FBQ3BFLDRCQUE0QjtRQUM1QixJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDaEMsNEJBQTRCO1lBQzVCLE9BQU87UUFDVCxDQUFDO1FBQ0QsdURBQXVEO1FBQ3ZELE1BQU0sb0JBQW9CLEdBQUc7WUFDM0IsTUFBTSxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUM7WUFDdkIsUUFBUSxFQUFFLEtBQUssQ0FBQyxNQUFNO1lBQ3RCLFNBQVMsRUFBRSxJQUFJO1lBQ2YsTUFBTTtTQUNQLENBQUM7UUFDRixrQ0FBa0M7UUFDbEMsT0FBTyxDQUFDLG9CQUEyQixDQUFDLENBQUM7SUFDdkMsQ0FBQyxDQUFDO0lBQ0YsU0FBUyxDQUFDLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO0lBQzNELE9BQU8sR0FBRyxFQUFFO1FBQ1YsU0FBUyxDQUFDLG1CQUFtQixDQUFDLFNBQVMsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO0lBQ2hFLENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHtFdmVudFR5cGV9IGZyb20gJy4vL2V2ZW50X3R5cGUnO1xuXG4vLyBXZSB1c2UgJ190eXBlJyBmb3IgdGhlIGV2ZW50IGNvbnRyYWN0LCB3aGljaCBsaXZlcyBpbiBhIHNlcGFyYXRlXG4vLyBjb21waWxhdGlvbiB1bml0LlxuZGVjbGFyZSBpbnRlcmZhY2UgVW5yZW5hbWVkQ3VzdG9tRXZlbnREZXRhaWwge1xuICBfdHlwZTogc3RyaW5nO1xufVxuXG4vKiogVGhlIGRldGFpbCBpbnRlcmZhY2UgcHJvdmlkZWQgZm9yIGN1c3RvbSBldmVudHMuICovXG5leHBvcnQgaW50ZXJmYWNlIEN1c3RvbUV2ZW50RGV0YWlsPFQ+IHtcbiAgdHlwZTogc3RyaW5nO1xuICBkYXRhPzogVDtcbiAgdHJpZ2dlcmluZ0V2ZW50PzogRXZlbnQ7XG59XG5cbi8qKlxuICogQ3JlYXRlIGEgY3VzdG9tIGV2ZW50IHdpdGggdGhlIHNwZWNpZmllZCBkYXRhLlxuICogQHBhcmFtIHR5cGUgVGhlIHR5cGUgb2YgdGhlIGFjdGlvbiwgZS5nLiwgJ3N1Ym1pdCcuXG4gKiBAcGFyYW0gZGF0YSBBbiBvcHRpb25hbCBkYXRhIHBheWxvYWQuXG4gKiBAcGFyYW0gdHJpZ2dlcmluZ0V2ZW50IFRoZSBldmVudCB0aGF0IHRyaWdnZXJzIHRoaXMgY3VzdG9tIGV2ZW50LiBUaGlzIGNhbiBiZVxuICogICAgIGFjY2Vzc2VkIGZyb20gdGhlIGN1c3RvbSBldmVudCdzIGFjdGlvbiBmbG93IGxpa2Ugc286XG4gKiAgICAgYWN0aW9uRmxvdy5ldmVudCgpLmRldGFpbC50cmlnZ2VyaW5nRXZlbnQuXG4gKiBAcmV0dXJuIFRoZSBuZXcgY3VzdG9tIGV2ZW50LlxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQ3VzdG9tRXZlbnQ8VD4odHlwZTogc3RyaW5nLCBkYXRhPzogVCwgdHJpZ2dlcmluZ0V2ZW50PzogRXZlbnQpOiBFdmVudCB7XG4gIGxldCBldmVudDogQ3VzdG9tRXZlbnQ8Q3VzdG9tRXZlbnREZXRhaWw8VD4gJiBVbnJlbmFtZWRDdXN0b21FdmVudERldGFpbD47XG4gIGNvbnN0IHVucmVuYW1lZERldGFpbDogVW5yZW5hbWVkQ3VzdG9tRXZlbnREZXRhaWwgPSB7XG4gICAgJ190eXBlJzogdHlwZSxcbiAgfTtcbiAgY29uc3QgcmVuYW1lZERldGFpbDogQ3VzdG9tRXZlbnREZXRhaWw8VD4gPSB7XG4gICAgdHlwZSxcbiAgICBkYXRhLFxuICAgIHRyaWdnZXJpbmdFdmVudCxcbiAgfTtcbiAgY29uc3QgZGV0YWlsID0gey4uLnVucmVuYW1lZERldGFpbCwgLi4ucmVuYW1lZERldGFpbH07XG4gIHRyeSB7XG4gICAgLy8gV2UgZG9uJ3QgdXNlIHRoZSBDdXN0b21FdmVudCBjb25zdHJ1Y3RvciBkaXJlY3RseSBzaW5jZSBpdCBpc24ndFxuICAgIC8vIHN1cHBvcnRlZCBpbiBJRSA5IG9yIDEwIGFuZCBpbml0Q3VzdG9tRXZlbnQgYmVsb3cgd29ya3MganVzdCBmaW5lLlxuICAgIGV2ZW50ID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0N1c3RvbUV2ZW50Jyk7XG4gICAgZXZlbnQuaW5pdEN1c3RvbUV2ZW50KEV2ZW50VHlwZS5DVVNUT00sIHRydWUsIGZhbHNlLCBkZXRhaWwpO1xuICB9IGNhdGNoIChlKSB7XG4gICAgLy8gSWYgY3VzdG9tIGV2ZW50cyBhcmVuJ3Qgc3VwcG9ydGVkLCBmYWxsIGJhY2sgdG8gY3VzdG9tLW5hbWVkIEhUTUxFdmVudC5cbiAgICAvLyBGYWxsYmFjayB1c2VkIGJ5IEFuZHJvaWQgR2luZ2VyYnJlYWQsIEZGNC01LlxuXG4gICAgLy8gSGFjayB0byBlbXVsYXRlIGBDdXN0b21FdmVudGAsIGBIVE1MRXZlbnRzYCBkb2Vzbid0IHNhdGlzZnkgYEN1c3RvbUV2ZW50YFxuICAgIC8vIHR5cGUuXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWFueVxuICAgIGV2ZW50ID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0hUTUxFdmVudHMnKSBhcyBhbnk7XG4gICAgZXZlbnQuaW5pdEV2ZW50KEV2ZW50VHlwZS5DVVNUT00sIHRydWUsIGZhbHNlKTtcbiAgICAvLyBIYWNrIHRvIGVtdWxhdGUgYEN1c3RvbUV2ZW50YCwgYGRldGFpbGAgaXMgcmVhZG9ubHkgb24gYEN1c3RvbUV2ZW50YC5cbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tYW55XG4gICAgKGV2ZW50IGFzIGFueSlbJ2RldGFpbCddID0gZGV0YWlsO1xuICB9XG5cbiAgcmV0dXJuIGV2ZW50O1xufVxuXG4vKipcbiAqIEZpcmVzIGEgY3VzdG9tIGV2ZW50IHdpdGggYW4gb3B0aW9uYWwgcGF5bG9hZC4gT25seSBpbnRlbmRlZCB0byBiZSBjb25zdW1lZFxuICogYnkganNhY3Rpb24gaXRzZWxmLiBTdXBwb3J0ZWQgaW4gRmlyZWZveCA2KywgSUUgOSssIGFuZCBhbGwgQ2hyb21lIHZlcnNpb25zLlxuICpcbiAqIGBib290c3RyYXBDdXN0b21FdmVudFN1cHBvcnRgIGlzIHJlcXVpcmVkIHRvIGFkZCBhIGxpc3RlbmVyIHRoYXQgaGFuZGxlcyB0aGVcbiAqIGV2ZW50LlxuICpcbiAqIEBwYXJhbSB0YXJnZXQgVGhlIHRhcmdldCBlbGVtZW50LlxuICogQHBhcmFtIHR5cGUgVGhlIHR5cGUgb2YgdGhlIGFjdGlvbiwgZS5nLiwgJ3N1Ym1pdCcuXG4gKiBAcGFyYW0gZGF0YSBBbiBvcHRpb25hbCBkYXRhIHBheWxvYWQuXG4gKiBAcGFyYW0gdHJpZ2dlcmluZ0V2ZW50IEFuIG9wdGlvbmFsIGRhdGEgZm9yIHRoZSBFdmVudCB0cmlnZ2VyZWQgdGhpcyBjdXN0b21cbiAqICAgICBldmVudC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZpcmVDdXN0b21FdmVudDxUPihcbiAgdGFyZ2V0OiBFbGVtZW50LFxuICB0eXBlOiBzdHJpbmcsXG4gIGRhdGE/OiBULFxuICB0cmlnZ2VyaW5nRXZlbnQ/OiBFdmVudCxcbikge1xuICBjb25zdCBldmVudCA9IGNyZWF0ZUN1c3RvbUV2ZW50KHR5cGUsIGRhdGEsIHRyaWdnZXJpbmdFdmVudCk7XG4gIHRhcmdldC5kaXNwYXRjaEV2ZW50KGV2ZW50KTtcbn1cblxuLyoqXG4gKiBCb290c3RyYXBzIGBDdXN0b21FdmVudGAgc3VwcG9ydCBvbiB0aGUgY29udGFpbmVyLlxuICpcbiAqIFRoaXMgaXMgcmVxdWlyZWQgdG8gaGFuZGxlIGV2ZW50cyBmaXJlZCBieSBgZmlyZUN1c3RvbUV2ZW50YCBpbiB0aGUgYGNvbnRhaW5lcmAuXG4gKlxuICogQHBhcmFtIGNvbnRhaW5lciBUaGUgSlNBY3Rpb24gY29udGFpbmVyIHRvIGFkZCBhbiBldmVudCBsaXN0ZW5lciBvbi5cbiAqIEBwYXJhbSB0cmlnZ2VyIEEgZnVuY3Rpb24gdGhhdCBjYW4gdHJpZ2dlciBKU0FjdGlvbiBFdmVudCBkaXNwYXRjaC4gR2VuZXJhbGx5IHRoaXMgZnVuY3Rpb25cbiAqICAgIHNob3VsZCBkZWxlZ2F0ZSB0byBhbiBgRXZlbnRDb250cmFjdGAgaGFuZGxlciBmb3IgdGhlIGV2ZW50IHR5cGUgcHJvdmlkZWQgZGVmaW5lZCBieVxuICogICAgYGV2ZW50LmRldGFpbFsnX3R5cGUnXWAuXG4gKiBAcmV0dXJucyBBIGZ1bmN0aW9uIHRoYXQgcmVtb3ZlcyB0aGUgZXZlbnQgbGlzdGVuZXIuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBib290c3RyYXBDdXN0b21FdmVudFN1cHBvcnQoY29udGFpbmVyOiBFbGVtZW50LCB0cmlnZ2VyOiAoZXZlbnQ6IEV2ZW50KSA9PiB2b2lkKSB7XG4gIGNvbnN0IGN1c3RvbUV2ZW50TGlzdGVuZXIgPSAoZXZlbnQ6IEV2ZW50KSA9PiB7XG4gICAgbGV0IGN1c3RvbUV2ZW50ID0gZXZlbnQgYXMgQ3VzdG9tRXZlbnQ7XG4gICAgY29uc3QgZGV0YWlsID0gY3VzdG9tRXZlbnQuZGV0YWlsO1xuICAgIC8vIEZvciBjdXN0b20gZXZlbnRzLCB1c2UgYSBzZWNvbmRhcnkgZGlzcGF0Y2ggYmFzZWQgb24gdGhlIGludGVybmFsXG4gICAgLy8gY3VzdG9tIHR5cGUgb2YgdGhlIGV2ZW50LlxuICAgIGlmICghZGV0YWlsIHx8ICFkZXRhaWxbJ190eXBlJ10pIHtcbiAgICAgIC8vIFRoaXMgc2hvdWxkIG5ldmVyIGhhcHBlbi5cbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgLy8gTWlycm9ycyBjb2RlIGZyb20gV2l6J3MgaW50ZXJuYWwgYHRyaWdnZXIoKWAgbWV0aG9kLlxuICAgIGNvbnN0IHN5bnRoZXRpY0N1c3RvbUV2ZW50ID0ge1xuICAgICAgJ3R5cGUnOiBkZXRhaWxbJ190eXBlJ10sXG4gICAgICAndGFyZ2V0JzogZXZlbnQudGFyZ2V0LFxuICAgICAgJ2J1YmJsZXMnOiB0cnVlLFxuICAgICAgZGV0YWlsLFxuICAgIH07XG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWFueVxuICAgIHRyaWdnZXIoc3ludGhldGljQ3VzdG9tRXZlbnQgYXMgYW55KTtcbiAgfTtcbiAgY29udGFpbmVyLmFkZEV2ZW50TGlzdGVuZXIoJ19jdXN0b20nLCBjdXN0b21FdmVudExpc3RlbmVyKTtcbiAgcmV0dXJuICgpID0+IHtcbiAgICBjb250YWluZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcignX2N1c3RvbScsIGN1c3RvbUV2ZW50TGlzdGVuZXIpO1xuICB9O1xufVxuIl19
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright Google LLC All Rights Reserved.
|
|
4
|
-
*
|
|
5
|
-
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
-
* found in the LICENSE file at https://angular.io/license
|
|
7
|
-
*/
|
|
8
|
-
export { Dispatcher as LegacyDispatcher, registerDispatcher } from './dispatcher';
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVnYWN5X2Rpc3BhdGNoZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3ByaW1pdGl2ZXMvZXZlbnQtZGlzcGF0Y2gvc3JjL2xlZ2FjeV9kaXNwYXRjaGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUVILE9BQU8sRUFBQyxVQUFVLElBQUksZ0JBQWdCLEVBQUUsa0JBQWtCLEVBQUMsTUFBTSxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuZXhwb3J0IHtEaXNwYXRjaGVyIGFzIExlZ2FjeURpc3BhdGNoZXIsIHJlZ2lzdGVyRGlzcGF0Y2hlcn0gZnJvbSAnLi9kaXNwYXRjaGVyJztcbiJdfQ==
|