@plait/core 0.2.0-next.3 → 0.2.0-next.8
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/core/element/context-change.d.ts +6 -6
- package/core/element/context.d.ts +2 -2
- package/core/element/plugin-element.d.ts +9 -9
- package/esm2020/core/element/context-change.mjs +1 -1
- package/esm2020/core/element/context.mjs +1 -1
- package/esm2020/core/element/plugin-element.mjs +1 -1
- package/fesm2015/plait-core.mjs.map +1 -1
- package/fesm2020/plait-core.mjs.map +1 -1
- package/interfaces/element.d.ts +2 -1
- package/package.json +1 -1
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { PlaitElement } from '../../interfaces';
|
|
1
|
+
import { PlaitBoard, PlaitElement } from '../../interfaces';
|
|
2
2
|
import { PlaitPluginElementContext } from './context';
|
|
3
|
-
export interface BeforeContextChange<T extends PlaitElement = PlaitElement> {
|
|
3
|
+
export interface BeforeContextChange<T extends PlaitElement = PlaitElement, K extends PlaitBoard = PlaitBoard> {
|
|
4
4
|
beforeContextChange: (value: PlaitPluginElementContext<T>) => void;
|
|
5
5
|
}
|
|
6
|
-
export interface OnContextChanged<T extends PlaitElement = PlaitElement> {
|
|
7
|
-
onContextChanged: (value: PlaitPluginElementContext<T>, previous: PlaitPluginElementContext<T>) => void;
|
|
6
|
+
export interface OnContextChanged<T extends PlaitElement = PlaitElement, K extends PlaitBoard = PlaitBoard> {
|
|
7
|
+
onContextChanged: (value: PlaitPluginElementContext<T, K>, previous: PlaitPluginElementContext<T, K>) => void;
|
|
8
8
|
}
|
|
9
|
-
export declare function hasBeforeContextChange<T extends PlaitElement = PlaitElement>(value: any): value is BeforeContextChange<T>;
|
|
10
|
-
export declare function hasOnContextChanged<T extends PlaitElement = PlaitElement>(value: any): value is OnContextChanged<T>;
|
|
9
|
+
export declare function hasBeforeContextChange<T extends PlaitElement = PlaitElement, K extends PlaitBoard = PlaitBoard>(value: any): value is BeforeContextChange<T, K>;
|
|
10
|
+
export declare function hasOnContextChanged<T extends PlaitElement = PlaitElement, K extends PlaitBoard = PlaitBoard>(value: any): value is OnContextChanged<T, K>;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { PlaitBoard, PlaitElement } from '../../interfaces';
|
|
2
2
|
import { PlaitEffect } from '../children/effect';
|
|
3
|
-
export interface PlaitPluginElementContext<T extends PlaitElement = PlaitElement> {
|
|
3
|
+
export interface PlaitPluginElementContext<T extends PlaitElement = PlaitElement, K extends PlaitBoard = PlaitBoard> {
|
|
4
4
|
element: T;
|
|
5
5
|
selected: boolean;
|
|
6
|
-
board:
|
|
6
|
+
board: K;
|
|
7
7
|
effect?: PlaitEffect;
|
|
8
8
|
}
|
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
import { ChangeDetectorRef, OnDestroy, OnInit } from '@angular/core';
|
|
2
|
-
import { PlaitElement, PlaitPluginElementContext } from '../../interfaces';
|
|
2
|
+
import { PlaitBoard, PlaitElement, PlaitPluginElementContext } from '../../interfaces';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
|
-
export declare abstract class PlaitPluginElementComponent<T extends PlaitElement = PlaitElement> implements OnInit, OnDestroy {
|
|
4
|
+
export declare abstract class PlaitPluginElementComponent<T extends PlaitElement = PlaitElement, K extends PlaitBoard = PlaitBoard> implements OnInit, OnDestroy {
|
|
5
5
|
protected cdr: ChangeDetectorRef;
|
|
6
6
|
g: SVGGElement;
|
|
7
7
|
rootG?: SVGGElement;
|
|
8
8
|
initialized: boolean;
|
|
9
|
-
protected _context: PlaitPluginElementContext<T>;
|
|
10
|
-
set context(value: PlaitPluginElementContext<T>);
|
|
11
|
-
get context(): PlaitPluginElementContext<T>;
|
|
9
|
+
protected _context: PlaitPluginElementContext<T, K>;
|
|
10
|
+
set context(value: PlaitPluginElementContext<T, K>);
|
|
11
|
+
get context(): PlaitPluginElementContext<T, K>;
|
|
12
12
|
get element(): T;
|
|
13
|
-
get board():
|
|
13
|
+
get board(): K;
|
|
14
14
|
get selected(): boolean;
|
|
15
15
|
get effect(): import("../children/effect").PlaitEffect | undefined;
|
|
16
16
|
constructor(cdr: ChangeDetectorRef);
|
|
17
17
|
ngOnInit(): void;
|
|
18
18
|
ngOnDestroy(): void;
|
|
19
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<PlaitPluginElementComponent<any>, never>;
|
|
20
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<PlaitPluginElementComponent<any>, never, never, { "context": "context"; }, {}, never, never, false, never>;
|
|
19
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PlaitPluginElementComponent<any, any>, never>;
|
|
20
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<PlaitPluginElementComponent<any, any>, never, never, { "context": "context"; }, {}, never, never, false, never>;
|
|
21
21
|
}
|
|
22
|
-
export declare const ELEMENT_TO_COMPONENT: WeakMap<PlaitElement, PlaitPluginElementComponent<PlaitElement>>;
|
|
22
|
+
export declare const ELEMENT_TO_COMPONENT: WeakMap<PlaitElement, PlaitPluginElementComponent<PlaitElement, PlaitBoard>>;
|
|
@@ -10,4 +10,4 @@ export function hasOnContextChanged(value) {
|
|
|
10
10
|
}
|
|
11
11
|
return false;
|
|
12
12
|
}
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1jaGFuZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wbGFpdC9zcmMvY29yZS9lbGVtZW50L2NvbnRleHQtY2hhbmdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVdBLE1BQU0sVUFBVSxzQkFBc0IsQ0FDbEMsS0FBVTtJQUVWLElBQUksS0FBSyxDQUFDLG1CQUFtQixFQUFFO1FBQzNCLE9BQU8sSUFBSSxDQUFDO0tBQ2Y7SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNqQixDQUFDO0FBRUQsTUFBTSxVQUFVLG1CQUFtQixDQUMvQixLQUFVO0lBRVYsSUFBSSxLQUFLLENBQUMsZ0JBQWdCLEVBQUU7UUFDeEIsT0FBTyxJQUFJLENBQUM7S0FDZjtJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQbGFpdEJvYXJkLCBQbGFpdEVsZW1lbnQgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IFBsYWl0UGx1Z2luRWxlbWVudENvbnRleHQgfSBmcm9tICcuL2NvbnRleHQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEJlZm9yZUNvbnRleHRDaGFuZ2U8VCBleHRlbmRzIFBsYWl0RWxlbWVudCA9IFBsYWl0RWxlbWVudCwgSyBleHRlbmRzIFBsYWl0Qm9hcmQgPSBQbGFpdEJvYXJkPiB7XG4gICAgYmVmb3JlQ29udGV4dENoYW5nZTogKHZhbHVlOiBQbGFpdFBsdWdpbkVsZW1lbnRDb250ZXh0PFQ+KSA9PiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9uQ29udGV4dENoYW5nZWQ8VCBleHRlbmRzIFBsYWl0RWxlbWVudCA9IFBsYWl0RWxlbWVudCwgSyBleHRlbmRzIFBsYWl0Qm9hcmQgPSBQbGFpdEJvYXJkPiB7XG4gICAgb25Db250ZXh0Q2hhbmdlZDogKHZhbHVlOiBQbGFpdFBsdWdpbkVsZW1lbnRDb250ZXh0PFQsIEs+LCBwcmV2aW91czogUGxhaXRQbHVnaW5FbGVtZW50Q29udGV4dDxULCBLPikgPT4gdm9pZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhhc0JlZm9yZUNvbnRleHRDaGFuZ2U8VCBleHRlbmRzIFBsYWl0RWxlbWVudCA9IFBsYWl0RWxlbWVudCwgSyBleHRlbmRzIFBsYWl0Qm9hcmQgPSBQbGFpdEJvYXJkPihcbiAgICB2YWx1ZTogYW55XG4pOiB2YWx1ZSBpcyBCZWZvcmVDb250ZXh0Q2hhbmdlPFQsIEs+IHtcbiAgICBpZiAodmFsdWUuYmVmb3JlQ29udGV4dENoYW5nZSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaGFzT25Db250ZXh0Q2hhbmdlZDxUIGV4dGVuZHMgUGxhaXRFbGVtZW50ID0gUGxhaXRFbGVtZW50LCBLIGV4dGVuZHMgUGxhaXRCb2FyZCA9IFBsYWl0Qm9hcmQ+KFxuICAgIHZhbHVlOiBhbnlcbik6IHZhbHVlIGlzIE9uQ29udGV4dENoYW5nZWQ8VCwgSz4ge1xuICAgIGlmICh2YWx1ZS5vbkNvbnRleHRDaGFuZ2VkKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG59XG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BsYWl0L3NyYy9jb3JlL2VsZW1lbnQvY29udGV4dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGxhaXRCb2FyZCwgUGxhaXRFbGVtZW50LCBTZWxlY3Rpb24gfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IFBsYWl0RWZmZWN0IH0gZnJvbSAnLi4vY2hpbGRyZW4vZWZmZWN0JztcblxuZXhwb3J0IGludGVyZmFjZSBQbGFpdFBsdWdpbkVsZW1lbnRDb250ZXh0PFQgZXh0ZW5kcyBQbGFpdEVsZW1lbnQgPSBQbGFpdEVsZW1lbnQsIEsgZXh0ZW5kcyBQbGFpdEJvYXJkID0gUGxhaXRCb2FyZD4ge1xuICAgIGVsZW1lbnQ6IFQ7XG4gICAgc2VsZWN0ZWQ6IGJvb2xlYW47XG4gICAgYm9hcmQ6IEs7XG4gICAgZWZmZWN0PzogUGxhaXRFZmZlY3Q7XG59XG4iXX0=
|
|
@@ -72,4 +72,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImpor
|
|
|
72
72
|
type: Input
|
|
73
73
|
}] } });
|
|
74
74
|
export const ELEMENT_TO_COMPONENT = new WeakMap();
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLWVsZW1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wbGFpdC9zcmMvY29yZS9lbGVtZW50L3BsdWdpbi1lbGVtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxFQUFjLFlBQVksRUFBNkIsTUFBTSxrQkFBa0IsQ0FBQztBQUN2RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBRy9FLE1BQU0sT0FBZ0IsMkJBQTJCO0lBVTdDLElBQ0ksT0FBTyxDQUFDLEtBQXNDO1FBQzlDLElBQUksc0JBQXNCLENBQU8sSUFBSSxDQUFDLEVBQUU7WUFDcEMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ25DO1FBQ0QsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUN0QyxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUN0QixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDZCxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztTQUNoRDtRQUNELElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNsQixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3hCLElBQUksbUJBQW1CLENBQUksSUFBSSxDQUFDLEVBQUU7Z0JBQzlCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsZUFBZSxDQUFDLENBQUM7YUFDakQ7U0FDSjthQUFNO1lBQ0gsSUFBSSxZQUFZLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dCQUN2RyxJQUFJLENBQUMsQ0FBQyxHQUFHLE9BQU8sRUFBRSxDQUFDO2dCQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sRUFBRSxDQUFDO2dCQUN2QixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDN0I7aUJBQU07Z0JBQ0gsSUFBSSxDQUFDLENBQUMsR0FBRyxPQUFPLEVBQUUsQ0FBQzthQUN0QjtTQUNKO0lBQ0wsQ0FBQztJQUVELElBQUksT0FBTztRQUNQLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1AsT0FBTyxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDO0lBQ2hELENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDTCxPQUFPLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7SUFDOUMsQ0FBQztJQUVELElBQUksUUFBUTtRQUNSLE9BQU8sSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQztJQUNqRCxDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ04sT0FBTyxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO0lBQy9DLENBQUM7SUFFRCxZQUFzQixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQWxENUMsZ0JBQVcsR0FBRyxLQUFLLENBQUM7SUFrRDJCLENBQUM7SUFFaEQsUUFBUTtRQUNKLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUU7WUFDbkIsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsU0FBUyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1NBQzdFO1FBQ0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7SUFDNUIsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssSUFBSSxFQUFFO1lBQ2pELG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDN0M7UUFDRCxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNoRCxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ3BDLENBQUM7O3dIQXZFaUIsMkJBQTJCOzRHQUEzQiwyQkFBMkI7MkZBQTNCLDJCQUEyQjtrQkFEaEQsU0FBUzt3R0FZRixPQUFPO3NCQURWLEtBQUs7O0FBZ0VWLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLElBQUksT0FBTyxFQUE2QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIERpcmVjdGl2ZSwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQbGFpdEJvYXJkLCBQbGFpdEVsZW1lbnQsIFBsYWl0UGx1Z2luRWxlbWVudENvbnRleHQgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IHJlbW92ZVNlbGVjdGVkRWxlbWVudCB9IGZyb20gJy4uLy4uL3V0aWxzL3NlbGVjdGVkLWVsZW1lbnQnO1xuaW1wb3J0IHsgY3JlYXRlRyB9IGZyb20gJy4uLy4uL3V0aWxzL2RvbSc7XG5pbXBvcnQgeyBoYXNCZWZvcmVDb250ZXh0Q2hhbmdlLCBoYXNPbkNvbnRleHRDaGFuZ2VkIH0gZnJvbSAnLi9jb250ZXh0LWNoYW5nZSc7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFBsYWl0UGx1Z2luRWxlbWVudENvbXBvbmVudDxUIGV4dGVuZHMgUGxhaXRFbGVtZW50ID0gUGxhaXRFbGVtZW50LCBLIGV4dGVuZHMgUGxhaXRCb2FyZCA9IFBsYWl0Qm9hcmQ+XG4gICAgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgZyE6IFNWR0dFbGVtZW50O1xuXG4gICAgcm9vdEc/OiBTVkdHRWxlbWVudDtcblxuICAgIGluaXRpYWxpemVkID0gZmFsc2U7XG5cbiAgICBwcm90ZWN0ZWQgX2NvbnRleHQhOiBQbGFpdFBsdWdpbkVsZW1lbnRDb250ZXh0PFQsIEs+O1xuXG4gICAgQElucHV0KClcbiAgICBzZXQgY29udGV4dCh2YWx1ZTogUGxhaXRQbHVnaW5FbGVtZW50Q29udGV4dDxULCBLPikge1xuICAgICAgICBpZiAoaGFzQmVmb3JlQ29udGV4dENoYW5nZTxULCBLPih0aGlzKSkge1xuICAgICAgICAgICAgdGhpcy5iZWZvcmVDb250ZXh0Q2hhbmdlKHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBwcmV2aW91c0NvbnRleHQgPSB0aGlzLl9jb250ZXh0O1xuICAgICAgICB0aGlzLl9jb250ZXh0ID0gdmFsdWU7XG4gICAgICAgIGlmICh0aGlzLmVsZW1lbnQpIHtcbiAgICAgICAgICAgIEVMRU1FTlRfVE9fQ09NUE9ORU5ULnNldCh0aGlzLmVsZW1lbnQsIHRoaXMpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmluaXRpYWxpemVkKSB7XG4gICAgICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICAgIGlmIChoYXNPbkNvbnRleHRDaGFuZ2VkPFQ+KHRoaXMpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vbkNvbnRleHRDaGFuZ2VkKHZhbHVlLCBwcmV2aW91c0NvbnRleHQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKFBsYWl0RWxlbWVudC5pc1Jvb3RFbGVtZW50KHRoaXMuZWxlbWVudCkgJiYgdGhpcy5lbGVtZW50LmNoaWxkcmVuICYmIHRoaXMuZWxlbWVudC5jaGlsZHJlbi5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5nID0gY3JlYXRlRygpO1xuICAgICAgICAgICAgICAgIHRoaXMucm9vdEcgPSBjcmVhdGVHKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5yb290Ry5hcHBlbmQodGhpcy5nKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5nID0gY3JlYXRlRygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0IGNvbnRleHQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jb250ZXh0O1xuICAgIH1cblxuICAgIGdldCBlbGVtZW50KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250ZXh0ICYmIHRoaXMuY29udGV4dC5lbGVtZW50O1xuICAgIH1cblxuICAgIGdldCBib2FyZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udGV4dCAmJiB0aGlzLmNvbnRleHQuYm9hcmQ7XG4gICAgfVxuXG4gICAgZ2V0IHNlbGVjdGVkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250ZXh0ICYmIHRoaXMuY29udGV4dC5zZWxlY3RlZDtcbiAgICB9XG5cbiAgICBnZXQgZWZmZWN0KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250ZXh0ICYmIHRoaXMuY29udGV4dC5lZmZlY3Q7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZWxlbWVudC50eXBlKSB7XG4gICAgICAgICAgICAodGhpcy5yb290RyB8fCB0aGlzLmcpLnNldEF0dHJpYnV0ZShgcGxhaXQtJHt0aGlzLmVsZW1lbnQudHlwZX1gLCAndHJ1ZScpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZWQgPSB0cnVlO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBpZiAoRUxFTUVOVF9UT19DT01QT05FTlQuZ2V0KHRoaXMuZWxlbWVudCkgPT09IHRoaXMpIHtcbiAgICAgICAgICAgIEVMRU1FTlRfVE9fQ09NUE9ORU5ULmRlbGV0ZSh0aGlzLmVsZW1lbnQpO1xuICAgICAgICB9XG4gICAgICAgIHJlbW92ZVNlbGVjdGVkRWxlbWVudCh0aGlzLmJvYXJkLCB0aGlzLmVsZW1lbnQpO1xuICAgICAgICAodGhpcy5yb290RyB8fCB0aGlzLmcpLnJlbW92ZSgpO1xuICAgIH1cbn1cblxuZXhwb3J0IGNvbnN0IEVMRU1FTlRfVE9fQ09NUE9ORU5UID0gbmV3IFdlYWtNYXA8UGxhaXRFbGVtZW50LCBQbGFpdFBsdWdpbkVsZW1lbnRDb21wb25lbnQ+KCk7XG4iXX0=
|