dom-render 1.0.73 → 1.0.76
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Config.d.ts +38 -36
- package/Config.js +2 -2
- package/DomRender.d.ts +28 -4
- package/DomRender.js +90 -39
- package/DomRenderProxy.d.ts +29 -29
- package/DomRenderProxy.js +338 -327
- package/README.MD +638 -511
- package/RawSet.d.ts +140 -117
- package/RawSet.js +765 -882
- package/components/ComponentSet.d.ts +7 -0
- package/components/ComponentSet.js +14 -0
- package/dist/bundle.js +3796 -3133
- package/events/EventManager.d.ts +47 -47
- package/events/EventManager.js +499 -499
- package/iterators/Range.d.ts +22 -22
- package/iterators/Range.js +65 -65
- package/lifecycle/OnBeforeReturnGet.d.ts +3 -3
- package/lifecycle/OnBeforeReturnGet.js +2 -2
- package/lifecycle/OnBeforeReturnSet.d.ts +3 -3
- package/lifecycle/OnBeforeReturnSet.js +2 -2
- package/lifecycle/OnCreateRender.d.ts +3 -3
- package/lifecycle/OnCreateRender.js +2 -2
- package/lifecycle/OnDestroyRender.d.ts +4 -0
- package/lifecycle/OnDestroyRender.js +2 -0
- package/lifecycle/OnInitRender.d.ts +7 -7
- package/lifecycle/OnInitRender.js +2 -2
- package/lifecycle/OnProxyDomRender.d.ts +4 -0
- package/lifecycle/OnProxyDomRender.js +2 -0
- package/managers/RenderManager.d.ts +3 -3
- package/managers/RenderManager.js +18 -18
- package/messenger/DefaultMessenger.d.ts +3 -0
- package/messenger/DefaultMessenger.js +27 -0
- package/messenger/Messenger.d.ts +78 -0
- package/messenger/Messenger.js +201 -0
- package/operators/Appender.d.ts +7 -12
- package/operators/Appender.js +32 -39
- package/operators/AttrExpresion.d.ts +4 -0
- package/operators/AttrExpresion.js +68 -0
- package/operators/Dr.d.ts +4 -0
- package/operators/Dr.js +62 -0
- package/operators/DrAppender.d.ts +4 -0
- package/operators/DrAppender.js +65 -0
- package/operators/DrFor.d.ts +4 -0
- package/operators/DrFor.js +62 -0
- package/operators/DrForOf.d.ts +4 -0
- package/operators/DrForOf.js +65 -0
- package/operators/DrForm.d.ts +4 -0
- package/operators/DrForm.js +100 -0
- package/operators/DrIf.d.ts +4 -0
- package/operators/DrIf.js +72 -0
- package/operators/DrInnerHTML.d.ts +4 -0
- package/operators/DrInnerHTML.js +60 -0
- package/operators/DrInnerText.d.ts +4 -0
- package/operators/DrInnerText.js +58 -0
- package/operators/DrPre.d.ts +4 -0
- package/operators/DrPre.js +30 -0
- package/operators/DrRepeat.d.ts +4 -0
- package/operators/DrRepeat.js +63 -0
- package/operators/DrTargetAttr.d.ts +4 -0
- package/operators/DrTargetAttr.js +55 -0
- package/operators/DrTargetElement.d.ts +4 -0
- package/operators/DrTargetElement.js +65 -0
- package/operators/DrThis.d.ts +4 -0
- package/operators/DrThis.js +59 -0
- package/operators/OperatorRender.d.ts +41 -0
- package/operators/OperatorRender.js +21 -0
- package/package.json +94 -94
- package/routers/HashRouter.d.ts +9 -9
- package/routers/HashRouter.js +53 -53
- package/routers/PathRouter.d.ts +9 -9
- package/routers/PathRouter.js +52 -52
- package/routers/Router.d.ts +25 -22
- package/routers/Router.js +116 -94
- package/types/Types.d.ts +14 -14
- package/types/Types.js +36 -36
- package/utils/clipboard/ClipBoardUtils.d.ts +6 -6
- package/utils/clipboard/ClipBoardUtils.js +25 -25
- package/utils/dom/DomUtils.d.ts +13 -13
- package/utils/dom/DomUtils.js +47 -47
- package/utils/location/LocationUtils.d.ts +16 -16
- package/utils/location/LocationUtils.js +57 -57
- package/utils/node/NodeUtils.d.ts +10 -10
- package/utils/node/NodeUtils.js +27 -27
- package/utils/random/RandomUtils.d.ts +7 -7
- package/utils/random/RandomUtils.js +47 -47
- package/utils/script/ScriptUtils.d.ts +14 -14
- package/utils/script/ScriptUtils.js +89 -89
- package/utils/storage/StorageUtils.d.ts +9 -9
- package/utils/storage/StorageUtils.js +48 -48
- package/utils/string/StringUtils.d.ts +5 -5
- package/utils/string/StringUtils.js +41 -41
- package/utils/valid/ValidUtils.d.ts +10 -10
- package/utils/valid/ValidUtils.js +78 -78
- package/validators/AllCheckedValidatorArray.d.ts +6 -6
- package/validators/AllCheckedValidatorArray.js +32 -32
- package/validators/AllUnCheckedValidatorArray.d.ts +6 -6
- package/validators/AllUnCheckedValidatorArray.js +32 -32
- package/validators/CheckedValidator.d.ts +5 -5
- package/validators/CheckedValidator.js +32 -32
- package/validators/CountEqualsCheckedValidatorArray.d.ts +7 -7
- package/validators/CountEqualsCheckedValidatorArray.js +34 -34
- package/validators/CountEqualsUnCheckedValidatorArray.d.ts +7 -7
- package/validators/CountEqualsUnCheckedValidatorArray.js +34 -34
- package/validators/CountGreaterThanCheckedValidatorArray.d.ts +7 -7
- package/validators/CountGreaterThanCheckedValidatorArray.js +34 -34
- package/validators/CountGreaterThanEqualsCheckedValidatorArray.d.ts +7 -7
- package/validators/CountGreaterThanEqualsCheckedValidatorArray.js +34 -34
- package/validators/CountGreaterThanEqualsUnCheckedValidatorArray.d.ts +7 -7
- package/validators/CountGreaterThanEqualsUnCheckedValidatorArray.js +34 -34
- package/validators/CountGreaterThanUnCheckedValidatorArray.d.ts +7 -7
- package/validators/CountGreaterThanUnCheckedValidatorArray.js +34 -34
- package/validators/CountLessThanCheckedValidatorArray.d.ts +7 -7
- package/validators/CountLessThanCheckedValidatorArray.js +34 -34
- package/validators/CountLessThanEqualsCheckedValidatorArray.d.ts +7 -7
- package/validators/CountLessThanEqualsCheckedValidatorArray.js +34 -34
- package/validators/CountLessThanEqualsUnCheckedValidatorArray.d.ts +7 -7
- package/validators/CountLessThanEqualsUnCheckedValidatorArray.js +34 -34
- package/validators/CountLessThanUnCheckedValidatorArray.d.ts +7 -7
- package/validators/CountLessThanUnCheckedValidatorArray.js +34 -34
- package/validators/CountUnCheckedValidatorArray.d.ts +7 -7
- package/validators/CountUnCheckedValidatorArray.js +34 -34
- package/validators/EmptyValidator.d.ts +5 -5
- package/validators/EmptyValidator.js +33 -33
- package/validators/ExcludeCheckedValidatorArray.d.ts +8 -8
- package/validators/ExcludeCheckedValidatorArray.js +41 -41
- package/validators/FormValidator.d.ts +7 -7
- package/validators/FormValidator.js +37 -37
- package/validators/IncludeCheckedValidatorArray.d.ts +8 -8
- package/validators/IncludeCheckedValidatorArray.js +41 -41
- package/validators/MultipleValidator.d.ts +8 -8
- package/validators/MultipleValidator.js +48 -48
- package/validators/NonPassValidator.d.ts +5 -5
- package/validators/NonPassValidator.js +31 -31
- package/validators/NotEmptyValidator.d.ts +5 -5
- package/validators/NotEmptyValidator.js +34 -34
- package/validators/NotRegExpTestValidator.d.ts +6 -6
- package/validators/NotRegExpTestValidator.js +42 -42
- package/validators/PassValidator.d.ts +5 -5
- package/validators/PassValidator.js +31 -31
- package/validators/RegExpTestValidator.d.ts +6 -6
- package/validators/RegExpTestValidator.js +43 -43
- package/validators/RequiredValidator.d.ts +5 -5
- package/validators/RequiredValidator.js +33 -33
- package/validators/UnCheckedValidator.d.ts +5 -5
- package/validators/UnCheckedValidator.js +32 -32
- package/validators/ValidMultipleValidator.d.ts +9 -9
- package/validators/ValidMultipleValidator.js +34 -34
- package/validators/ValidValidator.d.ts +6 -6
- package/validators/ValidValidator.js +33 -33
- package/validators/ValidValidatorArray.d.ts +7 -7
- package/validators/ValidValidatorArray.js +33 -33
- package/validators/Validator.d.ts +57 -57
- package/validators/Validator.js +242 -242
- package/validators/ValidatorArray.d.ts +17 -17
- package/validators/ValidatorArray.js +99 -99
- package/validators/ValueEqualsValidator.d.ts +6 -6
- package/validators/ValueEqualsValidator.js +33 -33
- package/validators/ValueNotEqualsValidator.d.ts +6 -6
- package/validators/ValueNotEqualsValidator.js +33 -33
package/iterators/Range.d.ts
CHANGED
@@ -1,22 +1,22 @@
|
|
1
|
-
export declare class RangeResult implements IteratorResult<number> {
|
2
|
-
done: boolean;
|
3
|
-
value: number;
|
4
|
-
constructor(value: number | undefined, done: boolean);
|
5
|
-
}
|
6
|
-
export declare class RangeIterator implements Iterator<number> {
|
7
|
-
private _first;
|
8
|
-
private _current;
|
9
|
-
private _last;
|
10
|
-
private _step;
|
11
|
-
constructor(first: number, last: number, step: number);
|
12
|
-
next(value?: any): IteratorResult<number>;
|
13
|
-
}
|
14
|
-
export declare class Range implements Iterable<number> {
|
15
|
-
first: number;
|
16
|
-
last: number;
|
17
|
-
step: number;
|
18
|
-
readonly isRange = true;
|
19
|
-
constructor(first: number, last: number, step?: number);
|
20
|
-
[Symbol.iterator](): Iterator<number>;
|
21
|
-
static range(first: number | string, last?: number, step?: number): Range;
|
22
|
-
}
|
1
|
+
export declare class RangeResult implements IteratorResult<number> {
|
2
|
+
done: boolean;
|
3
|
+
value: number;
|
4
|
+
constructor(value: number | undefined, done: boolean);
|
5
|
+
}
|
6
|
+
export declare class RangeIterator implements Iterator<number> {
|
7
|
+
private _first;
|
8
|
+
private _current;
|
9
|
+
private _last;
|
10
|
+
private _step;
|
11
|
+
constructor(first: number, last: number, step: number);
|
12
|
+
next(value?: any): IteratorResult<number>;
|
13
|
+
}
|
14
|
+
export declare class Range implements Iterable<number> {
|
15
|
+
first: number;
|
16
|
+
last: number;
|
17
|
+
step: number;
|
18
|
+
readonly isRange = true;
|
19
|
+
constructor(first: number, last: number, step?: number);
|
20
|
+
[Symbol.iterator](): Iterator<number>;
|
21
|
+
static range(first: number | string, last?: number, step?: number): Range;
|
22
|
+
}
|
package/iterators/Range.js
CHANGED
@@ -1,65 +1,65 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.Range = exports.RangeIterator = exports.RangeResult = void 0;
|
4
|
-
// within rangeResult.ts
|
5
|
-
// @ts-ignore
|
6
|
-
var RangeResult = /** @class */ (function () {
|
7
|
-
function RangeResult(value, done) {
|
8
|
-
this.done = done;
|
9
|
-
this.value = value !== null && value !== void 0 ? value : 0;
|
10
|
-
}
|
11
|
-
return RangeResult;
|
12
|
-
}());
|
13
|
-
exports.RangeResult = RangeResult;
|
14
|
-
var RangeIterator = /** @class */ (function () {
|
15
|
-
function RangeIterator(first, last, step) {
|
16
|
-
this._current = this._first = first;
|
17
|
-
this._last = last;
|
18
|
-
this._step = step;
|
19
|
-
}
|
20
|
-
RangeIterator.prototype.next = function (value) {
|
21
|
-
var r;
|
22
|
-
if (this._first < this._last && this._current < this._last) {
|
23
|
-
r = new RangeResult(this._current, false);
|
24
|
-
this._current += this._step;
|
25
|
-
}
|
26
|
-
else if (this._first > this._last && this._current > this._last) {
|
27
|
-
r = new RangeResult(this._current, false);
|
28
|
-
this._current -= this._step;
|
29
|
-
}
|
30
|
-
else {
|
31
|
-
r = new RangeResult(undefined, true);
|
32
|
-
}
|
33
|
-
return r;
|
34
|
-
};
|
35
|
-
return RangeIterator;
|
36
|
-
}());
|
37
|
-
exports.RangeIterator = RangeIterator;
|
38
|
-
var Range = /** @class */ (function () {
|
39
|
-
function Range(first, last, step) {
|
40
|
-
if (step === void 0) { step = 1; }
|
41
|
-
this.first = first;
|
42
|
-
this.last = last;
|
43
|
-
this.step = step;
|
44
|
-
this.isRange = true;
|
45
|
-
}
|
46
|
-
Range.prototype[Symbol.iterator] = function () {
|
47
|
-
return new RangeIterator(this.first, this.last, this.step);
|
48
|
-
};
|
49
|
-
Range.range = function (first, last, step) {
|
50
|
-
if (step === void 0) { step = 1; }
|
51
|
-
if (typeof first === 'number' && last === undefined) {
|
52
|
-
return new Range(0, first, step);
|
53
|
-
}
|
54
|
-
else if (typeof first === 'string') {
|
55
|
-
var _a = first.split('..'), _first = _a[0], _b = _a[1], _last = _b === void 0 ? '0' : _b;
|
56
|
-
var _c = _last.split(','), __last = _c[0], _d = _c[1], _step = _d === void 0 ? '1' : _d;
|
57
|
-
return new Range(Number(_first.trim()), Number(__last.trim()), Number(_step.trim()));
|
58
|
-
}
|
59
|
-
else {
|
60
|
-
return new Range(first, last !== null && last !== void 0 ? last : 0, step);
|
61
|
-
}
|
62
|
-
};
|
63
|
-
return Range;
|
64
|
-
}());
|
65
|
-
exports.Range = Range;
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.Range = exports.RangeIterator = exports.RangeResult = void 0;
|
4
|
+
// within rangeResult.ts
|
5
|
+
// @ts-ignore
|
6
|
+
var RangeResult = /** @class */ (function () {
|
7
|
+
function RangeResult(value, done) {
|
8
|
+
this.done = done;
|
9
|
+
this.value = value !== null && value !== void 0 ? value : 0;
|
10
|
+
}
|
11
|
+
return RangeResult;
|
12
|
+
}());
|
13
|
+
exports.RangeResult = RangeResult;
|
14
|
+
var RangeIterator = /** @class */ (function () {
|
15
|
+
function RangeIterator(first, last, step) {
|
16
|
+
this._current = this._first = first;
|
17
|
+
this._last = last;
|
18
|
+
this._step = step;
|
19
|
+
}
|
20
|
+
RangeIterator.prototype.next = function (value) {
|
21
|
+
var r;
|
22
|
+
if (this._first < this._last && this._current < this._last) {
|
23
|
+
r = new RangeResult(this._current, false);
|
24
|
+
this._current += this._step;
|
25
|
+
}
|
26
|
+
else if (this._first > this._last && this._current > this._last) {
|
27
|
+
r = new RangeResult(this._current, false);
|
28
|
+
this._current -= this._step;
|
29
|
+
}
|
30
|
+
else {
|
31
|
+
r = new RangeResult(undefined, true);
|
32
|
+
}
|
33
|
+
return r;
|
34
|
+
};
|
35
|
+
return RangeIterator;
|
36
|
+
}());
|
37
|
+
exports.RangeIterator = RangeIterator;
|
38
|
+
var Range = /** @class */ (function () {
|
39
|
+
function Range(first, last, step) {
|
40
|
+
if (step === void 0) { step = 1; }
|
41
|
+
this.first = first;
|
42
|
+
this.last = last;
|
43
|
+
this.step = step;
|
44
|
+
this.isRange = true;
|
45
|
+
}
|
46
|
+
Range.prototype[Symbol.iterator] = function () {
|
47
|
+
return new RangeIterator(this.first, this.last, this.step);
|
48
|
+
};
|
49
|
+
Range.range = function (first, last, step) {
|
50
|
+
if (step === void 0) { step = 1; }
|
51
|
+
if (typeof first === 'number' && last === undefined) {
|
52
|
+
return new Range(0, first, step);
|
53
|
+
}
|
54
|
+
else if (typeof first === 'string') {
|
55
|
+
var _a = first.split('..'), _first = _a[0], _b = _a[1], _last = _b === void 0 ? '0' : _b;
|
56
|
+
var _c = _last.split(','), __last = _c[0], _d = _c[1], _step = _d === void 0 ? '1' : _d;
|
57
|
+
return new Range(Number(_first.trim()), Number(__last.trim()), Number(_step.trim()));
|
58
|
+
}
|
59
|
+
else {
|
60
|
+
return new Range(first, last !== null && last !== void 0 ? last : 0, step);
|
61
|
+
}
|
62
|
+
};
|
63
|
+
return Range;
|
64
|
+
}());
|
65
|
+
exports.Range = Range;
|
@@ -1,3 +1,3 @@
|
|
1
|
-
export interface OnBeforeReturnGet {
|
2
|
-
onBeforeReturnGet(name: string, value: any, fullPath?: string[]): void;
|
3
|
-
}
|
1
|
+
export interface OnBeforeReturnGet {
|
2
|
+
onBeforeReturnGet(name: string, value: any, fullPath?: string[]): void;
|
3
|
+
}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
@@ -1,3 +1,3 @@
|
|
1
|
-
export interface OnBeforeReturnSet {
|
2
|
-
onBeforeReturnSet(name: string, value: any, fullPath?: string[]): void;
|
3
|
-
}
|
1
|
+
export interface OnBeforeReturnSet {
|
2
|
+
onBeforeReturnSet(name: string, value: any, fullPath?: string[]): void;
|
3
|
+
}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
@@ -1,3 +1,3 @@
|
|
1
|
-
export interface OnCreateRender {
|
2
|
-
onCreateRender(...param: any[]): void;
|
3
|
-
}
|
1
|
+
export interface OnCreateRender {
|
2
|
+
onCreateRender(...param: any[]): void;
|
3
|
+
}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
@@ -1,7 +1,7 @@
|
|
1
|
-
import { CreatorMetaData, Render } from '../RawSet';
|
2
|
-
export interface OnInitRender {
|
3
|
-
onInitRender(data?: {
|
4
|
-
render?: Render;
|
5
|
-
creatorMetaData?: CreatorMetaData;
|
6
|
-
}): void;
|
7
|
-
}
|
1
|
+
import { CreatorMetaData, Render } from '../RawSet';
|
2
|
+
export interface OnInitRender {
|
3
|
+
onInitRender(data?: {
|
4
|
+
render?: Render;
|
5
|
+
creatorMetaData?: CreatorMetaData;
|
6
|
+
}): void;
|
7
|
+
}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
@@ -1,3 +1,3 @@
|
|
1
|
-
export declare class RenderManager {
|
2
|
-
static render(obj: any, target?: string[]): void;
|
3
|
-
}
|
1
|
+
export declare class RenderManager {
|
2
|
+
static render(obj: any, target?: string[]): void;
|
3
|
+
}
|
@@ -1,18 +1,18 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.RenderManager = void 0;
|
4
|
-
var RenderManager = /** @class */ (function () {
|
5
|
-
function RenderManager() {
|
6
|
-
}
|
7
|
-
RenderManager.render = function (obj, target) {
|
8
|
-
if (target === void 0) { target = Object.keys(obj); }
|
9
|
-
var domRenderProxy = obj._DomRender_proxy;
|
10
|
-
if (domRenderProxy) {
|
11
|
-
target.forEach(function (it) {
|
12
|
-
domRenderProxy.root([it], obj[it]);
|
13
|
-
});
|
14
|
-
}
|
15
|
-
};
|
16
|
-
return RenderManager;
|
17
|
-
}());
|
18
|
-
exports.RenderManager = RenderManager;
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.RenderManager = void 0;
|
4
|
+
var RenderManager = /** @class */ (function () {
|
5
|
+
function RenderManager() {
|
6
|
+
}
|
7
|
+
RenderManager.render = function (obj, target) {
|
8
|
+
if (target === void 0) { target = Object.keys(obj); }
|
9
|
+
var domRenderProxy = obj._DomRender_proxy;
|
10
|
+
if (domRenderProxy) {
|
11
|
+
target.forEach(function (it) {
|
12
|
+
domRenderProxy.root([it], obj[it]);
|
13
|
+
});
|
14
|
+
}
|
15
|
+
};
|
16
|
+
return RenderManager;
|
17
|
+
}());
|
18
|
+
exports.RenderManager = RenderManager;
|
@@ -0,0 +1,27 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __extends = (this && this.__extends) || (function () {
|
3
|
+
var extendStatics = function (d, b) {
|
4
|
+
extendStatics = Object.setPrototypeOf ||
|
5
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
6
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
7
|
+
return extendStatics(d, b);
|
8
|
+
};
|
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");
|
12
|
+
extendStatics(d, b);
|
13
|
+
function __() { this.constructor = d; }
|
14
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
15
|
+
};
|
16
|
+
})();
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
18
|
+
exports.DefaultMessenger = void 0;
|
19
|
+
var Messenger_1 = require("./Messenger");
|
20
|
+
var DefaultMessenger = /** @class */ (function (_super) {
|
21
|
+
__extends(DefaultMessenger, _super);
|
22
|
+
function DefaultMessenger() {
|
23
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
24
|
+
}
|
25
|
+
return DefaultMessenger;
|
26
|
+
}(Messenger_1.Messenger));
|
27
|
+
exports.DefaultMessenger = DefaultMessenger;
|
@@ -0,0 +1,78 @@
|
|
1
|
+
import { ConstructorType } from '../types/Types';
|
2
|
+
import { Config } from '../Config';
|
3
|
+
declare enum CallBackType {
|
4
|
+
FILTER = 0,
|
5
|
+
MAP = 1,
|
6
|
+
SUBSCRIBE = 2
|
7
|
+
}
|
8
|
+
export declare type ChannelData = {
|
9
|
+
channel: Channel;
|
10
|
+
data?: (any | undefined);
|
11
|
+
};
|
12
|
+
export declare type ChannelMetaData = {
|
13
|
+
channel?: Channel;
|
14
|
+
action?: string;
|
15
|
+
};
|
16
|
+
export declare class ChannelSubscription {
|
17
|
+
channel: Channel;
|
18
|
+
subscriber: ChannelSubscriber;
|
19
|
+
constructor(channel: Channel, subscriber: ChannelSubscriber);
|
20
|
+
unsubscribe(): void;
|
21
|
+
}
|
22
|
+
export declare class ChannelSubscriber<SD = any> {
|
23
|
+
channel: Channel;
|
24
|
+
parentSubscriber?: ChannelSubscriber;
|
25
|
+
callbacks: ({
|
26
|
+
type: CallBackType;
|
27
|
+
callback: (data: any, metaData: ChannelMetaData) => any | undefined;
|
28
|
+
})[];
|
29
|
+
constructor(channel: Channel);
|
30
|
+
exeCallback(data: any, metaData: ChannelMetaData): any;
|
31
|
+
filter<D = SD>(callback: (data: D, meta: ChannelMetaData) => boolean): ChannelSubscriber<SD>;
|
32
|
+
map<D = SD, R = any>(callback: (data: D, meta: ChannelMetaData) => R): ChannelSubscriber<R>;
|
33
|
+
subscribe(callback: (data: SD, metaData: ChannelMetaData) => any | undefined): ChannelSubscription;
|
34
|
+
unsubscribe(): void;
|
35
|
+
deleteSubscriber(): void;
|
36
|
+
}
|
37
|
+
export declare class Channel {
|
38
|
+
private messenger;
|
39
|
+
obj: object;
|
40
|
+
key: string;
|
41
|
+
subscribers: Set<ChannelSubscriber<any>>;
|
42
|
+
constructor(messenger: Messenger, obj: object, key: string);
|
43
|
+
publish(key: string | object | ConstructorType<any>, data: any, action?: string): ChannelData[];
|
44
|
+
allPublish(data: any, action: string): any[];
|
45
|
+
filter<D = any>(filterF: (data: D, meta: ChannelMetaData) => boolean): ChannelSubscriber<D>;
|
46
|
+
map<D = any, R = any>(filterF: (data: D, meta: ChannelMetaData) => R): ChannelSubscriber<R>;
|
47
|
+
subscribe<D = any>(subscribeCallback: (data: D, meta: ChannelMetaData) => any | void | undefined): ChannelSubscription;
|
48
|
+
deleteChannel(): void;
|
49
|
+
}
|
50
|
+
declare type MessengerEventDetail = {
|
51
|
+
key: string | object | ConstructorType<any>;
|
52
|
+
data?: any;
|
53
|
+
action?: string;
|
54
|
+
result?: (c: ChannelData[]) => void;
|
55
|
+
};
|
56
|
+
declare type MessengerSubscribeEventDetail = {
|
57
|
+
obj: any;
|
58
|
+
key?: string | object | ConstructorType<any>;
|
59
|
+
init: (channel: Channel, subscription: ChannelSubscription) => void;
|
60
|
+
subscribe: (data: any, meta: ChannelMetaData) => void;
|
61
|
+
};
|
62
|
+
export declare abstract class Messenger {
|
63
|
+
private config;
|
64
|
+
private channels;
|
65
|
+
static readonly EVENT_PUBLISH_KEY = "domRenderMessenger_publish";
|
66
|
+
static readonly EVENT_SUBSCRIBE_KEY = "domRenderMessenger_subscribe";
|
67
|
+
constructor(config: Config);
|
68
|
+
static publish(window: Window, detail: MessengerEventDetail): void;
|
69
|
+
static subscribe(window: Window, detail: MessengerSubscribeEventDetail): void;
|
70
|
+
createChannel(obj: any, key?: any): Channel;
|
71
|
+
deleteChannel(channel: Channel): void;
|
72
|
+
deleteChannelFromObj(obj: any): void;
|
73
|
+
addChannel(channel: Channel): void;
|
74
|
+
getChannels(key: string | object | ConstructorType<any>): Channel[];
|
75
|
+
getAllChannels(): Channel[];
|
76
|
+
getAllChannelKeys(): string[];
|
77
|
+
}
|
78
|
+
export {};
|
@@ -0,0 +1,201 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.Messenger = exports.Channel = exports.ChannelSubscriber = exports.ChannelSubscription = void 0;
|
4
|
+
var Types_1 = require("../types/Types");
|
5
|
+
var CallBackType;
|
6
|
+
(function (CallBackType) {
|
7
|
+
CallBackType[CallBackType["FILTER"] = 0] = "FILTER";
|
8
|
+
CallBackType[CallBackType["MAP"] = 1] = "MAP";
|
9
|
+
CallBackType[CallBackType["SUBSCRIBE"] = 2] = "SUBSCRIBE";
|
10
|
+
})(CallBackType || (CallBackType = {}));
|
11
|
+
var ChannelSubscription = /** @class */ (function () {
|
12
|
+
function ChannelSubscription(channel, subscriber) {
|
13
|
+
this.channel = channel;
|
14
|
+
this.subscriber = subscriber;
|
15
|
+
}
|
16
|
+
ChannelSubscription.prototype.unsubscribe = function () {
|
17
|
+
this.subscriber.unsubscribe();
|
18
|
+
};
|
19
|
+
return ChannelSubscription;
|
20
|
+
}());
|
21
|
+
exports.ChannelSubscription = ChannelSubscription;
|
22
|
+
var ChannelSubscriber = /** @class */ (function () {
|
23
|
+
function ChannelSubscriber(channel) {
|
24
|
+
this.channel = channel;
|
25
|
+
this.callbacks = [];
|
26
|
+
}
|
27
|
+
ChannelSubscriber.prototype.exeCallback = function (data, metaData) {
|
28
|
+
for (var _i = 0, _a = this.callbacks; _i < _a.length; _i++) {
|
29
|
+
var callback = _a[_i];
|
30
|
+
if (callback.type === CallBackType.FILTER && !callback.callback(data, metaData)) {
|
31
|
+
break;
|
32
|
+
}
|
33
|
+
else if (callback.type === CallBackType.MAP) {
|
34
|
+
data = callback.callback(data, metaData);
|
35
|
+
}
|
36
|
+
else if (callback.type === CallBackType.SUBSCRIBE) {
|
37
|
+
data = callback.callback(data, metaData);
|
38
|
+
break;
|
39
|
+
}
|
40
|
+
}
|
41
|
+
return data;
|
42
|
+
};
|
43
|
+
// chaining point
|
44
|
+
ChannelSubscriber.prototype.filter = function (callback) {
|
45
|
+
this.callbacks.push({ type: CallBackType.FILTER, callback: callback });
|
46
|
+
return this;
|
47
|
+
};
|
48
|
+
ChannelSubscriber.prototype.map = function (callback) {
|
49
|
+
this.callbacks.push({ type: CallBackType.MAP, callback: callback });
|
50
|
+
return this;
|
51
|
+
};
|
52
|
+
ChannelSubscriber.prototype.subscribe = function (callback) {
|
53
|
+
this.callbacks.push({ type: CallBackType.SUBSCRIBE, callback: callback });
|
54
|
+
this.channel.subscribers.add(this);
|
55
|
+
return new ChannelSubscription(this.channel, this);
|
56
|
+
};
|
57
|
+
ChannelSubscriber.prototype.unsubscribe = function () {
|
58
|
+
this.channel.subscribers.delete(this);
|
59
|
+
};
|
60
|
+
ChannelSubscriber.prototype.deleteSubscriber = function () {
|
61
|
+
this.unsubscribe();
|
62
|
+
this.channel.subscribers.delete(this);
|
63
|
+
};
|
64
|
+
return ChannelSubscriber;
|
65
|
+
}());
|
66
|
+
exports.ChannelSubscriber = ChannelSubscriber;
|
67
|
+
var Channel = /** @class */ (function () {
|
68
|
+
function Channel(messenger, obj, key) {
|
69
|
+
this.messenger = messenger;
|
70
|
+
this.obj = obj;
|
71
|
+
this.key = key;
|
72
|
+
this.subscribers = new Set();
|
73
|
+
}
|
74
|
+
Channel.prototype.publish = function (key, data, action) {
|
75
|
+
var _this = this;
|
76
|
+
var _a;
|
77
|
+
var rtns = [];
|
78
|
+
(_a = this.messenger.getChannels(key)) === null || _a === void 0 ? void 0 : _a.forEach(function (it) {
|
79
|
+
try {
|
80
|
+
it.subscribers.forEach(function (its) {
|
81
|
+
var rdata = its.exeCallback(data, { channel: _this, action: action });
|
82
|
+
rtns.push({ channel: it, data: rdata });
|
83
|
+
});
|
84
|
+
}
|
85
|
+
catch (e) {
|
86
|
+
console.error(e);
|
87
|
+
}
|
88
|
+
});
|
89
|
+
return rtns;
|
90
|
+
};
|
91
|
+
Channel.prototype.allPublish = function (data, action) {
|
92
|
+
var _this = this;
|
93
|
+
var rtns = [];
|
94
|
+
this.messenger.getAllChannelKeys().forEach(function (it) {
|
95
|
+
rtns.push(_this.publish(it, data));
|
96
|
+
});
|
97
|
+
return rtns.flat();
|
98
|
+
};
|
99
|
+
// string point
|
100
|
+
Channel.prototype.filter = function (filterF) {
|
101
|
+
var subscriber = new ChannelSubscriber(this);
|
102
|
+
subscriber.filter(filterF);
|
103
|
+
return subscriber;
|
104
|
+
};
|
105
|
+
Channel.prototype.map = function (filterF) {
|
106
|
+
var subscriber = new ChannelSubscriber(this);
|
107
|
+
subscriber.map(filterF);
|
108
|
+
return subscriber;
|
109
|
+
};
|
110
|
+
Channel.prototype.subscribe = function (subscribeCallback) {
|
111
|
+
var subscriber = new ChannelSubscriber(this);
|
112
|
+
return subscriber.subscribe(subscribeCallback);
|
113
|
+
};
|
114
|
+
;
|
115
|
+
Channel.prototype.deleteChannel = function () {
|
116
|
+
this.messenger.deleteChannel(this);
|
117
|
+
};
|
118
|
+
;
|
119
|
+
return Channel;
|
120
|
+
}());
|
121
|
+
exports.Channel = Channel;
|
122
|
+
var Messenger = /** @class */ (function () {
|
123
|
+
function Messenger(config) {
|
124
|
+
var _this = this;
|
125
|
+
this.config = config;
|
126
|
+
this.channels = new Set();
|
127
|
+
this.config.window.addEventListener(Messenger.EVENT_PUBLISH_KEY, function (e) {
|
128
|
+
var _a, _b;
|
129
|
+
var detail = e.detail;
|
130
|
+
console.log('--->', detail);
|
131
|
+
var rtns = [];
|
132
|
+
(_a = _this.getChannels(detail.key)) === null || _a === void 0 ? void 0 : _a.forEach(function (it) {
|
133
|
+
try {
|
134
|
+
it.subscribers.forEach(function (its) {
|
135
|
+
var rdata = its.exeCallback(detail.data, { action: detail.action });
|
136
|
+
rtns.push({ channel: it, data: rdata });
|
137
|
+
});
|
138
|
+
}
|
139
|
+
catch (e) {
|
140
|
+
console.error(e);
|
141
|
+
}
|
142
|
+
});
|
143
|
+
(_b = detail.result) === null || _b === void 0 ? void 0 : _b.call(detail, rtns);
|
144
|
+
});
|
145
|
+
this.config.window.addEventListener(Messenger.EVENT_SUBSCRIBE_KEY, function (e) {
|
146
|
+
var detail = e.detail;
|
147
|
+
console.log('--->', detail);
|
148
|
+
var channel = _this.createChannel(detail.obj, detail.key);
|
149
|
+
detail.init(channel, channel.subscribe(detail.subscribe));
|
150
|
+
});
|
151
|
+
}
|
152
|
+
Messenger.publish = function (window, detail) {
|
153
|
+
window.dispatchEvent(new CustomEvent(Messenger.EVENT_PUBLISH_KEY, { detail: detail }));
|
154
|
+
};
|
155
|
+
Messenger.subscribe = function (window, detail) {
|
156
|
+
window.dispatchEvent(new CustomEvent(Messenger.EVENT_SUBSCRIBE_KEY, { detail: detail }));
|
157
|
+
};
|
158
|
+
Messenger.prototype.createChannel = function (obj, key) {
|
159
|
+
if (key === void 0) { key = obj.constructor.name; }
|
160
|
+
var channel = Types_1.DomRenderFinalProxy.final(new Channel(this, obj, key));
|
161
|
+
this.channels.add(channel);
|
162
|
+
// this.channels.get(key) ? this.channels.get(key)!.push(channel) : this.channels.set(key, [channel]);
|
163
|
+
return channel;
|
164
|
+
};
|
165
|
+
Messenger.prototype.deleteChannel = function (channel) {
|
166
|
+
this.channels.delete(channel);
|
167
|
+
};
|
168
|
+
Messenger.prototype.deleteChannelFromObj = function (obj) {
|
169
|
+
var _this = this;
|
170
|
+
if (obj) {
|
171
|
+
this.channels.forEach(function (it) {
|
172
|
+
if (it.obj === obj) {
|
173
|
+
console.log('dddddddddddd', obj);
|
174
|
+
_this.deleteChannel(it);
|
175
|
+
}
|
176
|
+
});
|
177
|
+
}
|
178
|
+
};
|
179
|
+
Messenger.prototype.addChannel = function (channel) {
|
180
|
+
this.channels.add(channel);
|
181
|
+
};
|
182
|
+
Messenger.prototype.getChannels = function (key) {
|
183
|
+
if (typeof key === 'object') {
|
184
|
+
key = key.constructor.name;
|
185
|
+
}
|
186
|
+
else if (typeof key === 'function') {
|
187
|
+
key = key.name;
|
188
|
+
}
|
189
|
+
return Array.from(this.channels.values()).filter(function (it) { return it.key === key; });
|
190
|
+
};
|
191
|
+
Messenger.prototype.getAllChannels = function () {
|
192
|
+
return Array.from(this.channels.values());
|
193
|
+
};
|
194
|
+
Messenger.prototype.getAllChannelKeys = function () {
|
195
|
+
return Array.from(this.channels.values()).map(function (it) { return it.key; });
|
196
|
+
};
|
197
|
+
Messenger.EVENT_PUBLISH_KEY = 'domRenderMessenger_publish';
|
198
|
+
Messenger.EVENT_SUBSCRIBE_KEY = 'domRenderMessenger_subscribe';
|
199
|
+
return Messenger;
|
200
|
+
}());
|
201
|
+
exports.Messenger = Messenger;
|
package/operators/Appender.d.ts
CHANGED
@@ -1,12 +1,7 @@
|
|
1
|
-
export declare class Appender {
|
2
|
-
|
3
|
-
|
4
|
-
constructor(
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
length: number;
|
9
|
-
constructor();
|
10
|
-
push(...items: any[]): void;
|
11
|
-
clear(): void;
|
12
|
-
}
|
1
|
+
export declare class Appender {
|
2
|
+
[key: number]: any[] | undefined;
|
3
|
+
length: number;
|
4
|
+
constructor();
|
5
|
+
push(...items: any[]): void;
|
6
|
+
clear(): void;
|
7
|
+
}
|