j-templates 5.0.45 → 5.0.47

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.
Files changed (91) hide show
  1. package/DOM/domNodeConfig.d.ts +2 -2
  2. package/DOM/domNodeConfig.js +82 -82
  3. package/DOM/elements.d.ts +24 -24
  4. package/DOM/elements.js +96 -96
  5. package/DOM/index.d.ts +3 -3
  6. package/DOM/index.js +19 -19
  7. package/DOM/svgElements.d.ts +4 -4
  8. package/DOM/svgElements.js +17 -17
  9. package/DOM/utils.d.ts +1 -1
  10. package/DOM/utils.js +47 -47
  11. package/DOM/window.d.ts +1 -1
  12. package/DOM/window.js +4 -4
  13. package/Node/boundNode.d.ts +4 -4
  14. package/Node/boundNode.js +99 -94
  15. package/Node/boundNode.types.d.ts +43 -43
  16. package/Node/boundNode.types.js +2 -2
  17. package/Node/component.d.ts +34 -34
  18. package/Node/component.js +80 -80
  19. package/Node/componentNode.d.ts +7 -7
  20. package/Node/componentNode.js +115 -115
  21. package/Node/componentNode.types.d.ts +35 -35
  22. package/Node/componentNode.types.js +2 -2
  23. package/Node/elementNode.d.ts +5 -5
  24. package/Node/elementNode.js +157 -158
  25. package/Node/elementNode.types.d.ts +34 -34
  26. package/Node/elementNode.types.js +2 -2
  27. package/Node/nodeConfig.d.ts +22 -22
  28. package/Node/nodeConfig.js +5 -5
  29. package/Node/nodeRef.d.ts +21 -21
  30. package/Node/nodeRef.js +157 -157
  31. package/Node/nodeRef.types.d.ts +21 -21
  32. package/Node/nodeRef.types.js +2 -2
  33. package/Store/Diff/diffAsync.d.ts +17 -17
  34. package/Store/Diff/diffAsync.js +36 -36
  35. package/Store/Diff/diffSync.d.ts +14 -14
  36. package/Store/Diff/diffSync.js +27 -27
  37. package/Store/Diff/diffTree.d.ts +24 -24
  38. package/Store/Diff/diffTree.js +232 -221
  39. package/Store/Diff/diffWorker.d.ts +3 -3
  40. package/Store/Diff/diffWorker.js +19 -19
  41. package/Store/Diff/workerQueue.d.ts +7 -7
  42. package/Store/Diff/workerQueue.js +35 -35
  43. package/Store/Store/store.d.ts +14 -14
  44. package/Store/Store/store.js +31 -31
  45. package/Store/Store/storeAsync.d.ts +20 -20
  46. package/Store/Store/storeAsync.js +49 -49
  47. package/Store/Store/storeAsyncWriter.d.ts +15 -15
  48. package/Store/Store/storeAsyncWriter.js +52 -52
  49. package/Store/Store/storeSync.d.ts +15 -15
  50. package/Store/Store/storeSync.js +33 -33
  51. package/Store/Store/storeSyncWriter.d.ts +12 -12
  52. package/Store/Store/storeSyncWriter.js +41 -41
  53. package/Store/Store/storeWriter.d.ts +9 -9
  54. package/Store/Store/storeWriter.js +30 -30
  55. package/Store/Tree/observableScope.d.ts +57 -56
  56. package/Store/Tree/observableScope.js +168 -164
  57. package/Store/Tree/observableTree.d.ts +34 -33
  58. package/Store/Tree/observableTree.js +232 -214
  59. package/Store/index.d.ts +4 -4
  60. package/Store/index.js +11 -11
  61. package/Utils/animation.d.ts +29 -29
  62. package/Utils/animation.js +108 -108
  63. package/Utils/asyncQueue.d.ts +8 -8
  64. package/Utils/asyncQueue.js +42 -42
  65. package/Utils/decorators.d.ts +37 -37
  66. package/Utils/decorators.js +310 -300
  67. package/Utils/emitter.d.ts +12 -12
  68. package/Utils/emitter.js +24 -24
  69. package/Utils/index.d.ts +2 -2
  70. package/Utils/index.js +18 -18
  71. package/Utils/injector.d.ts +13 -13
  72. package/Utils/injector.js +38 -38
  73. package/Utils/list.d.ts +23 -23
  74. package/Utils/list.js +120 -120
  75. package/Utils/router.d.ts +23 -23
  76. package/Utils/router.js +116 -116
  77. package/Utils/thread.d.ts +16 -16
  78. package/Utils/thread.js +108 -108
  79. package/Utils/utils.types.d.ts +3 -3
  80. package/Utils/utils.types.js +2 -2
  81. package/index.d.ts +2 -2
  82. package/index.debug.d.ts +1 -0
  83. package/index.debug.js +12 -0
  84. package/index.js +5 -5
  85. package/jTemplates.js +2676 -2629
  86. package/jTemplates.js.map +1 -1
  87. package/package.json +1 -1
  88. package/web.d.ts +1 -1
  89. package/web.export.d.ts +4 -4
  90. package/web.export.js +24 -24
  91. package/web.js +5 -5
package/Utils/router.js CHANGED
@@ -1,116 +1,116 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Router = void 0;
4
- const observableScope_1 = require("../Store/Tree/observableScope");
5
- const window_1 = require("../DOM/window");
6
- class Router {
7
- store;
8
- routeScope;
9
- initPromise;
10
- get State() {
11
- return this.store.Root.Value;
12
- }
13
- get ReplaceHistory() {
14
- return false;
15
- }
16
- get Init() {
17
- return this.initPromise;
18
- }
19
- constructor(store) {
20
- this.store = store;
21
- this.initPromise = new Promise(async (resolve, reject) => {
22
- try {
23
- this.routeScope = observableScope_1.ObservableScope.Create(() => this.CreateRoutePart());
24
- await Router.Register(this);
25
- observableScope_1.ObservableScope.Watch(this.routeScope, () => this.ReplaceHistory ? Router.ReplaceRoute() : Router.PushRoute());
26
- resolve();
27
- }
28
- catch (e) {
29
- reject(e);
30
- }
31
- });
32
- }
33
- Route() {
34
- return observableScope_1.ObservableScope.Value(this.routeScope);
35
- }
36
- JSON() {
37
- var state = this.State;
38
- return state.toJSON ? state.toJSON() : state;
39
- }
40
- async SetState(state) {
41
- await this.store.Merge(state);
42
- }
43
- Destroy() {
44
- this.routeScope.Destroy();
45
- Router.Destroy(this);
46
- }
47
- }
48
- exports.Router = Router;
49
- (function (Router) {
50
- var leadingSlash = /^\//;
51
- var routers = [];
52
- var updateScheduled = false;
53
- function PushRoute() {
54
- if (updateScheduled)
55
- return;
56
- updateScheduled = true;
57
- setTimeout(() => {
58
- var route = routers.map(r => r.Route()).filter(r => r).join("/");
59
- route = "/" + route;
60
- var state = routers.map(r => r.JSON());
61
- if (route === window_1.wndw.location.pathname)
62
- window_1.wndw.history.replaceState(state, "", route);
63
- else
64
- window_1.wndw.history.pushState(state, "", route);
65
- updateScheduled = false;
66
- }, 250);
67
- }
68
- Router.PushRoute = PushRoute;
69
- var replaceScheduled = false;
70
- function ReplaceRoute() {
71
- if (replaceScheduled || updateScheduled)
72
- return;
73
- replaceScheduled = true;
74
- setTimeout(() => {
75
- replaceScheduled = false;
76
- if (updateScheduled)
77
- return;
78
- var route = routers.map(r => r.Route()).filter(r => r).join("/");
79
- route = "/" + route;
80
- var state = routers.map(r => r.JSON());
81
- window_1.wndw.history.replaceState(state, "", route);
82
- }, 250);
83
- }
84
- Router.ReplaceRoute = ReplaceRoute;
85
- function Destroy(router) {
86
- var index = routers.indexOf(router);
87
- if (index >= 0) {
88
- routers.splice(index, 1);
89
- ReplaceRoute();
90
- }
91
- }
92
- Router.Destroy = Destroy;
93
- async function Register(router) {
94
- var index = routers.indexOf(router);
95
- if (index < 0) {
96
- var route = window_1.wndw.location.pathname.replace(leadingSlash, "");
97
- for (var x = 0; x < routers.length; x++) {
98
- route = route.replace(routers[x].GetRoutePart(route), "");
99
- route = route.replace(leadingSlash, "");
100
- }
101
- var routePart = router.GetRoutePart(route);
102
- if (routePart)
103
- await router.Read(routePart);
104
- routers.push(router);
105
- ReplaceRoute();
106
- }
107
- }
108
- Router.Register = Register;
109
- window_1.wndw.onpopstate = function (e) {
110
- var state = e.state;
111
- for (var x = 0; x < state.length; x++) {
112
- if (x < routers.length)
113
- routers[x].SetState(state[x]);
114
- }
115
- };
116
- })(Router = exports.Router || (exports.Router = {}));
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Router = void 0;
4
+ const observableScope_1 = require("../Store/Tree/observableScope");
5
+ const window_1 = require("../DOM/window");
6
+ class Router {
7
+ store;
8
+ routeScope;
9
+ initPromise;
10
+ get State() {
11
+ return this.store.Root.Value;
12
+ }
13
+ get ReplaceHistory() {
14
+ return false;
15
+ }
16
+ get Init() {
17
+ return this.initPromise;
18
+ }
19
+ constructor(store) {
20
+ this.store = store;
21
+ this.initPromise = new Promise(async (resolve, reject) => {
22
+ try {
23
+ this.routeScope = observableScope_1.ObservableScope.Create(() => this.CreateRoutePart());
24
+ await Router.Register(this);
25
+ observableScope_1.ObservableScope.Watch(this.routeScope, () => this.ReplaceHistory ? Router.ReplaceRoute() : Router.PushRoute());
26
+ resolve();
27
+ }
28
+ catch (e) {
29
+ reject(e);
30
+ }
31
+ });
32
+ }
33
+ Route() {
34
+ return observableScope_1.ObservableScope.Value(this.routeScope);
35
+ }
36
+ JSON() {
37
+ var state = this.State;
38
+ return state.toJSON ? state.toJSON() : state;
39
+ }
40
+ async SetState(state) {
41
+ await this.store.Merge(state);
42
+ }
43
+ Destroy() {
44
+ this.routeScope.Destroy();
45
+ Router.Destroy(this);
46
+ }
47
+ }
48
+ exports.Router = Router;
49
+ (function (Router) {
50
+ var leadingSlash = /^\//;
51
+ var routers = [];
52
+ var updateScheduled = false;
53
+ function PushRoute() {
54
+ if (updateScheduled)
55
+ return;
56
+ updateScheduled = true;
57
+ setTimeout(() => {
58
+ var route = routers.map(r => r.Route()).filter(r => r).join("/");
59
+ route = "/" + route;
60
+ var state = routers.map(r => r.JSON());
61
+ if (route === window_1.wndw.location.pathname)
62
+ window_1.wndw.history.replaceState(state, "", route);
63
+ else
64
+ window_1.wndw.history.pushState(state, "", route);
65
+ updateScheduled = false;
66
+ }, 250);
67
+ }
68
+ Router.PushRoute = PushRoute;
69
+ var replaceScheduled = false;
70
+ function ReplaceRoute() {
71
+ if (replaceScheduled || updateScheduled)
72
+ return;
73
+ replaceScheduled = true;
74
+ setTimeout(() => {
75
+ replaceScheduled = false;
76
+ if (updateScheduled)
77
+ return;
78
+ var route = routers.map(r => r.Route()).filter(r => r).join("/");
79
+ route = "/" + route;
80
+ var state = routers.map(r => r.JSON());
81
+ window_1.wndw.history.replaceState(state, "", route);
82
+ }, 250);
83
+ }
84
+ Router.ReplaceRoute = ReplaceRoute;
85
+ function Destroy(router) {
86
+ var index = routers.indexOf(router);
87
+ if (index >= 0) {
88
+ routers.splice(index, 1);
89
+ ReplaceRoute();
90
+ }
91
+ }
92
+ Router.Destroy = Destroy;
93
+ async function Register(router) {
94
+ var index = routers.indexOf(router);
95
+ if (index < 0) {
96
+ var route = window_1.wndw.location.pathname.replace(leadingSlash, "");
97
+ for (var x = 0; x < routers.length; x++) {
98
+ route = route.replace(routers[x].GetRoutePart(route), "");
99
+ route = route.replace(leadingSlash, "");
100
+ }
101
+ var routePart = router.GetRoutePart(route);
102
+ if (routePart)
103
+ await router.Read(routePart);
104
+ routers.push(router);
105
+ ReplaceRoute();
106
+ }
107
+ }
108
+ Router.Register = Register;
109
+ window_1.wndw.onpopstate = function (e) {
110
+ var state = e.state;
111
+ for (var x = 0; x < state.length; x++) {
112
+ if (x < routers.length)
113
+ routers[x].SetState(state[x]);
114
+ }
115
+ };
116
+ })(Router || (exports.Router = Router = {}));
package/Utils/thread.d.ts CHANGED
@@ -1,16 +1,16 @@
1
- export declare function Schedule(callback: {
2
- (): void;
3
- }): void;
4
- export declare function After(callback: {
5
- (): void;
6
- }): void;
7
- export declare function Callback<A = void, B = void, C = void, D = void>(callback: (a: A, b: B, c: C, d: D) => void): (a?: A, b?: B, c?: C, d?: D) => void;
8
- export declare function Synch(callback: {
9
- (): void;
10
- }): void;
11
- export declare function Thread(callback: {
12
- (): void;
13
- }): void;
14
- export declare function ThreadAsync(callback: {
15
- (): void;
16
- }): Promise<void>;
1
+ export declare function Schedule(callback: {
2
+ (): void;
3
+ }): void;
4
+ export declare function After(callback: {
5
+ (): void;
6
+ }): void;
7
+ export declare function Callback<A = void, B = void, C = void, D = void>(callback: (a: A, b: B, c: C, d: D) => void): (a?: A, b?: B, c?: C, d?: D) => void;
8
+ export declare function Synch(callback: {
9
+ (): void;
10
+ }): void;
11
+ export declare function Thread(callback: {
12
+ (): void;
13
+ }): void;
14
+ export declare function ThreadAsync(callback: {
15
+ (): void;
16
+ }): Promise<void>;
package/Utils/thread.js CHANGED
@@ -1,108 +1,108 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ThreadAsync = exports.Thread = exports.Synch = exports.Callback = exports.After = exports.Schedule = void 0;
4
- const list_1 = require("./list");
5
- const workTimeMs = 16;
6
- const contextQueue = list_1.List.Create();
7
- var threadContext = null;
8
- var timeoutRunning = false;
9
- function ProcessQueue() {
10
- var workEndTime = Date.now() + workTimeMs;
11
- var ctx;
12
- while (Date.now() < workEndTime && (ctx = list_1.List.Pop(contextQueue)))
13
- DoWork(ctx, workEndTime);
14
- if (contextQueue.size > 0)
15
- setTimeout(ProcessQueue);
16
- else
17
- timeoutRunning = false;
18
- }
19
- function ScheduleWork(ctx) {
20
- list_1.List.Add(contextQueue, ctx);
21
- if (timeoutRunning)
22
- return;
23
- timeoutRunning = true;
24
- setTimeout(ProcessQueue);
25
- }
26
- function Invoke(ctx, callback) {
27
- var parent = ctx.workEndNode;
28
- ctx.workEndNode = ctx.workList.head;
29
- callback();
30
- ctx.workEndNode = parent;
31
- }
32
- function DoWork(ctx, workEndTime = Date.now() + workTimeMs) {
33
- var parentContext = threadContext;
34
- threadContext = ctx;
35
- var async = ctx.async;
36
- var callback;
37
- while (async === ctx.async && Date.now() < workEndTime && (callback = list_1.List.Pop(ctx.workList)))
38
- Invoke(ctx, callback);
39
- if (ctx.workList.size > 0)
40
- ScheduleWork(ctx);
41
- threadContext = parentContext;
42
- }
43
- function CreateContext() {
44
- return {
45
- async: false,
46
- workEndNode: null,
47
- workList: list_1.List.Create()
48
- };
49
- }
50
- function ScheduleCallback(callback, before, async) {
51
- threadContext = threadContext || CreateContext();
52
- threadContext.async = threadContext.async || async;
53
- if (before)
54
- list_1.List.AddBefore(threadContext.workList, threadContext.workEndNode, callback);
55
- else if (threadContext.workEndNode)
56
- list_1.List.AddAfter(threadContext.workList, threadContext.workEndNode, callback);
57
- else
58
- threadContext.workEndNode = list_1.List.Add(threadContext.workList, callback);
59
- }
60
- function SynchWithoutThread(callback) {
61
- var workEndTime = Date.now() + workTimeMs;
62
- callback();
63
- if (threadContext)
64
- if (threadContext.async)
65
- ScheduleWork(threadContext);
66
- else
67
- DoWork(threadContext, workEndTime);
68
- threadContext = null;
69
- }
70
- function Schedule(callback) {
71
- ScheduleCallback(callback, true, true);
72
- }
73
- exports.Schedule = Schedule;
74
- function After(callback) {
75
- ScheduleCallback(callback, false, false);
76
- }
77
- exports.After = After;
78
- function Callback(callback) {
79
- return function (a, b, c, d) {
80
- Schedule(function () { callback(a, b, c, d); });
81
- };
82
- }
83
- exports.Callback = Callback;
84
- var inSynchCallback = false;
85
- function Synch(callback) {
86
- if (threadContext || inSynchCallback)
87
- callback();
88
- else {
89
- inSynchCallback = true;
90
- SynchWithoutThread(callback);
91
- inSynchCallback = false;
92
- }
93
- }
94
- exports.Synch = Synch;
95
- function Thread(callback) {
96
- if (threadContext)
97
- ScheduleCallback(callback, true, false);
98
- else
99
- Synch(callback);
100
- }
101
- exports.Thread = Thread;
102
- function ThreadAsync(callback) {
103
- return new Promise(resolve => Thread(function () {
104
- callback();
105
- Thread(resolve);
106
- }));
107
- }
108
- exports.ThreadAsync = ThreadAsync;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ThreadAsync = exports.Thread = exports.Synch = exports.Callback = exports.After = exports.Schedule = void 0;
4
+ const list_1 = require("./list");
5
+ const workTimeMs = 16;
6
+ const contextQueue = list_1.List.Create();
7
+ var threadContext = null;
8
+ var timeoutRunning = false;
9
+ function ProcessQueue() {
10
+ var workEndTime = Date.now() + workTimeMs;
11
+ var ctx;
12
+ while (Date.now() < workEndTime && (ctx = list_1.List.Pop(contextQueue)))
13
+ DoWork(ctx, workEndTime);
14
+ if (contextQueue.size > 0)
15
+ setTimeout(ProcessQueue);
16
+ else
17
+ timeoutRunning = false;
18
+ }
19
+ function ScheduleWork(ctx) {
20
+ list_1.List.Add(contextQueue, ctx);
21
+ if (timeoutRunning)
22
+ return;
23
+ timeoutRunning = true;
24
+ setTimeout(ProcessQueue);
25
+ }
26
+ function Invoke(ctx, callback) {
27
+ var parent = ctx.workEndNode;
28
+ ctx.workEndNode = ctx.workList.head;
29
+ callback();
30
+ ctx.workEndNode = parent;
31
+ }
32
+ function DoWork(ctx, workEndTime = Date.now() + workTimeMs) {
33
+ var parentContext = threadContext;
34
+ threadContext = ctx;
35
+ var async = ctx.async;
36
+ var callback;
37
+ while (async === ctx.async && Date.now() < workEndTime && (callback = list_1.List.Pop(ctx.workList)))
38
+ Invoke(ctx, callback);
39
+ if (ctx.workList.size > 0)
40
+ ScheduleWork(ctx);
41
+ threadContext = parentContext;
42
+ }
43
+ function CreateContext() {
44
+ return {
45
+ async: false,
46
+ workEndNode: null,
47
+ workList: list_1.List.Create()
48
+ };
49
+ }
50
+ function ScheduleCallback(callback, before, async) {
51
+ threadContext = threadContext || CreateContext();
52
+ threadContext.async = threadContext.async || async;
53
+ if (before)
54
+ list_1.List.AddBefore(threadContext.workList, threadContext.workEndNode, callback);
55
+ else if (threadContext.workEndNode)
56
+ list_1.List.AddAfter(threadContext.workList, threadContext.workEndNode, callback);
57
+ else
58
+ threadContext.workEndNode = list_1.List.Add(threadContext.workList, callback);
59
+ }
60
+ function SynchWithoutThread(callback) {
61
+ var workEndTime = Date.now() + workTimeMs;
62
+ callback();
63
+ if (threadContext)
64
+ if (threadContext.async)
65
+ ScheduleWork(threadContext);
66
+ else
67
+ DoWork(threadContext, workEndTime);
68
+ threadContext = null;
69
+ }
70
+ function Schedule(callback) {
71
+ ScheduleCallback(callback, true, true);
72
+ }
73
+ exports.Schedule = Schedule;
74
+ function After(callback) {
75
+ ScheduleCallback(callback, false, false);
76
+ }
77
+ exports.After = After;
78
+ function Callback(callback) {
79
+ return function (a, b, c, d) {
80
+ Schedule(function () { callback(a, b, c, d); });
81
+ };
82
+ }
83
+ exports.Callback = Callback;
84
+ var inSynchCallback = false;
85
+ function Synch(callback) {
86
+ if (threadContext || inSynchCallback)
87
+ callback();
88
+ else {
89
+ inSynchCallback = true;
90
+ SynchWithoutThread(callback);
91
+ inSynchCallback = false;
92
+ }
93
+ }
94
+ exports.Synch = Synch;
95
+ function Thread(callback) {
96
+ if (threadContext)
97
+ ScheduleCallback(callback, true, false);
98
+ else
99
+ Synch(callback);
100
+ }
101
+ exports.Thread = Thread;
102
+ function ThreadAsync(callback) {
103
+ return new Promise(resolve => Thread(function () {
104
+ callback();
105
+ Thread(resolve);
106
+ }));
107
+ }
108
+ exports.ThreadAsync = ThreadAsync;
@@ -1,3 +1,3 @@
1
- export interface IDestroyable {
2
- Destroy(): void;
3
- }
1
+ export interface IDestroyable {
2
+ Destroy(): 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 });
package/index.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export { NodeRefTypes } from "./Node/nodeRef.types";
2
- export { Component } from "./Node/component";
1
+ export { NodeRefTypes } from "./Node/nodeRef.types";
2
+ export { Component } from "./Node/component";
package/index.debug.d.ts CHANGED
@@ -0,0 +1 @@
1
+ export {};
package/index.debug.js CHANGED
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const web_export_1 = require("./web.export");
4
+ class HelloWorld extends web_export_1.Component {
5
+ Template() {
6
+ return [
7
+ (0, web_export_1.div)({ data: () => [{ prop: "Hello" }, { prop: "World" }] }, (msg) => (0, web_export_1.span)({}, () => msg.prop))
8
+ ];
9
+ }
10
+ }
11
+ const helloWorld = web_export_1.Component.ToFunction("hello-world", null, HelloWorld);
12
+ web_export_1.Component.Attach(document.body, helloWorld({}));
package/index.js CHANGED
@@ -1,5 +1,5 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Component = void 0;
4
- var component_1 = require("./Node/component");
5
- Object.defineProperty(exports, "Component", { enumerable: true, get: function () { return component_1.Component; } });
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Component = void 0;
4
+ var component_1 = require("./Node/component");
5
+ Object.defineProperty(exports, "Component", { enumerable: true, get: function () { return component_1.Component; } });