dom-render 1.0.74 → 1.0.77
Sign up to get free protection for your applications and to get access to all the features.
- package/Config.d.ts +38 -36
- package/Config.js +2 -2
- package/DomRender.d.ts +28 -27
- package/DomRender.js +90 -88
- package/DomRenderProxy.d.ts +29 -29
- package/DomRenderProxy.js +342 -327
- package/README.MD +638 -567
- package/RawSet.d.ts +140 -118
- package/RawSet.js +771 -905
- package/components/ComponentSet.d.ts +7 -0
- package/components/ComponentSet.js +14 -0
- package/dist/bundle.js +3789 -3214
- package/events/EventManager.d.ts +48 -47
- package/events/EventManager.js +530 -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 -4
- package/lifecycle/OnDestroyRender.js +2 -2
- 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 +0 -0
- package/operators/AttrExpresion.js +44 -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 -25
- package/routers/Router.js +116 -116
- 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,4 +1,4 @@
|
|
1
|
-
import { CreatorMetaData } from '../RawSet';
|
2
|
-
export interface OnDestroyRender {
|
3
|
-
onDestroyRender(metaData
|
4
|
-
}
|
1
|
+
import { CreatorMetaData } from '../RawSet';
|
2
|
+
export interface OnDestroyRender {
|
3
|
+
onDestroyRender(metaData?: CreatorMetaData): void;
|
4
|
+
}
|
@@ -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
|
+
}
|