@dooboostore/dom-render 1.0.108 → 1.0.110
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/README.MD +27 -1451
- package/dist/cjs/DomRender.js +41 -26
- package/dist/cjs/DomRender.js.map +2 -2
- package/dist/cjs/DomRenderProxy.js +134 -62
- package/dist/cjs/DomRenderProxy.js.map +2 -2
- package/dist/cjs/bundle-entry.js +32 -21
- package/dist/cjs/bundle-entry.js.map +2 -2
- package/dist/cjs/components/ComponentBase.js +24 -6
- package/dist/cjs/components/ComponentBase.js.map +2 -2
- package/dist/cjs/components/ComponentRouterBase.js +11 -1
- package/dist/cjs/components/ComponentRouterBase.js.map +2 -2
- package/dist/cjs/components/appender/Appender.js +0 -3
- package/dist/cjs/components/appender/Appender.js.map +2 -2
- package/dist/cjs/components/checkbox/CheckBox.js.map +2 -2
- package/dist/cjs/components/choose/Choose.js +7 -1
- package/dist/cjs/components/choose/Choose.js.map +2 -2
- package/dist/cjs/components/details/Details.js +2 -2
- package/dist/cjs/components/details/Details.js.map +2 -2
- package/dist/cjs/components/forOf/ForOf.js.map +2 -2
- package/dist/cjs/components/if/If.js +2 -2
- package/dist/cjs/components/if/If.js.map +2 -2
- package/dist/cjs/components/input/Input.js +2 -2
- package/dist/cjs/components/input/Input.js.map +2 -2
- package/dist/cjs/components/promise/PromiseSwitch.js +6 -6
- package/dist/cjs/components/promise/PromiseSwitch.js.map +2 -2
- package/dist/cjs/components/radio/Radio.js.map +2 -2
- package/dist/cjs/components/router/Route.js +2 -2
- package/dist/cjs/components/router/Route.js.map +2 -2
- package/dist/cjs/components/router/RouterOutlet.js +17 -3
- package/dist/cjs/components/router/RouterOutlet.js.map +2 -2
- package/dist/cjs/components/select/Select.js +26 -12
- package/dist/cjs/components/select/Select.js.map +2 -2
- package/dist/cjs/components/this/This.js +2 -2
- package/dist/cjs/components/this/This.js.map +2 -2
- package/dist/cjs/components/timer/Timer.js +15 -13
- package/dist/cjs/components/timer/Timer.js.map +2 -2
- package/dist/cjs/decorators/DomRenderNoProxy.js +2 -1
- package/dist/cjs/decorators/DomRenderNoProxy.js.map +2 -2
- package/dist/cjs/events/EventManager.js +9 -2
- package/dist/cjs/events/EventManager.js.map +2 -2
- package/dist/cjs/lifecycle/OnInitRender.js.map +1 -1
- package/dist/cjs/lifecycle/OnRawSetRendered.js +26 -0
- package/dist/cjs/lifecycle/OnRawSetRendered.js.map +7 -0
- package/dist/cjs/lifecycle/index.js +1 -0
- package/dist/cjs/lifecycle/index.js.map +2 -2
- package/dist/cjs/operators/DrForOf.js +24 -11
- package/dist/cjs/operators/DrForOf.js.map +2 -2
- package/dist/cjs/operators/DrIf.js +1 -2
- package/dist/cjs/operators/DrIf.js.map +2 -2
- package/dist/cjs/operators/DrInnerText.js +2 -2
- package/dist/cjs/operators/DrInnerText.js.map +2 -2
- package/dist/cjs/operators/DrTargetElement.js +2 -0
- package/dist/cjs/operators/DrTargetElement.js.map +2 -2
- package/dist/cjs/operators/OperatorExecuter.js +1 -2
- package/dist/cjs/operators/OperatorExecuter.js.map +2 -2
- package/dist/cjs/package.json +5 -0
- package/dist/cjs/rawsets/RawSet.js +392 -115
- package/dist/cjs/rawsets/RawSet.js.map +3 -3
- package/dist/cjs/rawsets/Render.js.map +1 -1
- package/dist/cjs/routers/PathRouter.js +13 -7
- package/dist/cjs/routers/PathRouter.js.map +2 -2
- package/dist/cjs/routers/Router.js +76 -36
- package/dist/cjs/routers/Router.js.map +3 -3
- package/dist/esm/DomRender.js +41 -26
- package/dist/esm/DomRender.js.map +2 -2
- package/dist/esm/DomRenderProxy.js +134 -62
- package/dist/esm/DomRenderProxy.js.map +2 -2
- package/dist/esm/bundle-entry.js +22 -21
- package/dist/esm/bundle-entry.js.map +2 -2
- package/dist/esm/components/ComponentBase.js +24 -6
- package/dist/esm/components/ComponentBase.js.map +2 -2
- package/dist/esm/components/ComponentRouterBase.js +11 -1
- package/dist/esm/components/ComponentRouterBase.js.map +2 -2
- package/dist/esm/components/appender/Appender.js +0 -3
- package/dist/esm/components/appender/Appender.js.map +2 -2
- package/dist/esm/components/checkbox/CheckBox.js.map +2 -2
- package/dist/esm/components/choose/Choose.js +7 -1
- package/dist/esm/components/choose/Choose.js.map +2 -2
- package/dist/esm/components/details/Details.js +2 -2
- package/dist/esm/components/details/Details.js.map +2 -2
- package/dist/esm/components/forOf/ForOf.js.map +2 -2
- package/dist/esm/components/if/If.js +2 -2
- package/dist/esm/components/if/If.js.map +2 -2
- package/dist/esm/components/input/Input.js +2 -2
- package/dist/esm/components/input/Input.js.map +2 -2
- package/dist/esm/components/promise/PromiseSwitch.js +6 -6
- package/dist/esm/components/promise/PromiseSwitch.js.map +2 -2
- package/dist/esm/components/radio/Radio.js.map +2 -2
- package/dist/esm/components/router/Route.js +2 -2
- package/dist/esm/components/router/Route.js.map +2 -2
- package/dist/esm/components/router/RouterOutlet.js +18 -4
- package/dist/esm/components/router/RouterOutlet.js.map +2 -2
- package/dist/esm/components/select/Select.js +26 -12
- package/dist/esm/components/select/Select.js.map +2 -2
- package/dist/esm/components/this/This.js +2 -2
- package/dist/esm/components/this/This.js.map +2 -2
- package/dist/esm/components/timer/Timer.js +15 -13
- package/dist/esm/components/timer/Timer.js.map +2 -2
- package/dist/esm/decorators/DomRenderNoProxy.js +2 -1
- package/dist/esm/decorators/DomRenderNoProxy.js.map +2 -2
- package/dist/esm/events/EventManager.js +9 -2
- package/dist/esm/events/EventManager.js.map +2 -2
- package/dist/esm/lifecycle/OnInitRender.js.map +1 -1
- package/dist/esm/lifecycle/OnRawSetRendered.js +7 -0
- package/dist/esm/lifecycle/OnRawSetRendered.js.map +7 -0
- package/dist/esm/lifecycle/index.js +1 -0
- package/dist/esm/lifecycle/index.js.map +2 -2
- package/dist/esm/operators/DrForOf.js +24 -11
- package/dist/esm/operators/DrForOf.js.map +2 -2
- package/dist/esm/operators/DrIf.js +1 -2
- package/dist/esm/operators/DrIf.js.map +2 -2
- package/dist/esm/operators/DrInnerText.js +2 -2
- package/dist/esm/operators/DrInnerText.js.map +2 -2
- package/dist/esm/operators/DrTargetElement.js +2 -0
- package/dist/esm/operators/DrTargetElement.js.map +2 -2
- package/dist/esm/operators/OperatorExecuter.js +1 -2
- package/dist/esm/operators/OperatorExecuter.js.map +2 -2
- package/dist/esm/rawsets/RawSet.js +392 -115
- package/dist/esm/rawsets/RawSet.js.map +3 -3
- package/dist/esm/routers/PathRouter.js +13 -7
- package/dist/esm/routers/PathRouter.js.map +2 -2
- package/dist/esm/routers/Router.js +76 -36
- package/dist/esm/routers/Router.js.map +3 -3
- package/dist/esm-bundle/dooboostore-dom-render.esm.js +14023 -6402
- package/dist/esm-bundle/dooboostore-dom-render.esm.js.map +4 -4
- package/dist/types/DomRender.d.ts +11 -5
- package/dist/types/DomRender.d.ts.map +1 -1
- package/dist/types/DomRenderProxy.d.ts +2 -2
- package/dist/types/DomRenderProxy.d.ts.map +1 -1
- package/dist/types/bundle-entry.d.ts +5 -2
- package/dist/types/bundle-entry.d.ts.map +1 -1
- package/dist/types/components/ComponentBase.d.ts +8 -2
- package/dist/types/components/ComponentBase.d.ts.map +1 -1
- package/dist/types/components/ComponentRouterBase.d.ts +8 -0
- package/dist/types/components/ComponentRouterBase.d.ts.map +1 -1
- package/dist/types/components/appender/Appender.d.ts +0 -2
- package/dist/types/components/appender/Appender.d.ts.map +1 -1
- package/dist/types/components/checkbox/CheckBox.d.ts.map +1 -1
- package/dist/types/components/choose/Choose.d.ts.map +1 -1
- package/dist/types/components/details/Details.d.ts +1 -1
- package/dist/types/components/details/Details.d.ts.map +1 -1
- package/dist/types/components/forOf/ForOf.d.ts.map +1 -1
- package/dist/types/components/if/If.d.ts +1 -1
- package/dist/types/components/if/If.d.ts.map +1 -1
- package/dist/types/components/index.d.ts +2 -1
- package/dist/types/components/index.d.ts.map +1 -1
- package/dist/types/components/input/Input.d.ts +1 -1
- package/dist/types/components/input/Input.d.ts.map +1 -1
- package/dist/types/components/promise/PromiseSwitch.d.ts +1 -1
- package/dist/types/components/promise/PromiseSwitch.d.ts.map +1 -1
- package/dist/types/components/radio/Radio.d.ts.map +1 -1
- package/dist/types/components/router/Route.d.ts +1 -1
- package/dist/types/components/router/Route.d.ts.map +1 -1
- package/dist/types/components/router/RouterOutlet.d.ts +6 -2
- package/dist/types/components/router/RouterOutlet.d.ts.map +1 -1
- package/dist/types/components/select/Select.d.ts +5 -5
- package/dist/types/components/select/Select.d.ts.map +1 -1
- package/dist/types/components/this/This.d.ts +1 -1
- package/dist/types/components/this/This.d.ts.map +1 -1
- package/dist/types/components/timer/Timer.d.ts +6 -4
- package/dist/types/components/timer/Timer.d.ts.map +1 -1
- package/dist/types/decorators/DomRenderNoProxy.d.ts.map +1 -1
- package/dist/types/events/EventManager.d.ts +8 -0
- package/dist/types/events/EventManager.d.ts.map +1 -1
- package/dist/types/index.d.ts +0 -100
- package/dist/types/lifecycle/OnInitRender.d.ts +1 -1
- package/dist/types/lifecycle/OnInitRender.d.ts.map +1 -1
- package/dist/types/lifecycle/OnRawSetRendered.d.ts +10 -0
- package/dist/types/lifecycle/OnRawSetRendered.d.ts.map +1 -0
- package/dist/types/lifecycle/index.d.ts +1 -0
- package/dist/types/lifecycle/index.d.ts.map +1 -1
- package/dist/types/operators/DrForOf.d.ts.map +1 -1
- package/dist/types/operators/DrInnerText.d.ts.map +1 -1
- package/dist/types/operators/DrTargetElement.d.ts.map +1 -1
- package/dist/types/operators/OperatorExecuter.d.ts.map +1 -1
- package/dist/types/rawsets/RawSet.d.ts +17 -9
- package/dist/types/rawsets/RawSet.d.ts.map +1 -1
- package/dist/types/rawsets/Render.d.ts +1 -0
- package/dist/types/rawsets/Render.d.ts.map +1 -1
- package/dist/types/routers/PathRouter.d.ts.map +1 -1
- package/dist/types/routers/Router.d.ts +11 -14
- package/dist/types/routers/Router.d.ts.map +1 -1
- package/dist/umd-bundle/dooboostore-dom-render.umd.js +14104 -6502
- package/dist/umd-bundle/dooboostore-dom-render.umd.js.map +4 -4
- package/package.json +9 -8
- package/src/DomRender.ts +62 -34
- package/src/DomRenderProxy.ts +275 -142
- package/src/bundle-entry.ts +5 -3
- package/src/components/ComponentBase.ts +33 -11
- package/src/components/ComponentRouterBase.ts +17 -2
- package/src/components/appender/Appender.ts +0 -5
- package/src/components/checkbox/CheckBox.ts +22 -25
- package/src/components/choose/Choose.ts +19 -18
- package/src/components/details/Details.ts +40 -43
- package/src/components/forOf/ForOf.ts +6 -9
- package/src/components/if/If.ts +9 -11
- package/src/components/input/Input.ts +16 -22
- package/src/components/promise/PromiseSwitch.ts +67 -66
- package/src/components/radio/Radio.ts +23 -28
- package/src/components/router/Route.ts +10 -13
- package/src/components/router/RouterOutlet.ts +29 -8
- package/src/components/select/Select.ts +47 -33
- package/src/components/this/This.ts +13 -12
- package/src/components/timer/Timer.ts +29 -65
- package/src/decorators/DomRenderNoProxy.ts +3 -1
- package/src/events/EventManager.ts +15 -4
- package/src/lifecycle/OnInitRender.ts +1 -1
- package/src/lifecycle/OnRawSetRendered.ts +15 -0
- package/src/lifecycle/index.ts +1 -0
- package/src/node_modules/.bin/acorn +17 -0
- package/src/node_modules/.bin/browserslist +17 -0
- package/src/node_modules/.bin/eslint +17 -0
- package/src/node_modules/.bin/sbf +17 -0
- package/src/node_modules/.bin/ts-node +17 -0
- package/src/node_modules/.bin/ts-node-cwd +17 -0
- package/src/node_modules/.bin/ts-node-dev +17 -0
- package/src/node_modules/.bin/ts-node-esm +17 -0
- package/src/node_modules/.bin/ts-node-script +17 -0
- package/src/node_modules/.bin/ts-node-transpile-only +17 -0
- package/src/node_modules/.bin/ts-script +17 -0
- package/src/node_modules/.bin/tsc +17 -0
- package/src/node_modules/.bin/tsnd +17 -0
- package/src/node_modules/.bin/tsserver +17 -0
- package/src/node_modules/.bin/webpack +17 -0
- package/src/node_modules/.bin/webpack-cli +17 -0
- package/src/node_modules/.bin/webpack-dev-server +17 -0
- package/src/operators/DrForOf.ts +25 -10
- package/src/operators/DrIf.ts +1 -1
- package/src/operators/DrInnerText.ts +2 -1
- package/src/operators/DrTargetElement.ts +14 -0
- package/src/operators/OperatorExecuter.ts +1 -2
- package/src/rawsets/RawSet.ts +709 -295
- package/src/rawsets/Render.ts +1 -0
- package/src/routers/PathRouter.ts +14 -7
- package/src/routers/Router.ts +107 -61
- package/types.d.ts +0 -2825
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/rawsets/Render.ts"],
|
|
4
|
-
"sourcesContent": ["import { CreatorMetaData } from './CreatorMetaData';\nimport { Router } from '../routers/Router';\nimport { RawSet } from './RawSet';\n\nexport type Render = {\n rawSet?: RawSet;\n scripts?: { [n: string]: any };\n bindScript?: string;\n renderScript?: string;\n element?: any;\n getElement?: <T extends Element>()=>T;\n attribute?: any;\n creatorMetaData?: CreatorMetaData;\n router?: Router;\n range?: any;\n value?: any;\n currentThis?: any;\n currentThisPath?: any;\n nearThisPath?: string,\n nearThis?: any;\n parentThisPath?: string,\n parentThis?: any,\n rootObject?: any,\n [n: string]: any; // component?: any; //component instance\n}\n"],
|
|
4
|
+
"sourcesContent": ["import { CreatorMetaData } from './CreatorMetaData';\nimport { Router } from '../routers/Router';\nimport { RawSet } from './RawSet';\n\nexport type Render = {\n rawSet?: RawSet;\n scripts?: { [n: string]: any };\n bindScript?: string;\n renderScript?: string;\n element?: any;\n getElement?: <T extends Element>()=>T;\n attribute?: any;\n creatorMetaData?: CreatorMetaData;\n router?: Router;\n range?: any;\n value?: any;\n innerHTML?: string;\n currentThis?: any;\n currentThisPath?: any;\n nearThisPath?: string,\n nearThis?: any;\n parentThisPath?: string,\n parentThis?: any,\n rootObject?: any,\n [n: string]: any; // component?: any; //component instance\n}\n"],
|
|
5
5
|
"mappings": ";;;;;;;;;;;;;AAAA;AAAA;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -26,7 +26,10 @@ class PathRouter extends import_Router.Router {
|
|
|
26
26
|
super(config);
|
|
27
27
|
}
|
|
28
28
|
getSearchParams(data) {
|
|
29
|
-
|
|
29
|
+
if (!this.config.window.document?.location?.href) {
|
|
30
|
+
return new URLSearchParams();
|
|
31
|
+
}
|
|
32
|
+
const searchParams = new URL(this.config.window.document.location?.href).searchParams;
|
|
30
33
|
data?.delete?.forEach((it) => {
|
|
31
34
|
searchParams.delete(it);
|
|
32
35
|
});
|
|
@@ -48,7 +51,7 @@ class PathRouter extends import_Router.Router {
|
|
|
48
51
|
pushDeleteHashSearchParam(name, data, title) {
|
|
49
52
|
const s = this.getHashSearchParams({ delete: [name] });
|
|
50
53
|
const size = Array.from(s.entries()).length;
|
|
51
|
-
const href = `${this.config.window.location
|
|
54
|
+
const href = `${this.config.window.location?.pathname ?? "/"}${this.config.window.location?.search}${size > 0 ? "#" + s.toString() : ""}`;
|
|
52
55
|
super.pushState(data, title, href);
|
|
53
56
|
}
|
|
54
57
|
pushAddSearchParam(params, data, title) {
|
|
@@ -62,7 +65,7 @@ class PathRouter extends import_Router.Router {
|
|
|
62
65
|
replaceDeleteHashSearchParam(name, data, title) {
|
|
63
66
|
const s = this.getHashSearchParams({ delete: Array.isArray(name) ? name : [name] });
|
|
64
67
|
const size = Array.from(s.entries()).length;
|
|
65
|
-
const href = `${this.config.window.location
|
|
68
|
+
const href = `${this.config.window.location?.pathname ?? "/"}${this.config.window.location?.search}${size > 0 ? "#" + s.toString() : ""}`;
|
|
66
69
|
super.replaceState(data, title, href);
|
|
67
70
|
}
|
|
68
71
|
replaceAddSearchParam(params, data, title) {
|
|
@@ -70,17 +73,20 @@ class PathRouter extends import_Router.Router {
|
|
|
70
73
|
this.replace({ searchParams: s }, data, title);
|
|
71
74
|
}
|
|
72
75
|
getUrl() {
|
|
73
|
-
|
|
76
|
+
if (!this.config.window.document?.location?.href) {
|
|
77
|
+
return "/";
|
|
78
|
+
}
|
|
79
|
+
const url = new URL(this.config.window.document.location?.href);
|
|
74
80
|
return url.pathname + url.search;
|
|
75
81
|
}
|
|
76
82
|
getHref() {
|
|
77
|
-
return this.config.window.location
|
|
83
|
+
return this.config.window.location?.href ?? "/";
|
|
78
84
|
}
|
|
79
85
|
getPathName() {
|
|
80
|
-
return this.config.window.location
|
|
86
|
+
return this.config.window.location?.pathname ?? "/";
|
|
81
87
|
}
|
|
82
88
|
getHashSearchParams(data) {
|
|
83
|
-
const searchParams = new URLSearchParams(this.config.window.location
|
|
89
|
+
const searchParams = new URLSearchParams(this.config.window.location?.hash.slice(1) ?? "");
|
|
84
90
|
data?.delete?.forEach((it) => {
|
|
85
91
|
searchParams.delete(it);
|
|
86
92
|
});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/routers/PathRouter.ts"],
|
|
4
|
-
"sourcesContent": ["import { ChangeStateResult, RouteAction, Router, RouterConfig } from './Router';\n\nexport class PathRouter extends Router {\n constructor(config: RouterConfig) {\n super(config);\n }\n\n getSearchParams(data?:{delete?:string[], append?:[[string, string]]}): URLSearchParams {\n const searchParams = (new URL(this.config.window.document.location
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAqE;AAE9D,MAAM,mBAAmB,qBAAO;AAAA,EACrC,YAAY,QAAsB;AAChC,UAAM,MAAM;AAAA,EACd;AAAA,EAEA,gBAAgB,MAAuE;AACrF,UAAM,eAAiB,IAAI,IAAI,KAAK,OAAO,OAAO,SAAS,
|
|
4
|
+
"sourcesContent": ["import { ChangeStateResult, RouteAction, Router, RouterConfig } from './Router';\n\nexport class PathRouter extends Router {\n constructor(config: RouterConfig) {\n super(config);\n }\n\n getSearchParams(data?:{delete?:string[], append?:[[string, string]]}): URLSearchParams {\n if (!this.config.window.document?.location?.href) {\n return new URLSearchParams();\n }\n\n const searchParams = (new URL(this.config.window.document.location?.href)).searchParams;\n data?.delete?.forEach(it => {\n searchParams.delete(it);\n })\n\n data?.append?.forEach(it => {\n searchParams.append(it[0], it[1]);\n })\n return searchParams;\n\n }\n\n push(path: RouteAction, data?: any, title: string = ''): ChangeStateResult {\n return super.pushState(data, title, this.toUrl(path));\n }\n\n replace(path: RouteAction, data?: any, title: string = ''): ChangeStateResult {\n return super.replaceState(data, title, this.toUrl(path));\n }\n\n pushDeleteSearchParam(name: string, data?: any, title?: string): void {\n const s = this.getSearchParams({delete: [name]});\n this.push({searchParams: s}, data, title);\n }\n\n pushDeleteHashSearchParam(name: string, data?: any, title?: string) {\n const s = this.getHashSearchParams({delete: [name]});\n const size = Array.from(s.entries()).length;\n const href = `${this.config.window.location?.pathname??'/'}${this.config.window.location?.search}${size > 0 ? '#' + s.toString() : ''}`;\n super.pushState(data, title, href);\n }\n\n pushAddSearchParam(params:[[string, string]], data?: any, title?: string): void {\n const s = this.getSearchParams({append: params});\n this.push({searchParams: s}, data, title);\n }\n replaceDeleteSearchParam(name: string | string[], data?: any, title?: string): void {\n const s = this.getSearchParams({delete: Array.isArray(name) ? name : [name]});\n this.replace({searchParams: s}, data, title);\n }\n\n replaceDeleteHashSearchParam(name: string | string[], data?: any, title?: string) {\n const s = this.getHashSearchParams({delete: Array.isArray(name) ? name : [name]});\n const size = Array.from(s.entries()).length;\n const href = `${this.config.window.location?.pathname??'/'}${this.config.window.location?.search}${size > 0 ? '#' + s.toString() : ''}`;\n super.replaceState(data, title, href);\n }\n\n replaceAddSearchParam(params:[[string, string]], data?: any, title?: string): void {\n const s = this.getSearchParams({append: params});\n this.replace({searchParams: s}, data, title);\n }\n\n\n getUrl(): string {\n if (!this.config.window.document?.location?.href) {\n return '/';\n }\n const url = new URL(this.config.window.document.location?.href);\n return url.pathname + url.search;\n }\n\n getHref(): string {\n return this.config.window.location?.href??'/';\n }\n\n getPathName(): string {\n return this.config.window.location?.pathname??'/';\n }\n\n getHashSearchParams(data?:{delete?:string[], append?:[[string, string]]}): URLSearchParams {\n // http://local.com/#wow=222&wow=bb&z=2\n const searchParams = new URLSearchParams(this.config.window.location?.hash.slice(1)??'');\n\n data?.delete?.forEach(it => {\n searchParams.delete(it);\n })\n\n data?.append?.forEach(it => {\n searchParams.append(it[0], it[1]);\n })\n return searchParams;\n\n // return undefined;\n }\n\n\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -17,15 +17,36 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
17
17
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
18
|
var Router_exports = {};
|
|
19
19
|
__export(Router_exports, {
|
|
20
|
-
Router: () => Router
|
|
21
|
-
isPopStateCurrentTargetDomrenderRouter: () => isPopStateCurrentTargetDomrenderRouter
|
|
20
|
+
Router: () => Router
|
|
22
21
|
});
|
|
23
22
|
module.exports = __toCommonJS(Router_exports);
|
|
24
23
|
var import_ConvertUtils = require("@dooboostore/core/convert/ConvertUtils");
|
|
25
24
|
var import_BehaviorSubject = require("@dooboostore/core/message/BehaviorSubject");
|
|
26
25
|
var import_Expression = require("@dooboostore/core/expression/Expression");
|
|
27
|
-
const isPopStateCurrentTargetDomrenderRouter = (obj) => obj?.currentTargetName === "domRenderRouter";
|
|
28
26
|
class Router {
|
|
27
|
+
constructor(config) {
|
|
28
|
+
this._config = config;
|
|
29
|
+
let routeData;
|
|
30
|
+
if (config?.firstUrl) {
|
|
31
|
+
const path = config.firstUrl.split("?");
|
|
32
|
+
routeData = {
|
|
33
|
+
url: config.firstUrl,
|
|
34
|
+
path: path[0],
|
|
35
|
+
searchParams: new URLSearchParams(path[1] ?? ""),
|
|
36
|
+
router: this,
|
|
37
|
+
triggerPoint: "end"
|
|
38
|
+
};
|
|
39
|
+
this.behaviorSubject = new import_BehaviorSubject.BehaviorSubject(routeData);
|
|
40
|
+
this.go(config.firstUrl);
|
|
41
|
+
} else {
|
|
42
|
+
routeData = { ...this.getRouteData(), triggerPoint: "end" };
|
|
43
|
+
this.behaviorSubject = new import_BehaviorSubject.BehaviorSubject(routeData);
|
|
44
|
+
}
|
|
45
|
+
this.config.window.addEventListener("popstate", (event) => {
|
|
46
|
+
const routeData2 = { ...this.getRouteData(), triggerPoint: "end" };
|
|
47
|
+
this.behaviorSubject.next(routeData2);
|
|
48
|
+
});
|
|
49
|
+
}
|
|
29
50
|
get observable() {
|
|
30
51
|
return this.behaviorSubject.asObservable();
|
|
31
52
|
}
|
|
@@ -35,16 +56,6 @@ class Router {
|
|
|
35
56
|
get config() {
|
|
36
57
|
return this._config;
|
|
37
58
|
}
|
|
38
|
-
constructor(config) {
|
|
39
|
-
this._config = config;
|
|
40
|
-
this.behaviorSubject = new import_BehaviorSubject.BehaviorSubject(this.getRouteData());
|
|
41
|
-
this.config.window.addEventListener("popstate", (event) => {
|
|
42
|
-
if (!isPopStateCurrentTargetDomrenderRouter(event.state)) {
|
|
43
|
-
const routeData = this.getRouteData();
|
|
44
|
-
this.behaviorSubject.next(routeData);
|
|
45
|
-
}
|
|
46
|
-
});
|
|
47
|
-
}
|
|
48
59
|
getSearchFirstParamsObject(defaultValue) {
|
|
49
60
|
const a = import_ConvertUtils.ConvertUtils.toObject(this.getSearchParams(), { firstValue: true });
|
|
50
61
|
return Object.assign({}, defaultValue, a);
|
|
@@ -52,8 +63,13 @@ class Router {
|
|
|
52
63
|
getHashSearchFirstParamsObject() {
|
|
53
64
|
return import_ConvertUtils.ConvertUtils.toObject(this.getHashSearchParams(), { firstValue: true });
|
|
54
65
|
}
|
|
55
|
-
async attach() {
|
|
56
|
-
|
|
66
|
+
// async attach(): Promise<void> {
|
|
67
|
+
// // const proxy = getDomRenderProxy(this.config.rootObject)
|
|
68
|
+
// // if (proxy) {
|
|
69
|
+
// // const key = `___${EventManager.ROUTER_VARNAME}`;
|
|
70
|
+
// // await proxy.render(key);
|
|
71
|
+
// // }
|
|
72
|
+
// }
|
|
57
73
|
testRegexp(regexp) {
|
|
58
74
|
if (regexp) {
|
|
59
75
|
const b = RegExp(regexp).test(this.getPathName());
|
|
@@ -70,9 +86,30 @@ class Router {
|
|
|
70
86
|
}
|
|
71
87
|
}
|
|
72
88
|
getRouteData(config) {
|
|
89
|
+
let path = "";
|
|
90
|
+
let url = "";
|
|
91
|
+
if (config?.pathOrUrl) {
|
|
92
|
+
let isUrl = false;
|
|
93
|
+
try {
|
|
94
|
+
new URL(config.pathOrUrl);
|
|
95
|
+
isUrl = true;
|
|
96
|
+
} catch {
|
|
97
|
+
isUrl = false;
|
|
98
|
+
}
|
|
99
|
+
if (isUrl) {
|
|
100
|
+
const u = new URL(config.pathOrUrl);
|
|
101
|
+
path = u.pathname;
|
|
102
|
+
url = u.pathname + u.search;
|
|
103
|
+
} else {
|
|
104
|
+
path = config.pathOrUrl.split("?")[0];
|
|
105
|
+
}
|
|
106
|
+
} else {
|
|
107
|
+
path = this.getPathName();
|
|
108
|
+
url = this.getUrl();
|
|
109
|
+
}
|
|
73
110
|
const newVar = {
|
|
74
|
-
path
|
|
75
|
-
url
|
|
111
|
+
path,
|
|
112
|
+
url,
|
|
76
113
|
searchParams: this.getSearchParams()
|
|
77
114
|
};
|
|
78
115
|
const data = this.getData();
|
|
@@ -86,32 +123,40 @@ class Router {
|
|
|
86
123
|
}
|
|
87
124
|
}
|
|
88
125
|
newVar.router = this;
|
|
89
|
-
newVar.currentTarget = config?.currentTarget;
|
|
90
126
|
return Object.freeze(newVar);
|
|
91
127
|
}
|
|
92
128
|
pushState(data, title, path) {
|
|
93
|
-
this.
|
|
94
|
-
this.
|
|
129
|
+
this.behaviorSubject.next({ ...this.getRouteData({ pathOrUrl: path }), triggerPoint: "start" });
|
|
130
|
+
this.config.window.history?.pushState(data, title ?? "", path);
|
|
131
|
+
this.behaviorSubject.next({ ...this.getRouteData({ pathOrUrl: path }), triggerPoint: "end" });
|
|
95
132
|
return { data };
|
|
96
133
|
}
|
|
97
134
|
replaceState(data, title, path) {
|
|
98
|
-
this.
|
|
99
|
-
this.
|
|
135
|
+
this.behaviorSubject.next({ ...this.getRouteData({ pathOrUrl: path }), triggerPoint: "start" });
|
|
136
|
+
this.config.window.history?.replaceState(data, title ?? "", path);
|
|
137
|
+
this.behaviorSubject.next({ ...this.getRouteData({ pathOrUrl: path }), triggerPoint: "end" });
|
|
100
138
|
return { data };
|
|
101
139
|
}
|
|
102
|
-
dispatchPopStateEvent(data) {
|
|
103
|
-
this.config.window.dispatchEvent(new PopStateEvent("popstate", { state: { ...data, currentTargetName: "domRenderRouter" } }));
|
|
104
|
-
}
|
|
105
|
-
reload(data) {
|
|
106
|
-
this.config.window.dispatchEvent(new PopStateEvent("popstate", { state: data }));
|
|
107
|
-
}
|
|
108
140
|
getData() {
|
|
109
|
-
return this.config.window.history
|
|
141
|
+
return this.config.window.history?.state;
|
|
110
142
|
}
|
|
111
143
|
getPathData(urlExpression, currentUrl = this.getPathName()) {
|
|
112
144
|
return import_Expression.Expression.Path.pathNameData(currentUrl, urlExpression);
|
|
113
145
|
}
|
|
114
|
-
|
|
146
|
+
back() {
|
|
147
|
+
this.behaviorSubject.next({ ...this.getRouteData(), triggerPoint: "start" });
|
|
148
|
+
this.config.window.history.back();
|
|
149
|
+
}
|
|
150
|
+
forward() {
|
|
151
|
+
this.behaviorSubject.next({ ...this.getRouteData(), triggerPoint: "start" });
|
|
152
|
+
this.config.window.history?.forward();
|
|
153
|
+
}
|
|
154
|
+
go(config) {
|
|
155
|
+
if (typeof config === "number") {
|
|
156
|
+
this.behaviorSubject.next({ ...this.getRouteData(), triggerPoint: "start" });
|
|
157
|
+
this.config.window.history?.go(config);
|
|
158
|
+
return;
|
|
159
|
+
}
|
|
115
160
|
if (typeof config === "string") {
|
|
116
161
|
config = { path: config };
|
|
117
162
|
}
|
|
@@ -120,20 +165,15 @@ class Router {
|
|
|
120
165
|
} else {
|
|
121
166
|
this.push(config.path, config.data, config.title);
|
|
122
167
|
}
|
|
123
|
-
if (!this.config.disableAttach) {
|
|
124
|
-
await this.attach();
|
|
125
|
-
}
|
|
126
168
|
if (config.scrollToTop !== false) {
|
|
127
169
|
try {
|
|
128
170
|
this._config.window?.scrollTo?.(0, 0);
|
|
129
171
|
} catch (e) {
|
|
130
172
|
}
|
|
131
173
|
}
|
|
132
|
-
if (!config.disabledPopEvent) {
|
|
133
|
-
this.dispatchPopStateEvent(config?.data);
|
|
134
|
-
}
|
|
135
174
|
}
|
|
136
175
|
toUrl(data) {
|
|
176
|
+
console.log("toUrl", data);
|
|
137
177
|
let targetPath;
|
|
138
178
|
if (typeof data === "string") {
|
|
139
179
|
targetPath = data;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/routers/Router.ts"],
|
|
4
|
-
"sourcesContent": ["import { ConvertUtils } from '@dooboostore/core/convert/ConvertUtils';\nimport { Observable } from '@dooboostore/core/message/Observable';\nimport { BehaviorSubject } from '@dooboostore/core/message/BehaviorSubject';\nimport { Expression } from '@dooboostore/core/expression/Expression';\nimport ToURLSearchParamsParams = ConvertUtils.ToURLSearchParamsParams;\n\nexport type RouteData = {\n path: string;\n url: string;\n data?: any;\n searchParams: URLSearchParams;\n pathData?: any;\n router: Router;\n
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA
|
|
6
|
-
"names": ["data"]
|
|
4
|
+
"sourcesContent": ["import { ConvertUtils } from '@dooboostore/core/convert/ConvertUtils';\nimport { Observable } from '@dooboostore/core/message/Observable';\nimport { BehaviorSubject } from '@dooboostore/core/message/BehaviorSubject';\nimport { Expression } from '@dooboostore/core/expression/Expression';\nimport ToURLSearchParamsParams = ConvertUtils.ToURLSearchParamsParams;\n\nexport type RouteData = {\n path: string;\n url: string;\n data?: any;\n searchParams: URLSearchParams;\n pathData?: any;\n router: Router;\n}\n\nexport type RouterConfig<T = any> = { rootObject?: T, window: Window, firstUrl?: string};\nexport type ChangeStateResult = {data?: any}\nexport type RouteAction = string | { path?: string, searchParams?: ToURLSearchParamsParams };\n\ntype RouterEventType = RouteData & { triggerPoint: 'start' | 'end' };\n\nexport abstract class Router<T = any> {\n private behaviorSubject: BehaviorSubject<RouterEventType>;\n private _config: RouterConfig<T>;\n\n constructor(config: RouterConfig<any>) {\n this._config = config;\n\n let routeData: RouterEventType;\n if (config?.firstUrl) {\n const path = config.firstUrl.split('?');\n routeData = {\n url: config.firstUrl,\n path: path[0],\n searchParams: new URLSearchParams(path[1]??''),\n router: this,\n triggerPoint: 'end'\n }\n this.behaviorSubject = new BehaviorSubject<RouterEventType>(routeData);\n this.go(config.firstUrl);\n } else {\n routeData = {...this.getRouteData(), triggerPoint: 'end'};\n this.behaviorSubject = new BehaviorSubject<RouterEventType>(routeData);\n }\n this.config.window.addEventListener('popstate', (event: PopStateEvent) => {\n // domrender\uC5D0\uC11C \uBC1C\uC0DD\uD558\uC9C0 \uC54A\uC740 \uC989 back, previous \uC77C\uB584\uC5D0\uB3C4 \uC774\uBCA4\uD2B8\uAC00\uB3C4\uB85D \uCC98\uB9AC\n // if(!isPopStateCurrentTargetDomrenderRouter(event.state)) {\n // console.log('-------');\n const routeData: RouterEventType = {...this.getRouteData(), triggerPoint: 'end'};\n this.behaviorSubject.next(routeData);\n // }\n })\n }\n\n\n get observable(): Observable<RouterEventType> {\n return this.behaviorSubject.asObservable();\n }\n\n get searchParamObject() {\n return ConvertUtils.toObject(this.getSearchParams());\n }\n\n get config() {\n return this._config;\n }\n\n public getSearchFirstParamsObject<T = any>(defaultValue?: T) {\n const a = ConvertUtils.toObject<T>(this.getSearchParams(), {firstValue: true});\n return Object.assign({}, defaultValue, a);\n }\n\n public getHashSearchFirstParamsObject<T = any>() {\n return ConvertUtils.toObject<T>(this.getHashSearchParams(), {firstValue: true});\n }\n\n // async attach(): Promise<void> {\n // // const proxy = getDomRenderProxy(this.config.rootObject)\n // // if (proxy) {\n // // const key = `___${EventManager.ROUTER_VARNAME}`;\n // // await proxy.render(key);\n // // }\n // }\n\n testRegexp(regexp?: string): boolean {\n if (regexp) {\n const b = RegExp(regexp).test(this.getPathName());\n return b;\n }else {\n return false;\n }\n }\n\n test(urlExpression?: string): boolean {\n if (urlExpression && this.getPathData(urlExpression)) {\n return true;\n } else {\n return false;\n }\n }\n\n getRouteData(config?: {pathOrUrl?: string, urlExpression?: string}): RouteData {\n\n let path = '';\n let url ='';\n if (config?.pathOrUrl) {\n let isUrl = false;\n try {\n new URL(config.pathOrUrl);\n isUrl = true;\n } catch {\n isUrl = false;\n }\n if(isUrl){\n const u = new URL(config.pathOrUrl);\n path = u.pathname;\n url = u.pathname + u.search;\n } else {\n path = config.pathOrUrl.split('?')[0];\n }\n } else {\n path = this.getPathName();\n url = this.getUrl();\n }\n const newVar = {\n path: path,\n url: url,\n searchParams: this.getSearchParams()\n } as RouteData;\n\n const data = this.getData();\n if (data) {\n newVar.data = data;\n }\n if (config?.urlExpression) {\n const data = this.getPathData(config.urlExpression);\n if (data) {\n newVar.pathData = data;\n }\n }\n newVar.router = this;\n // newVar.currentTarget = config?.currentTarget;\n return Object.freeze(newVar);\n }\n\n pushState(data: any, title: string | undefined, path: string):ChangeStateResult {\n // data = this.config.changeStateConvertDate?this.config.changeStateConvertDate(data): data;\n // console.log('--->pushState', data);\n this.behaviorSubject.next({ ...this.getRouteData({pathOrUrl:path}), triggerPoint: 'start' });\n this.config.window.history?.pushState(data, title ?? '', path);\n this.behaviorSubject.next({ ...this.getRouteData({pathOrUrl:path}), triggerPoint: 'end' });\n return {data};\n }\n\n replaceState(data: any, title: string | undefined, path: string):ChangeStateResult {\n // data = this.config.changeStateConvertDate?this.config.changeStateConvertDate(data): data;\n // console.log('--->replaceState', data);\n this.behaviorSubject.next({ ...this.getRouteData({pathOrUrl:path}), triggerPoint: 'start' });\n this.config.window.history?.replaceState(data, title ?? '', path);\n this.behaviorSubject.next({ ...this.getRouteData({pathOrUrl:path}), triggerPoint: 'end' });\n return {data};\n }\n\n getData(): any {\n return this.config.window.history?.state;\n }\n\n getPathData(urlExpression: string, currentUrl = this.getPathName()): any {\n return Expression.Path.pathNameData(currentUrl, urlExpression);\n }\n\n back(): void {\n this.behaviorSubject.next({...this.getRouteData(),triggerPoint:'start'});\n this.config.window.history.back();\n //en\uBD80\uBD84\uC740 constructo\uC758 this.config.window.addEventListener('popstate' \uC5D0\uC11C \uBC1B\uC544\uC11C \uCC98\uB9AC\uB41C\uB2E4 \uD638\uCD9C\uB41C\uB2E4.\n }\n\n forward(): void {\n this.behaviorSubject.next({...this.getRouteData(),triggerPoint:'start'});\n this.config.window.history?.forward();\n //end\uBD80\uBD84\uC740 constructor\uC758 this.config.window.addEventListener('popstate' \uC5D0\uC11C \uBC1B\uC544\uC11C \uCC98\uB9AC\uB41C\uB2E4 \uD638\uCD9C\uB41C\uB2E4.\n }\n\n go(i: number): void;\n async go(config: string | { path: RouteAction, data?: any, replace?: boolean, title?: string, scrollToTop?: boolean } | string): Promise<void> ;\n go(config: number | string | { path: RouteAction, data?: any, replace?: boolean, title?: string, scrollToTop?: boolean } | string): Promise<void> | void {\n if (typeof config === 'number') {\n this.behaviorSubject.next({...this.getRouteData(),triggerPoint:'start'});\n this.config.window.history?.go(config);\n //end\uBD80\uBD84\uC740 constructor\uC758 this.config.window.addEventListener('popstate' \uC5D0\uC11C \uBC1B\uC544\uC11C \uCC98\uB9AC\uB41C\uB2E4 \uD638\uCD9C\uB41C\uB2E4.\n return;\n }\n\n if (typeof config === 'string') {\n config = { path: config };\n }\n\n // let data: ChangeStateResult | undefined = undefined;\n if (config?.replace) {\n this.replace(config.path, config.data, config.title);\n } else {\n this.push(config.path, config.data, config.title);\n }\n // if (!this.config.disableAttach) {\n // await this.attach();\n // }\n\n // \uC2A4\uD06C\uB864 \uC81C\uC5B4 (\uAE30\uBCF8\uAC12: true - \uB9E8 \uC704\uB85C \uC2A4\uD06C\uB864)\n if (config.scrollToTop !== false) {\n try {\n this._config.window?.scrollTo?.(0, 0);\n }catch (e){}\n }\n\n // console.log('----------', data, config)\n // if (!config.disabledPopEvent) {\n // this.dispatchPopStateEvent(config?.data);\n // }\n }\n\n toUrl(data: RouteAction) {\n console.log('toUrl', data);\n let targetPath: string;\n if (typeof data === 'string') {\n targetPath = data;\n } else {\n const tpath = data.path ?? this.getPathName();\n const s = data.searchParams ? ConvertUtils.toURLSearchParams(data.searchParams).toString() : '';\n // data.searchParams\n targetPath = `${tpath}${s.length > 0 ? '?' : ''}${s}`;\n }\n return targetPath;\n }\n\n\n abstract push(path: RouteAction, data?: any, title?: string): void;\n\n abstract replace(path: RouteAction, data?: any, title?: string): void;\n\n abstract pushDeleteSearchParam(name: string | string[], data?: any, title?: string): void;\n\n abstract pushDeleteHashSearchParam(name: string | string[], data?: any, title?: string): void;\n\n abstract pushAddSearchParam(params:[[string, string]], data?: any, title?: string): void;\n\n abstract replaceDeleteSearchParam(name: string | string[], data?: any, title?: string): void;\n\n abstract replaceDeleteHashSearchParam(name: string | string[], data?: any, title?: string): void;\n\n abstract replaceAddSearchParam(params:[[string, string]], data?: any, title?: string): void;\n\n abstract getSearchParams(data?:{delete?:string[], append?:[[string, string]]}): URLSearchParams;\n\n abstract getHashSearchParams(data?:{delete?:string[], append?:[[string, string]]}): URLSearchParams;\n\n abstract getUrl(): string;\n\n abstract getHref(): string;\n\n abstract getPathName(): string;\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAA6B;AAE7B,6BAAgC;AAChC,wBAA2B;AAkBpB,MAAe,OAAgB;AAAA,EAIpC,YAAY,QAA2B;AACrC,SAAK,UAAU;AAEf,QAAI;AACJ,QAAI,QAAQ,UAAU;AACpB,YAAM,OAAO,OAAO,SAAS,MAAM,GAAG;AACtC,kBAAY;AAAA,QACV,KAAK,OAAO;AAAA,QACZ,MAAM,KAAK,CAAC;AAAA,QACZ,cAAc,IAAI,gBAAgB,KAAK,CAAC,KAAG,EAAE;AAAA,QAC7C,QAAQ;AAAA,QACR,cAAc;AAAA,MAChB;AACA,WAAK,kBAAkB,IAAI,uCAAiC,SAAS;AACrE,WAAK,GAAG,OAAO,QAAQ;AAAA,IACzB,OAAO;AACL,kBAAY,EAAC,GAAG,KAAK,aAAa,GAAG,cAAc,MAAK;AACxD,WAAK,kBAAkB,IAAI,uCAAiC,SAAS;AAAA,IACvE;AACA,SAAK,OAAO,OAAO,iBAAiB,YAAY,CAAC,UAAyB;AAIxE,YAAMA,aAA6B,EAAC,GAAG,KAAK,aAAa,GAAG,cAAc,MAAK;AAC/E,WAAK,gBAAgB,KAAKA,UAAS;AAAA,IAErC,CAAC;AAAA,EACH;AAAA,EAGA,IAAI,aAA0C;AAC5C,WAAO,KAAK,gBAAgB,aAAa;AAAA,EAC3C;AAAA,EAEA,IAAI,oBAAoB;AACtB,WAAO,iCAAa,SAAS,KAAK,gBAAgB,CAAC;AAAA,EACrD;AAAA,EAEA,IAAI,SAAS;AACX,WAAO,KAAK;AAAA,EACd;AAAA,EAEO,2BAAoC,cAAkB;AAC3D,UAAM,IAAI,iCAAa,SAAY,KAAK,gBAAgB,GAAG,EAAC,YAAY,KAAI,CAAC;AAC7E,WAAO,OAAO,OAAO,CAAC,GAAG,cAAc,CAAC;AAAA,EAC1C;AAAA,EAEO,iCAA0C;AAC/C,WAAO,iCAAa,SAAY,KAAK,oBAAoB,GAAG,EAAC,YAAY,KAAI,CAAC;AAAA,EAChF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,WAAW,QAA0B;AACnC,QAAI,QAAQ;AACV,YAAM,IAAI,OAAO,MAAM,EAAE,KAAK,KAAK,YAAY,CAAC;AAChD,aAAO;AAAA,IACT,OAAM;AACJ,aAAO;AAAA,IACT;AAAA,EACF;AAAA,EAEA,KAAK,eAAiC;AACpC,QAAI,iBAAiB,KAAK,YAAY,aAAa,GAAG;AACpD,aAAO;AAAA,IACT,OAAO;AACL,aAAO;AAAA,IACT;AAAA,EACF;AAAA,EAEA,aAAa,QAAkE;AAE7E,QAAI,OAAO;AACX,QAAI,MAAK;AACT,QAAI,QAAQ,WAAW;AACrB,UAAI,QAAQ;AACZ,UAAI;AACF,YAAI,IAAI,OAAO,SAAS;AACxB,gBAAQ;AAAA,MACV,QAAQ;AACN,gBAAQ;AAAA,MACV;AACA,UAAG,OAAM;AACP,cAAM,IAAI,IAAI,IAAI,OAAO,SAAS;AAClC,eAAO,EAAE;AACT,cAAM,EAAE,WAAW,EAAE;AAAA,MACvB,OAAO;AACL,eAAO,OAAO,UAAU,MAAM,GAAG,EAAE,CAAC;AAAA,MACtC;AAAA,IACF,OAAO;AACL,aAAO,KAAK,YAAY;AACxB,YAAM,KAAK,OAAO;AAAA,IACpB;AACA,UAAM,SAAS;AAAA,MACb;AAAA,MACA;AAAA,MACA,cAAc,KAAK,gBAAgB;AAAA,IACrC;AAEA,UAAM,OAAO,KAAK,QAAQ;AAC1B,QAAI,MAAM;AACR,aAAO,OAAO;AAAA,IAChB;AACA,QAAI,QAAQ,eAAe;AACzB,YAAMC,QAAO,KAAK,YAAY,OAAO,aAAa;AAClD,UAAIA,OAAM;AACR,eAAO,WAAWA;AAAA,MACpB;AAAA,IACF;AACA,WAAO,SAAS;AAEhB,WAAO,OAAO,OAAO,MAAM;AAAA,EAC7B;AAAA,EAEA,UAAU,MAAW,OAA2B,MAAgC;AAG9E,SAAK,gBAAgB,KAAK,EAAE,GAAG,KAAK,aAAa,EAAC,WAAU,KAAI,CAAC,GAAG,cAAc,QAAQ,CAAC;AAC3F,SAAK,OAAO,OAAO,SAAS,UAAU,MAAM,SAAS,IAAI,IAAI;AAC7D,SAAK,gBAAgB,KAAK,EAAE,GAAG,KAAK,aAAa,EAAC,WAAU,KAAI,CAAC,GAAG,cAAc,MAAM,CAAC;AACzF,WAAO,EAAC,KAAI;AAAA,EACd;AAAA,EAEA,aAAa,MAAW,OAA2B,MAAgC;AAGjF,SAAK,gBAAgB,KAAK,EAAE,GAAG,KAAK,aAAa,EAAC,WAAU,KAAI,CAAC,GAAG,cAAc,QAAQ,CAAC;AAC3F,SAAK,OAAO,OAAO,SAAS,aAAa,MAAM,SAAS,IAAI,IAAI;AAChE,SAAK,gBAAgB,KAAK,EAAE,GAAG,KAAK,aAAa,EAAC,WAAU,KAAI,CAAC,GAAG,cAAc,MAAM,CAAC;AACzF,WAAO,EAAC,KAAI;AAAA,EACd;AAAA,EAEA,UAAe;AACb,WAAO,KAAK,OAAO,OAAO,SAAS;AAAA,EACrC;AAAA,EAEA,YAAY,eAAuB,aAAa,KAAK,YAAY,GAAQ;AACvE,WAAO,6BAAW,KAAK,aAAa,YAAY,aAAa;AAAA,EAC/D;AAAA,EAEA,OAAa;AACX,SAAK,gBAAgB,KAAK,EAAC,GAAG,KAAK,aAAa,GAAE,cAAa,QAAO,CAAC;AACvE,SAAK,OAAO,OAAO,QAAQ,KAAK;AAAA,EAElC;AAAA,EAEA,UAAgB;AACd,SAAK,gBAAgB,KAAK,EAAC,GAAG,KAAK,aAAa,GAAE,cAAa,QAAO,CAAC;AACvE,SAAK,OAAO,OAAO,SAAS,QAAQ;AAAA,EAEtC;AAAA,EAIA,GAAG,QAAsJ;AACvJ,QAAI,OAAO,WAAW,UAAU;AAC9B,WAAK,gBAAgB,KAAK,EAAC,GAAG,KAAK,aAAa,GAAE,cAAa,QAAO,CAAC;AACvE,WAAK,OAAO,OAAO,SAAS,GAAG,MAAM;AAErC;AAAA,IACF;AAEA,QAAI,OAAO,WAAW,UAAU;AAC9B,eAAS,EAAE,MAAM,OAAO;AAAA,IAC1B;AAGA,QAAI,QAAQ,SAAS;AACnB,WAAK,QAAQ,OAAO,MAAM,OAAO,MAAM,OAAO,KAAK;AAAA,IACrD,OAAO;AACL,WAAK,KAAK,OAAO,MAAM,OAAO,MAAM,OAAO,KAAK;AAAA,IAClD;AAMA,QAAI,OAAO,gBAAgB,OAAO;AAChC,UAAI;AACF,aAAK,QAAQ,QAAQ,WAAW,GAAG,CAAC;AAAA,MACtC,SAAQ,GAAE;AAAA,MAAC;AAAA,IACb;AAAA,EAMF;AAAA,EAEA,MAAM,MAAmB;AACvB,YAAQ,IAAI,SAAS,IAAI;AACzB,QAAI;AACJ,QAAI,OAAO,SAAS,UAAU;AAC5B,mBAAa;AAAA,IACf,OAAO;AACL,YAAM,QAAQ,KAAK,QAAQ,KAAK,YAAY;AAC5C,YAAM,IAAI,KAAK,eAAe,iCAAa,kBAAkB,KAAK,YAAY,EAAE,SAAS,IAAI;AAE7F,mBAAa,GAAG,KAAK,GAAG,EAAE,SAAS,IAAI,MAAM,EAAE,GAAG,CAAC;AAAA,IACrD;AACA,WAAO;AAAA,EACT;AA4BF;",
|
|
6
|
+
"names": ["routeData", "data"]
|
|
7
7
|
}
|
package/dist/esm/DomRender.js
CHANGED
|
@@ -10,13 +10,12 @@ import { RandomUtils } from "@dooboostore/core/random/RandomUtils";
|
|
|
10
10
|
let eventManager = null;
|
|
11
11
|
class DomRender {
|
|
12
12
|
constructor(parameter, executeConfig) {
|
|
13
|
-
const s = DomRender.runSet(parameter);
|
|
13
|
+
const s = DomRender.runSet(parameter, executeConfig);
|
|
14
14
|
this._config = s.config;
|
|
15
15
|
this._target = s.target;
|
|
16
16
|
this._rootObject = s.rootObject;
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
}
|
|
17
|
+
this._router = s.config.router;
|
|
18
|
+
this._eventManager = s.config.eventManager;
|
|
20
19
|
}
|
|
21
20
|
get rootObject() {
|
|
22
21
|
return this._rootObject;
|
|
@@ -24,13 +23,23 @@ class DomRender {
|
|
|
24
23
|
get config() {
|
|
25
24
|
return this._config;
|
|
26
25
|
}
|
|
26
|
+
get router() {
|
|
27
|
+
return this._router;
|
|
28
|
+
}
|
|
29
|
+
get eventManager() {
|
|
30
|
+
return this._eventManager;
|
|
31
|
+
}
|
|
27
32
|
get target() {
|
|
28
33
|
return this._target;
|
|
29
34
|
}
|
|
30
35
|
static run(data) {
|
|
31
36
|
return DomRender.runSet(data).rootObject;
|
|
32
37
|
}
|
|
33
|
-
static runSet({
|
|
38
|
+
static runSet({
|
|
39
|
+
rootObject,
|
|
40
|
+
target,
|
|
41
|
+
config
|
|
42
|
+
}, executeConfig) {
|
|
34
43
|
rootObject = typeof rootObject === "function" ? rootObject() : rootObject;
|
|
35
44
|
let targetObject = rootObject;
|
|
36
45
|
if ("_DomRender_isProxy" in rootObject) {
|
|
@@ -67,8 +76,20 @@ class DomRender {
|
|
|
67
76
|
if (typeof CanvasRenderingContext2D !== "undefined" && !targetConfig.proxyExcludeTyps.some((it) => it === CanvasRenderingContext2D)) {
|
|
68
77
|
targetConfig.proxyExcludeTyps.push(CanvasRenderingContext2D);
|
|
69
78
|
}
|
|
70
|
-
if (typeof
|
|
71
|
-
targetConfig.proxyExcludeTyps.push(
|
|
79
|
+
if (typeof CSSStyleDeclaration !== "undefined" && !targetConfig.proxyExcludeTyps.some((it) => it === CSSStyleDeclaration)) {
|
|
80
|
+
targetConfig.proxyExcludeTyps.push(CSSStyleDeclaration);
|
|
81
|
+
}
|
|
82
|
+
if (typeof Date !== "undefined" && !targetConfig.proxyExcludeTyps.some((it) => it === Date)) {
|
|
83
|
+
targetConfig.proxyExcludeTyps.push(Date);
|
|
84
|
+
}
|
|
85
|
+
if (typeof MutationObserver !== "undefined" && !targetConfig.proxyExcludeTyps.some((it) => it === IntersectionObserver)) {
|
|
86
|
+
targetConfig.proxyExcludeTyps.push(IntersectionObserver);
|
|
87
|
+
}
|
|
88
|
+
if (typeof IntersectionObserver !== "undefined" && !targetConfig.proxyExcludeTyps.some((it) => it === IntersectionObserver)) {
|
|
89
|
+
targetConfig.proxyExcludeTyps.push(IntersectionObserver);
|
|
90
|
+
}
|
|
91
|
+
if (typeof HTMLElement !== "undefined" && !targetConfig.proxyExcludeTyps.some((it) => it === HTMLElement)) {
|
|
92
|
+
targetConfig.proxyExcludeTyps.push(HTMLElement);
|
|
72
93
|
}
|
|
73
94
|
if (!targetConfig.proxyExcludeTyps.some((it) => it === RawSet)) {
|
|
74
95
|
targetConfig.proxyExcludeTyps.push(RawSet);
|
|
@@ -85,11 +106,11 @@ class DomRender {
|
|
|
85
106
|
if (!targetConfig.router) {
|
|
86
107
|
let targetRouter;
|
|
87
108
|
if ("routerType" in config && config?.routerType === "hash") {
|
|
88
|
-
targetRouter = new HashRouter({ rootObject: targetObject, window: targetConfig.window });
|
|
109
|
+
targetRouter = new HashRouter({ rootObject: targetObject, window: targetConfig.window, firstUrl: executeConfig?.firstUrl });
|
|
89
110
|
} else if ("routerType" in config && config?.routerType === "path") {
|
|
90
|
-
targetRouter = new PathRouter({ rootObject: targetObject, window: targetConfig.window });
|
|
111
|
+
targetRouter = new PathRouter({ rootObject: targetObject, window: targetConfig.window, firstUrl: executeConfig?.firstUrl });
|
|
91
112
|
} else if ("routerType" in config && typeof config?.routerType === "function") {
|
|
92
|
-
targetRouter = config.routerType(targetObject, targetConfig
|
|
113
|
+
targetRouter = config.routerType(targetObject, targetConfig);
|
|
93
114
|
} else if ("routerType" in config && typeof config?.routerType === "object") {
|
|
94
115
|
targetRouter = config.routerType;
|
|
95
116
|
}
|
|
@@ -105,26 +126,20 @@ class DomRender {
|
|
|
105
126
|
return { rootObject: targetObject, config: targetConfig, target };
|
|
106
127
|
}
|
|
107
128
|
static createComponent(param) {
|
|
108
|
-
const component = RawSet.createComponentTargetElement(
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
}
|
|
118
|
-
);
|
|
129
|
+
const component = RawSet.createComponentTargetElement({
|
|
130
|
+
name: param.tagName ?? (typeof param.type === "function" ? param.type.name : param.type.constructor.name),
|
|
131
|
+
objFactory: (e, o, r2, counstructorParam) => {
|
|
132
|
+
return typeof param.type === "function" ? new param.type(...counstructorParam) : param.type;
|
|
133
|
+
},
|
|
134
|
+
noStrip: param.noStrip,
|
|
135
|
+
template: param.template ?? "",
|
|
136
|
+
styles: Array.isArray(param.styles) ? param.styles : param.styles ? [param.styles] : void 0
|
|
137
|
+
});
|
|
119
138
|
return component;
|
|
120
139
|
}
|
|
121
140
|
// ?? 언제 쓰는거지?? 훔..
|
|
122
141
|
static createAttribute(attrName, getThisObj, factory) {
|
|
123
|
-
const targetAttribute = RawSet.createComponentTargetAttribute(
|
|
124
|
-
attrName,
|
|
125
|
-
getThisObj,
|
|
126
|
-
factory
|
|
127
|
-
);
|
|
142
|
+
const targetAttribute = RawSet.createComponentTargetAttribute(attrName, getThisObj, factory);
|
|
128
143
|
return targetAttribute;
|
|
129
144
|
}
|
|
130
145
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/DomRender.ts"],
|
|
4
|
-
"sourcesContent": ["import { DomRenderProxy } from './DomRenderProxy';\nimport { DomRenderConfig } from './configs/DomRenderConfig';\nimport { PathRouter } from './routers/PathRouter';\nimport { HashRouter } from './routers/HashRouter';\nimport { ConstructorType } from '@dooboostore/core/types';\nimport { DomRenderFinalProxy } from './types/Types';\nimport { RawSet } from './rawsets/RawSet';\nimport { DefaultMessenger } from './messenger/DefaultMessenger';\nimport { Router } from './routers/Router';\nimport { drComponent } from './components';\nimport { EventManager } from './events/EventManager';\nimport { RandomUtils } from '@dooboostore/core/random/RandomUtils';\n\nexport type DomRenderRunConfig<T = any> = Omit<DomRenderConfig<T>, 'router' | 'uuid' | 'eventManager' | 'messenger' | 'root' | 'rootElement'> & { routerType?: 'path' | 'hash' | ((obj: T,
|
|
5
|
-
"mappings": "AAAA,SAAS,sBAAsB;AAE/B,SAAS,kBAAkB;AAC3B,SAAS,kBAAkB;AAE3B,SAAS,2BAA2B;AACpC,SAAS,cAAc;AACvB,SAAS,wBAAwB;AAEjC,SAAS,mBAAmB;AAC5B,SAAS,oBAAoB;AAC7B,SAAS,mBAAmB;AAI5B,IAAI,eAAoC;
|
|
4
|
+
"sourcesContent": ["import { DomRenderProxy } from './DomRenderProxy';\nimport { DomRenderConfig } from './configs/DomRenderConfig';\nimport { PathRouter } from './routers/PathRouter';\nimport { HashRouter } from './routers/HashRouter';\nimport { ConstructorType } from '@dooboostore/core/types';\nimport { DomRenderFinalProxy } from './types/Types';\nimport { RawSet } from './rawsets/RawSet';\nimport { DefaultMessenger } from './messenger/DefaultMessenger';\nimport { Router } from './routers/Router';\nimport { drComponent } from './components';\nimport { EventManager } from './events/EventManager';\nimport { RandomUtils } from '@dooboostore/core/random/RandomUtils';\n\nexport type DomRenderRunConfig<T = any> = Omit<DomRenderConfig<T>, 'router' | 'uuid' | 'eventManager' | 'messenger' | 'root' | 'rootElement'> & { routerType?: 'path' | 'hash' | ((obj: T, targetConfig: DomRenderConfig) => Router) | Router };\nexport type CreateComponentParam = { type: ConstructorType<any> | any, tagName?: string, noStrip?: boolean, template?: string, styles?: string[] | string };\nlet eventManager: EventManager | null = null;\nexport type DomRenderRunParameter<T extends object> = { rootObject: T | (() => T), target?: Element | null, config?: DomRenderRunConfig | DomRenderConfig };\n\nexport type ExecuteConfig = { firstUrl?: string };\n\nexport class DomRender<T extends object = any> {\n private _config: DomRenderConfig;\n private _target: Element | null | undefined;\n private _rootObject: T;\n private _router: Router;\n private _eventManager: EventManager;\n\n constructor(parameter: DomRenderRunParameter<T>, executeConfig?: ExecuteConfig) {\n const s = DomRender.runSet(parameter,executeConfig);\n this._config = s.config;\n this._target = s.target;\n this._rootObject = s.rootObject;\n this._router = s.config.router;\n this._eventManager = s.config.eventManager;\n // if (executeConfig && executeConfig?.autoGo) {\n // this._config.router?.go(executeConfig.autoGo);\n // }\n }\n\n public get rootObject(): T {\n return this._rootObject;\n }\n\n public get config(): DomRenderConfig {\n return this._config;\n }\n public get router(): Router {\n return this._router;\n }\n\n public get eventManager(): EventManager {\n return this._eventManager;\n }\n public get target(): Element | null | undefined {\n return this._target;\n }\n\n public static run<T extends object>(data: DomRenderRunParameter<T>): T {\n return DomRender.runSet(data).rootObject;\n }\n\n public static runSet<T extends object>({\n rootObject,\n target,\n config\n }: DomRenderRunParameter<T>, executeConfig?: ExecuteConfig): { rootObject: T; target?: Element | null; config: DomRenderConfig } {\n // public static run<T extends object>({rootObject, target, config}: DomRenderRunParameter<T>): T {\n // console.log('runSet')\n rootObject = typeof rootObject === 'function' ? rootObject() : rootObject;\n let targetObject = rootObject;\n if ('_DomRender_isProxy' in rootObject) {\n if (target) {\n ((rootObject as any)._DomRender_proxy as DomRenderProxy<T>).initRender(target);\n }\n targetObject = rootObject;\n // return targetObject;\n return { rootObject: targetObject, target, config: (rootObject as any)._domRender_config };\n }\n const targetConfig = Object.assign({}, config) as DomRenderConfig;\n eventManager ??= new EventManager(targetConfig.window);\n\n targetConfig.uuid = RandomUtils.uuid4();\n targetConfig.messenger = DomRenderFinalProxy.final(targetConfig.messenger ?? new DefaultMessenger(targetConfig));\n targetConfig.proxyExcludeTyps = targetConfig.proxyExcludeTyps ?? [];\n targetConfig.targetElements ??= [];\n\n if (typeof Window !== 'undefined' && !targetConfig.proxyExcludeTyps.some(it => it === Window)) {\n targetConfig.proxyExcludeTyps.push(Window);\n }\n if (typeof Map !== 'undefined' && !targetConfig.proxyExcludeTyps.some(it => it === Map)) {\n targetConfig.proxyExcludeTyps.push(Map);\n }\n if (typeof Set !== 'undefined' && !targetConfig.proxyExcludeTyps.some(it => it === Set)) {\n targetConfig.proxyExcludeTyps.push(Set);\n }\n if (typeof Promise !== 'undefined' && !targetConfig.proxyExcludeTyps.some(it => it === Promise)) {\n targetConfig.proxyExcludeTyps.push(Promise);\n }\n if (typeof ResizeObserver !== 'undefined' && !targetConfig.proxyExcludeTyps.some(it => it === ResizeObserver)) {\n targetConfig.proxyExcludeTyps.push(ResizeObserver);\n }\n if (typeof ImageBitmap !== 'undefined' && !targetConfig.proxyExcludeTyps.some(it => it === ImageBitmap)) {\n targetConfig.proxyExcludeTyps.push(ImageBitmap);\n }\n if ( typeof CanvasRenderingContext2D !== 'undefined' && !targetConfig.proxyExcludeTyps.some(it => it === CanvasRenderingContext2D) ) {\n targetConfig.proxyExcludeTyps.push(CanvasRenderingContext2D);\n }\n if ( typeof CSSStyleDeclaration !== 'undefined' && !targetConfig.proxyExcludeTyps.some(it => it === CSSStyleDeclaration) ) {\n targetConfig.proxyExcludeTyps.push(CSSStyleDeclaration);\n }\n if ( typeof Date !== 'undefined' && !targetConfig.proxyExcludeTyps.some(it => it === Date) ) {\n targetConfig.proxyExcludeTyps.push(Date);\n }\n if ( typeof MutationObserver !== 'undefined' && !targetConfig.proxyExcludeTyps.some(it => it === IntersectionObserver) ) {\n targetConfig.proxyExcludeTyps.push(IntersectionObserver);\n }\n if ( typeof IntersectionObserver !== 'undefined' && !targetConfig.proxyExcludeTyps.some(it => it === IntersectionObserver) ) {\n targetConfig.proxyExcludeTyps.push(IntersectionObserver);\n }\n if (typeof HTMLElement !== 'undefined' && !targetConfig.proxyExcludeTyps.some(it => it === HTMLElement)) {\n targetConfig.proxyExcludeTyps.push(HTMLElement);\n }\n // if (typeof HTMLCanvasElement !== 'undefined' && !targetConfig.proxyExcludeTyps.some(it => it === HTMLCanvasElement)) {\n // targetConfig.proxyExcludeTyps.push(HTMLCanvasElement);\n // }\n if (!targetConfig.proxyExcludeTyps.some(it => it === RawSet)) {\n targetConfig.proxyExcludeTyps.push(RawSet);\n }\n if (!targetConfig.proxyExcludeTyps.some(it => it === DomRender)) {\n targetConfig.proxyExcludeTyps.push(DomRender);\n }\n targetConfig.rootElement = target;\n targetConfig.eventManager = eventManager;\n // (targetConfig.window as any).domRender ??= {configs: []};\n // (targetConfig.window as any).domRender.configs.push(targetConfig);\n const domRender = new DomRenderProxy(rootObject, target, targetConfig);\n const dest = new Proxy(rootObject, domRender);\n targetObject = dest;\n targetConfig.root = targetObject;\n\n // proxy \uB41C targetObject\uB97C \uB123\uC5B4\uC918\uC57C\uB418\uC11C \uB4A4\uCABD\uC5D0\uC11C router\uB97C \uC0DD\uC131\uD574\uC57C\uD568\n if (!targetConfig.router) {\n let targetRouter: Router<any> | undefined;\n if ('routerType' in config && config?.routerType === 'hash') {\n targetRouter = new HashRouter({ rootObject: targetObject, window: targetConfig.window, firstUrl: executeConfig?.firstUrl });\n } else if ('routerType' in config && config?.routerType === 'path') {\n targetRouter = new PathRouter({ rootObject: targetObject, window: targetConfig.window, firstUrl: executeConfig?.firstUrl });\n } else if ('routerType' in config && typeof config?.routerType === 'function') {\n targetRouter = config.routerType(targetObject, targetConfig);\n } else if ('routerType' in config && typeof config?.routerType === 'object') {\n targetRouter = config.routerType;\n }\n targetConfig.router = targetRouter;\n }\n\n for (const value of Object.values(drComponent)) {\n const a = value(targetConfig, DomRender);\n if (!targetConfig.targetElements.some(it => it.name === a.name)) {\n targetConfig.targetElements.push(a);\n }\n }\n // console.log('cccccccccccccccccc', targetRouter)\n // targetRouter.go({path: targetRouter.getUrl()})\n // if (!config.router) {\n // if (config.routerType === 'path') {\n // config.router = new PathRouter(targetObject, config.window);\n // } else if (config.routerType === 'hash') {\n // config.router = new HashRouter(targetObject, config.window);\n // } else { // none\n // config.router = new HashRouter(targetObject, config.window);\n // }\n // }\n domRender.run(targetObject);\n return { rootObject: targetObject, config: targetConfig, target };\n // return targetObject;\n }\n\n public static createComponent(param: CreateComponentParam) {\n // console.log('===>', typeof param.type, param.type.name, param.type.constructor.name)\n const component = RawSet.createComponentTargetElement({\n name: param.tagName ?? (typeof param.type === 'function' ? param.type.name : param.type.constructor.name),\n objFactory: (e, o, r2, counstructorParam) => {\n return typeof param.type === 'function' ? new param.type(...counstructorParam) : param.type;\n },\n noStrip: param.noStrip,\n template: param.template ?? '',\n styles: Array.isArray(param.styles) ? param.styles : param.styles ? [param.styles] : undefined\n });\n return component;\n }\n\n // ?? \uC5B8\uC81C \uC4F0\uB294\uAC70\uC9C0?? \uD6D4..\n public static createAttribute(\n attrName: string,\n getThisObj: (element: Element, attrValue: string, obj: any, rawSet: RawSet) => any,\n factory: (element: Element, attrValue: string, obj: any, rawSet: RawSet) => DocumentFragment\n ) {\n const targetAttribute = RawSet.createComponentTargetAttribute(attrName, getThisObj, factory);\n return targetAttribute;\n }\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|