dom-render 1.0.71 → 1.0.74

Sign up to get free protection for your applications and to get access to all the features.
Files changed (121) hide show
  1. package/Config.d.ts +36 -33
  2. package/Config.js +2 -2
  3. package/DomRender.d.ts +27 -4
  4. package/DomRender.js +88 -29
  5. package/DomRenderProxy.d.ts +29 -29
  6. package/DomRenderProxy.js +327 -323
  7. package/README.MD +567 -451
  8. package/RawSet.d.ts +118 -110
  9. package/RawSet.js +905 -829
  10. package/dist/bundle.js +3238 -2889
  11. package/events/EventManager.d.ts +47 -46
  12. package/events/EventManager.js +499 -495
  13. package/iterators/Range.d.ts +22 -22
  14. package/iterators/Range.js +65 -65
  15. package/lifecycle/OnBeforeReturnGet.d.ts +3 -3
  16. package/lifecycle/OnBeforeReturnGet.js +2 -2
  17. package/lifecycle/OnBeforeReturnSet.d.ts +3 -3
  18. package/lifecycle/OnBeforeReturnSet.js +2 -2
  19. package/lifecycle/OnCreateRender.d.ts +3 -3
  20. package/lifecycle/OnCreateRender.js +2 -2
  21. package/lifecycle/OnDestroyRender.d.ts +4 -0
  22. package/lifecycle/OnDestroyRender.js +2 -0
  23. package/lifecycle/OnInitRender.d.ts +7 -7
  24. package/lifecycle/OnInitRender.js +2 -2
  25. package/managers/RenderManager.d.ts +3 -3
  26. package/managers/RenderManager.js +18 -18
  27. package/operators/Appender.d.ts +12 -0
  28. package/operators/Appender.js +39 -0
  29. package/package.json +94 -94
  30. package/routers/HashRouter.d.ts +9 -0
  31. package/routers/HashRouter.js +53 -0
  32. package/routers/PathRouter.d.ts +9 -0
  33. package/routers/PathRouter.js +52 -0
  34. package/routers/Router.d.ts +25 -0
  35. package/routers/Router.js +116 -0
  36. package/types/Types.d.ts +14 -14
  37. package/types/Types.js +36 -36
  38. package/utils/clipboard/ClipBoardUtils.d.ts +6 -6
  39. package/utils/clipboard/ClipBoardUtils.js +25 -25
  40. package/utils/dom/DomUtils.d.ts +13 -13
  41. package/utils/dom/DomUtils.js +47 -47
  42. package/utils/location/LocationUtils.d.ts +16 -15
  43. package/utils/location/LocationUtils.js +57 -54
  44. package/utils/node/NodeUtils.d.ts +10 -10
  45. package/utils/node/NodeUtils.js +27 -27
  46. package/utils/random/RandomUtils.d.ts +7 -7
  47. package/utils/random/RandomUtils.js +47 -47
  48. package/utils/script/ScriptUtils.d.ts +14 -14
  49. package/utils/script/ScriptUtils.js +89 -89
  50. package/utils/storage/StorageUtils.d.ts +9 -9
  51. package/utils/storage/StorageUtils.js +48 -48
  52. package/utils/string/StringUtils.d.ts +5 -5
  53. package/utils/string/StringUtils.js +41 -41
  54. package/utils/valid/ValidUtils.d.ts +10 -10
  55. package/utils/valid/ValidUtils.js +78 -78
  56. package/validators/AllCheckedValidatorArray.d.ts +6 -6
  57. package/validators/AllCheckedValidatorArray.js +32 -32
  58. package/validators/AllUnCheckedValidatorArray.d.ts +6 -6
  59. package/validators/AllUnCheckedValidatorArray.js +32 -32
  60. package/validators/CheckedValidator.d.ts +5 -5
  61. package/validators/CheckedValidator.js +32 -32
  62. package/validators/CountEqualsCheckedValidatorArray.d.ts +7 -7
  63. package/validators/CountEqualsCheckedValidatorArray.js +34 -34
  64. package/validators/CountEqualsUnCheckedValidatorArray.d.ts +7 -7
  65. package/validators/CountEqualsUnCheckedValidatorArray.js +34 -34
  66. package/validators/CountGreaterThanCheckedValidatorArray.d.ts +7 -7
  67. package/validators/CountGreaterThanCheckedValidatorArray.js +34 -34
  68. package/validators/CountGreaterThanEqualsCheckedValidatorArray.d.ts +7 -7
  69. package/validators/CountGreaterThanEqualsCheckedValidatorArray.js +34 -34
  70. package/validators/CountGreaterThanEqualsUnCheckedValidatorArray.d.ts +7 -7
  71. package/validators/CountGreaterThanEqualsUnCheckedValidatorArray.js +34 -34
  72. package/validators/CountGreaterThanUnCheckedValidatorArray.d.ts +7 -7
  73. package/validators/CountGreaterThanUnCheckedValidatorArray.js +34 -34
  74. package/validators/CountLessThanCheckedValidatorArray.d.ts +7 -7
  75. package/validators/CountLessThanCheckedValidatorArray.js +34 -34
  76. package/validators/CountLessThanEqualsCheckedValidatorArray.d.ts +7 -7
  77. package/validators/CountLessThanEqualsCheckedValidatorArray.js +34 -34
  78. package/validators/CountLessThanEqualsUnCheckedValidatorArray.d.ts +7 -7
  79. package/validators/CountLessThanEqualsUnCheckedValidatorArray.js +34 -34
  80. package/validators/CountLessThanUnCheckedValidatorArray.d.ts +7 -7
  81. package/validators/CountLessThanUnCheckedValidatorArray.js +34 -34
  82. package/validators/CountUnCheckedValidatorArray.d.ts +7 -7
  83. package/validators/CountUnCheckedValidatorArray.js +34 -34
  84. package/validators/EmptyValidator.d.ts +5 -5
  85. package/validators/EmptyValidator.js +33 -33
  86. package/validators/ExcludeCheckedValidatorArray.d.ts +8 -8
  87. package/validators/ExcludeCheckedValidatorArray.js +41 -41
  88. package/validators/FormValidator.d.ts +7 -7
  89. package/validators/FormValidator.js +37 -37
  90. package/validators/IncludeCheckedValidatorArray.d.ts +8 -8
  91. package/validators/IncludeCheckedValidatorArray.js +41 -41
  92. package/validators/MultipleValidator.d.ts +8 -8
  93. package/validators/MultipleValidator.js +48 -48
  94. package/validators/NonPassValidator.d.ts +5 -5
  95. package/validators/NonPassValidator.js +31 -31
  96. package/validators/NotEmptyValidator.d.ts +5 -5
  97. package/validators/NotEmptyValidator.js +34 -34
  98. package/validators/NotRegExpTestValidator.d.ts +6 -6
  99. package/validators/NotRegExpTestValidator.js +42 -42
  100. package/validators/PassValidator.d.ts +5 -5
  101. package/validators/PassValidator.js +31 -31
  102. package/validators/RegExpTestValidator.d.ts +6 -6
  103. package/validators/RegExpTestValidator.js +43 -43
  104. package/validators/RequiredValidator.d.ts +5 -5
  105. package/validators/RequiredValidator.js +33 -33
  106. package/validators/UnCheckedValidator.d.ts +5 -5
  107. package/validators/UnCheckedValidator.js +32 -32
  108. package/validators/ValidMultipleValidator.d.ts +9 -9
  109. package/validators/ValidMultipleValidator.js +34 -34
  110. package/validators/ValidValidator.d.ts +6 -6
  111. package/validators/ValidValidator.js +33 -33
  112. package/validators/ValidValidatorArray.d.ts +7 -7
  113. package/validators/ValidValidatorArray.js +33 -33
  114. package/validators/Validator.d.ts +57 -57
  115. package/validators/Validator.js +242 -242
  116. package/validators/ValidatorArray.d.ts +17 -17
  117. package/validators/ValidatorArray.js +99 -99
  118. package/validators/ValueEqualsValidator.d.ts +6 -6
  119. package/validators/ValueEqualsValidator.js +33 -33
  120. package/validators/ValueNotEqualsValidator.d.ts +6 -6
  121. package/validators/ValueNotEqualsValidator.js +33 -33
package/Config.d.ts CHANGED
@@ -1,33 +1,36 @@
1
- import { ConstructorType } from './types/Types';
2
- import { CreatorMetaData, RawSet, Render } from './RawSet';
3
- export declare type TargetElement = {
4
- name: string;
5
- template?: string;
6
- styles?: string[];
7
- callBack: (target: Element, obj: any, rawSet: RawSet) => DocumentFragment;
8
- complete?: (target: Element, obj: any, rawSet: RawSet) => void;
9
- __render?: Render;
10
- __creatorMetaData?: CreatorMetaData;
11
- };
12
- export declare type TargetAttr = {
13
- name: string;
14
- callBack: (target: Element, attrValue: string, obj: any, rawSet: RawSet) => DocumentFragment;
15
- complete?: (target: Element, attrValue: string, obj: any, rawSet: RawSet) => void;
16
- };
17
- export interface Config {
18
- window: Window;
19
- targetElements?: TargetElement[];
20
- targetAttrs?: TargetAttr[];
21
- onElementInit?: (name: string, obj: any, rawSet: RawSet, targetElement: TargetElement) => any;
22
- onAttrInit?: (name: string, attrValue: string, obj: any, rawSet: RawSet) => any;
23
- proxyExcludeTyps?: ConstructorType<any>[];
24
- proxyExcludeOnBeforeReturnSets?: string[];
25
- proxyExcludeOnBeforeReturnGets?: string[];
26
- scripts?: {
27
- [n: string]: any;
28
- };
29
- applyEvents?: {
30
- attrName: string;
31
- callBack: (elements: Element, attrValue: string, obj: any) => void;
32
- }[];
33
- }
1
+ import { ConstructorType } from './types/Types';
2
+ import { CreatorMetaData, RawSet, Render } from './RawSet';
3
+ import { Router } from './routers/Router';
4
+ export declare type TargetElement = {
5
+ name: string;
6
+ template?: string;
7
+ styles?: string[];
8
+ callBack: (target: Element, obj: any, rawSet: RawSet) => DocumentFragment;
9
+ complete?: (target: Element, obj: any, rawSet: RawSet) => void;
10
+ __render?: Render;
11
+ __creatorMetaData?: CreatorMetaData;
12
+ };
13
+ export declare type TargetAttr = {
14
+ name: string;
15
+ callBack: (target: Element, attrValue: string, obj: any, rawSet: RawSet) => DocumentFragment;
16
+ complete?: (target: Element, attrValue: string, obj: any, rawSet: RawSet) => void;
17
+ };
18
+ export declare type Config = {
19
+ window: Window;
20
+ targetElements?: TargetElement[];
21
+ targetAttrs?: TargetAttr[];
22
+ onElementInit?: (name: string, obj: any, rawSet: RawSet, targetElement: TargetElement) => any;
23
+ onAttrInit?: (name: string, attrValue: string, obj: any, rawSet: RawSet) => any;
24
+ proxyExcludeTyps?: ConstructorType<any>[];
25
+ proxyExcludeOnBeforeReturnSets?: string[];
26
+ proxyExcludeOnBeforeReturnGets?: string[];
27
+ scripts?: {
28
+ [n: string]: any;
29
+ };
30
+ routerType?: 'hash' | 'path' | 'none';
31
+ router?: Router;
32
+ applyEvents?: {
33
+ attrName: string;
34
+ callBack: (elements: Element, attrValue: string, obj: any) => void;
35
+ }[];
36
+ };
package/Config.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
package/DomRender.d.ts CHANGED
@@ -1,4 +1,27 @@
1
- import { Config } from './Config';
2
- export declare class DomRender {
3
- static run<T extends object>(obj: T, target?: Node, config?: Config): T;
4
- }
1
+ import { Config } from './Config';
2
+ import { ConstructorType } from './types/Types';
3
+ import { RawSet } from './RawSet';
4
+ export declare class DomRender {
5
+ static run<T extends object>(obj: T, target?: Node, config?: Config): T;
6
+ static addComponent(config: Config, { type, tagName }: {
7
+ type: ConstructorType<any>;
8
+ tagName?: string;
9
+ }, { template, styles }: {
10
+ template: string;
11
+ styles?: string[];
12
+ }): {
13
+ add: (source: {
14
+ type: ConstructorType<any>;
15
+ tagName?: string;
16
+ }, front: {
17
+ template: string;
18
+ styles?: string[];
19
+ }) => any;
20
+ };
21
+ static addAttribute(config: Config, attrName: string, getThisObj: (element: Element, attrValue: string, obj: any, rawSet: RawSet) => any, factory: (element: Element, attrValue: string, obj: any, rawSet: RawSet) => DocumentFragment): {
22
+ add: (attrName: string, getThisObj: (element: Element, attrValue: string, obj: any, rawSet: RawSet) => any, factory: (element: Element, attrValue: string, obj: any, rawSet: RawSet) => DocumentFragment) => any;
23
+ };
24
+ static addAttributeCallBack(config: Config, attrName: string, callBack: (elements: Element, attrValue: string, obj: any) => void): {
25
+ add: (attrName: string, callBack: (elements: Element, attrValue: string, obj: any) => void) => any;
26
+ };
27
+ }
package/DomRender.js CHANGED
@@ -1,29 +1,88 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DomRender = void 0;
4
- var DomRenderProxy_1 = require("./DomRenderProxy");
5
- var DomRender = /** @class */ (function () {
6
- function DomRender() {
7
- }
8
- DomRender.run = function (obj, target, config) {
9
- var robj = obj;
10
- if ('_DomRender_isProxy' in obj) {
11
- if (target) {
12
- obj._DomRender_proxy.initRender(target);
13
- }
14
- robj = obj;
15
- return robj;
16
- }
17
- if (!config) {
18
- config = { window: window };
19
- }
20
- var domRender = new DomRenderProxy_1.DomRenderProxy(obj, target, config);
21
- var dest = new Proxy(obj, domRender);
22
- robj = dest;
23
- domRender.run(robj);
24
- return robj;
25
- };
26
- return DomRender;
27
- }());
28
- exports.DomRender = DomRender;
29
- // export default DomRender;
1
+ "use strict";
2
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
3
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
4
+ if (ar || !(i in from)) {
5
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
6
+ ar[i] = from[i];
7
+ }
8
+ }
9
+ return to.concat(ar || Array.prototype.slice.call(from));
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.DomRender = void 0;
13
+ var DomRenderProxy_1 = require("./DomRenderProxy");
14
+ var PathRouter_1 = require("./routers/PathRouter");
15
+ var HashRouter_1 = require("./routers/HashRouter");
16
+ var RawSet_1 = require("./RawSet");
17
+ var DomRender = /** @class */ (function () {
18
+ function DomRender() {
19
+ }
20
+ DomRender.run = function (obj, target, config) {
21
+ var _a, _b;
22
+ var robj = obj;
23
+ if ('_DomRender_isProxy' in obj) {
24
+ if (target) {
25
+ obj._DomRender_proxy.initRender(target);
26
+ }
27
+ robj = obj;
28
+ return robj;
29
+ }
30
+ if (!config) {
31
+ config = { window: window };
32
+ }
33
+ config.routerType = config.routerType || 'none';
34
+ var domRender = new DomRenderProxy_1.DomRenderProxy(obj, target, config);
35
+ var dest = new Proxy(obj, domRender);
36
+ robj = dest;
37
+ if (config.routerType === 'path') {
38
+ config.router = (_a = config.router) !== null && _a !== void 0 ? _a : new PathRouter_1.PathRouter(robj, config.window);
39
+ }
40
+ else if (config.routerType === 'hash') {
41
+ config.router = (_b = config.router) !== null && _b !== void 0 ? _b : new HashRouter_1.HashRouter(robj, config.window);
42
+ }
43
+ domRender.run(robj);
44
+ return robj;
45
+ };
46
+ DomRender.addComponent = function (config, _a, _b) {
47
+ var _c;
48
+ var type = _a.type, _d = _a.tagName, tagName = _d === void 0 ? type.name : _d;
49
+ var template = _b.template, _e = _b.styles, styles = _e === void 0 ? [] : _e;
50
+ var component = RawSet_1.RawSet.createComponentTargetElement(tagName, function (e, o, r2, counstructorParam) {
51
+ // console.log('------->',counstructorParam)
52
+ return new (type.bind.apply(type, __spreadArray([void 0], counstructorParam, false)))();
53
+ }, template, styles, config);
54
+ config.targetElements = (_c = config.targetElements) !== null && _c !== void 0 ? _c : [];
55
+ config.targetElements.push(component);
56
+ return {
57
+ add: function (source, front) {
58
+ return DomRender.addComponent(config, source, front);
59
+ }
60
+ };
61
+ };
62
+ DomRender.addAttribute = function (config, attrName, getThisObj, factory) {
63
+ var _a;
64
+ var targetAttribute = RawSet_1.RawSet.createComponentTargetAttribute(attrName, getThisObj, factory);
65
+ config.targetAttrs = (_a = config.targetAttrs) !== null && _a !== void 0 ? _a : [];
66
+ config.targetAttrs.push(targetAttribute);
67
+ return {
68
+ add: function (attrName, getThisObj, factory) {
69
+ return DomRender.addAttribute(config, attrName, getThisObj, factory);
70
+ }
71
+ };
72
+ };
73
+ DomRender.addAttributeCallBack = function (config, attrName, callBack) {
74
+ var _a;
75
+ config.applyEvents = (_a = config.applyEvents) !== null && _a !== void 0 ? _a : [];
76
+ config.applyEvents.push({
77
+ attrName: attrName,
78
+ callBack: callBack
79
+ });
80
+ return {
81
+ add: function (attrName, callBack) {
82
+ return DomRender.addAttributeCallBack(config, attrName, callBack);
83
+ }
84
+ };
85
+ };
86
+ return DomRender;
87
+ }());
88
+ exports.DomRender = DomRender;
@@ -1,29 +1,29 @@
1
- import { RawSet } from './RawSet';
2
- import { Config } from './Config';
3
- export declare class DomRenderProxy<T extends object> implements ProxyHandler<T> {
4
- _domRender_origin: T;
5
- private config;
6
- _domRender_ref: Map<object, Set<string>>;
7
- _rawSets: Map<string, Set<RawSet>>;
8
- _domRender_proxy?: T;
9
- _targets: Set<Node>;
10
- constructor(_domRender_origin: T, target: Node | undefined, config: Config);
11
- static unFinal<T = any>(obj: T): T;
12
- static final<T = any>(obj: T): T;
13
- static isFinal<T = any>(obj: T): boolean;
14
- run(objProxy: T): void;
15
- initRender(target: Node): void;
16
- getRawSets(): RawSet[];
17
- render(raws?: RawSet[]): void;
18
- root(paths: string[], value?: any, lastDoneExecute?: boolean): string[];
19
- set(target: T, p: string | symbol, value: any, receiver: T): boolean;
20
- get(target: T, p: string | symbol, receiver: any): any;
21
- has(target: T, p: string | symbol): boolean;
22
- proxy(parentProxy: T, obj: T | any, p: string): any;
23
- addRef(parent: object, path: string): void;
24
- addRawSetAndRender(path: string, rawSet: RawSet): void;
25
- addRawSet(path: string, rawSet: RawSet): void;
26
- removeRawSet(...raws: RawSet[]): void;
27
- private targetGarbageRawSet;
28
- private garbageRawSet;
29
- }
1
+ import { RawSet } from './RawSet';
2
+ import { Config } from './Config';
3
+ export declare class DomRenderProxy<T extends object> implements ProxyHandler<T> {
4
+ _domRender_origin: T;
5
+ config: Config;
6
+ _domRender_ref: Map<object, Set<string>>;
7
+ _rawSets: Map<string, Set<RawSet>>;
8
+ _domRender_proxy?: T;
9
+ _targets: Set<Node>;
10
+ constructor(_domRender_origin: T, target: Node | undefined, config: Config);
11
+ static unFinal<T = any>(obj: T): T;
12
+ static final<T = any>(obj: T): T;
13
+ static isFinal<T = any>(obj: T): boolean;
14
+ run(objProxy: T): void;
15
+ initRender(target: Node): void;
16
+ getRawSets(): RawSet[];
17
+ render(raws?: RawSet[] | string): void;
18
+ root(paths: string[], value?: any, lastDoneExecute?: boolean): string[];
19
+ set(target: T, p: string | symbol, value: any, receiver: T): boolean;
20
+ get(target: T, p: string | symbol, receiver: any): any;
21
+ has(target: T, p: string | symbol): boolean;
22
+ proxy(parentProxy: T, obj: T | any, p: string): any;
23
+ addRef(parent: object, path: string): void;
24
+ addRawSetAndRender(path: string, rawSet: RawSet): void;
25
+ addRawSet(path: string, rawSet: RawSet): void;
26
+ removeRawSet(...raws: RawSet[]): void;
27
+ private targetGarbageRawSet;
28
+ private garbageRawSet;
29
+ }