@ibyar/core 1.2.2 → 2.0.1

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 (74) hide show
  1. package/LICENSE +1 -1
  2. package/annotation/decorators.d.ts +2 -1
  3. package/annotation/decorators.d.ts.map +1 -1
  4. package/annotation/decorators.js +3 -0
  5. package/annotation/decorators.js.map +1 -1
  6. package/annotation/options.d.ts +7 -5
  7. package/annotation/options.d.ts.map +1 -1
  8. package/annotation/options.js.map +1 -1
  9. package/component/component.d.ts +2 -2
  10. package/component/component.d.ts.map +1 -1
  11. package/component/component.js +5 -2
  12. package/component/component.js.map +1 -1
  13. package/component/reflect.d.ts.map +1 -1
  14. package/di/inject.d.ts +7 -0
  15. package/di/inject.d.ts.map +1 -0
  16. package/di/inject.js +9 -0
  17. package/di/inject.js.map +1 -0
  18. package/di/provider.d.ts +21 -0
  19. package/di/provider.d.ts.map +1 -0
  20. package/di/provider.js +57 -0
  21. package/di/provider.js.map +1 -0
  22. package/di/token.d.ts +7 -0
  23. package/di/token.d.ts.map +1 -0
  24. package/di/token.js +11 -0
  25. package/di/token.js.map +1 -0
  26. package/di/tokens.d.ts +8 -0
  27. package/di/tokens.d.ts.map +1 -0
  28. package/di/tokens.js +8 -0
  29. package/di/tokens.js.map +1 -0
  30. package/di/types.d.ts +1 -0
  31. package/di/types.d.ts.map +1 -0
  32. package/di/types.js +2 -0
  33. package/di/types.js.map +1 -0
  34. package/directive/directive.d.ts +2 -1
  35. package/directive/directive.d.ts.map +1 -1
  36. package/directive/directive.js +3 -1
  37. package/directive/directive.js.map +1 -1
  38. package/directive/parser.d.ts +2 -1
  39. package/directive/parser.d.ts.map +1 -1
  40. package/directive/parser.js +26 -19
  41. package/directive/parser.js.map +1 -1
  42. package/html/expression.d.ts.map +1 -1
  43. package/html/expression.js +4 -1
  44. package/html/expression.js.map +1 -1
  45. package/index.d.ts +3 -1
  46. package/index.d.ts.map +1 -1
  47. package/index.js +3 -1
  48. package/index.js.map +1 -1
  49. package/linker/template-ref.d.ts.map +1 -1
  50. package/linker/view-ref.d.ts.map +1 -1
  51. package/package.json +9 -8
  52. package/providers/provider.d.ts +2 -2
  53. package/providers/provider.d.ts.map +1 -1
  54. package/providers/provider.js +4 -4
  55. package/providers/provider.js.map +1 -1
  56. package/signals/proposal-signals.d.ts +4 -0
  57. package/signals/proposal-signals.d.ts.map +1 -0
  58. package/signals/proposal-signals.js +11 -0
  59. package/signals/proposal-signals.js.map +1 -0
  60. package/signals/proposal-sugnal.d.ts +1 -0
  61. package/signals/proposal-sugnal.d.ts.map +1 -0
  62. package/signals/proposal-sugnal.js +2 -0
  63. package/signals/proposal-sugnal.js.map +1 -0
  64. package/signals/signals.js +8 -8
  65. package/signals/signals.js.map +1 -1
  66. package/typedoc.json +8 -0
  67. package/view/base-view.js.map +1 -1
  68. package/view/render.d.ts.map +1 -1
  69. package/view/render.js +7 -3
  70. package/view/render.js.map +1 -1
  71. package/zone/task.d.ts +0 -61
  72. package/zone/task.d.ts.map +1 -1
  73. package/zone/task.js +127 -116
  74. package/zone/task.js.map +1 -1
package/zone/task.js CHANGED
@@ -1,117 +1,128 @@
1
- const notScheduled = 'notScheduled', scheduling = 'scheduling', scheduled = 'scheduled', running = 'running', canceling = 'canceling', unknown = 'unknown';
2
- const microTask = 'microTask', macroTask = 'macroTask', eventTask = 'eventTask';
3
- export class AbstractTask {
4
- type;
5
- source;
6
- callback;
7
- data;
8
- scheduleFn;
9
- cancelFn;
10
- runCount = 0;
11
- _zone = null;
12
- _state = 'notScheduled';
13
- constructor(type, source, callback, data, scheduleFn, cancelFn) {
14
- this.type = type;
15
- this.source = source;
16
- this.callback = callback;
17
- this.data = data;
18
- this.scheduleFn = scheduleFn;
19
- this.cancelFn = cancelFn;
20
- if (!callback) {
21
- throw new Error('callback is not defined');
22
- }
23
- }
24
- get zone() {
25
- return this._zone;
26
- }
27
- get state() {
28
- return this._state;
29
- }
30
- cancelScheduleRequest() {
31
- this._transitionTo(notScheduled, scheduling);
32
- }
33
- _transitionTo(toState, fromState1, fromState2) {
34
- if (this._state === fromState1 || this._state === fromState2) {
35
- this._state = toState;
36
- }
37
- else {
38
- throw new Error(`${this.type} '${this.source}': can not transition to '${toState}', expecting state '${fromState1}'${fromState2 ? ' or \'' + fromState2 + '\'' : ''}, was '${this._state}'.`);
39
- }
40
- }
41
- toString() {
42
- if (this.data && typeof this.data.handleId !== 'undefined') {
43
- return this.data.handleId.toString();
44
- }
45
- else {
46
- return Object.prototype.toString.call(this);
47
- }
48
- }
49
- toJSON() {
50
- return {
51
- type: this.type,
52
- state: this.state,
53
- source: this.source,
54
- zone: this.zone.name,
55
- runCount: this.runCount
56
- };
57
- }
58
- }
59
- export class ScopeTask extends AbstractTask {
60
- scope;
61
- static microTask(scope, source, callback, data, customSchedule) {
62
- return new ScopeTask(scope, microTask, source, callback, data, customSchedule, undefined);
63
- }
64
- static macroTask(scope, source, callback, data, customSchedule, customCancel) {
65
- return new ScopeTask(scope, macroTask, source, callback, data, customSchedule, customCancel);
66
- }
67
- static eventTask(scope, source, callback, data, customSchedule, customCancel) {
68
- return new ScopeTask(scope, eventTask, source, callback, data, customSchedule, customCancel);
69
- }
70
- constructor(scope, type, source, callback, data, scheduleFn, cancelFn) {
71
- super(type, source, callback, data, scheduleFn, cancelFn);
72
- this.scope = scope;
73
- }
74
- invoke(task, target, args) {
75
- try {
76
- this.runCount++;
77
- this.scope.detach();
78
- return this.zone.runTask(task, target, args);
79
- }
80
- finally {
81
- this.scope.reattach();
82
- }
83
- }
84
- toJSON() {
85
- return Object.assign(super.toJSON(), { scope: this.scope });
86
- }
87
- }
88
- export class StackTask extends AbstractTask {
89
- stack;
90
- static microTask(stack, source, callback, data, customSchedule) {
91
- return new StackTask(stack, microTask, source, callback, data, customSchedule, undefined);
92
- }
93
- static macroTask(stack, source, callback, data, customSchedule, customCancel) {
94
- return new StackTask(stack, macroTask, source, callback, data, customSchedule, customCancel);
95
- }
96
- static eventTask(stack, source, callback, data, customSchedule, customCancel) {
97
- return new StackTask(stack, eventTask, source, callback, data, customSchedule, customCancel);
98
- }
99
- constructor(stack, type, source, callback, data, scheduleFn, cancelFn) {
100
- super(type, source, callback, data, scheduleFn, cancelFn);
101
- this.stack = stack;
102
- }
103
- invoke(task, target, args) {
104
- try {
105
- this.runCount++;
106
- this.stack.detach();
107
- return this.zone.runTask(task, target, args);
108
- }
109
- finally {
110
- this.stack.reattach();
111
- }
112
- }
113
- toJSON() {
114
- return Object.assign(super.toJSON(), { stack: this.stack });
115
- }
116
- }
1
+ "use strict";
2
+ // /// <reference types='zone.js' />
3
+ // import { ReactiveScopeControl, Context, Stack } from '@ibyar/expressions';
4
+ // const notScheduled: 'notScheduled' = 'notScheduled',
5
+ // scheduling: 'scheduling' = 'scheduling',
6
+ // scheduled: 'scheduled' = 'scheduled',
7
+ // running: 'running' = 'running',
8
+ // canceling: 'canceling' = 'canceling',
9
+ // unknown: 'unknown' = 'unknown';
10
+ // const microTask: 'microTask' = 'microTask',
11
+ // macroTask: 'macroTask' = 'macroTask',
12
+ // eventTask: 'eventTask' = 'eventTask';
13
+ // export abstract class AbstractTask<T extends TaskType> implements Task {
14
+ // public runCount: number = 0;
15
+ // _zone: Zone | null = null;
16
+ // _state: TaskState = 'notScheduled';
17
+ // constructor(
18
+ // public type: T,
19
+ // public source: string,
20
+ // public callback: Function,
21
+ // public data?: TaskData,
22
+ // public scheduleFn?: (task: Task) => void,
23
+ // public cancelFn?: (task: Task) => void) {
24
+ // if (!callback) {
25
+ // throw new Error('callback is not defined');
26
+ // }
27
+ // }
28
+ // get zone(): Zone {
29
+ // return this._zone!;
30
+ // }
31
+ // get state(): TaskState {
32
+ // return this._state;
33
+ // }
34
+ // public cancelScheduleRequest() {
35
+ // this._transitionTo(notScheduled, scheduling);
36
+ // }
37
+ // _transitionTo(toState: TaskState, fromState1: TaskState, fromState2?: TaskState) {
38
+ // if (this._state === fromState1 || this._state === fromState2) {
39
+ // this._state = toState;
40
+ // } else {
41
+ // throw new Error(`${this.type} '${this.source}': can not transition to '${toState}', expecting state '${fromState1}'${fromState2 ? ' or \'' + fromState2 + '\'' : ''}, was '${this._state}'.`);
42
+ // }
43
+ // }
44
+ // public toString() {
45
+ // if (this.data && typeof this.data.handleId !== 'undefined') {
46
+ // return this.data.handleId.toString();
47
+ // } else {
48
+ // return Object.prototype.toString.call(this);
49
+ // }
50
+ // }
51
+ // public toJSON() {
52
+ // return {
53
+ // type: this.type,
54
+ // state: this.state,
55
+ // source: this.source,
56
+ // zone: this.zone.name,
57
+ // runCount: this.runCount
58
+ // };
59
+ // }
60
+ // abstract invoke(task: any, target: any, args: any): any;
61
+ // }
62
+ // export class ScopeTask<T extends TaskType> extends AbstractTask<T> {
63
+ // static microTask(scope: ReactiveScopeControl<any>, source: string, callback: Function, data?: TaskData, customSchedule?: (task: Task) => void) {
64
+ // return new ScopeTask(scope, microTask, source, callback, data, customSchedule, undefined);
65
+ // }
66
+ // static macroTask(scope: ReactiveScopeControl<any>, source: string, callback: Function, data?: TaskData, customSchedule?: (task: Task) => void, customCancel?: (task: Task) => void) {
67
+ // return new ScopeTask(scope, macroTask, source, callback, data, customSchedule, customCancel);
68
+ // }
69
+ // static eventTask(scope: ReactiveScopeControl<any>, source: string, callback: Function, data?: TaskData, customSchedule?: (task: Task) => void, customCancel?: (task: Task) => void) {
70
+ // return new ScopeTask(scope, eventTask, source, callback, data, customSchedule, customCancel);
71
+ // }
72
+ // constructor(
73
+ // public scope: ReactiveScopeControl<any>,
74
+ // type: T,
75
+ // source: string,
76
+ // callback: Function,
77
+ // data?: TaskData,
78
+ // scheduleFn?: (task: Task) => void,
79
+ // cancelFn?: (task: Task) => void) {
80
+ // super(type, source, callback, data, scheduleFn, cancelFn);
81
+ // }
82
+ // invoke(task: any, target: any, args: any) {
83
+ // try {
84
+ // this.runCount++;
85
+ // this.scope.detach();
86
+ // return this.zone.runTask(task, target, args);
87
+ // } finally {
88
+ // this.scope.reattach();
89
+ // }
90
+ // }
91
+ // public toJSON() {
92
+ // return Object.assign(super.toJSON(), { scope: this.scope });
93
+ // }
94
+ // }
95
+ // export class StackTask<T extends TaskType> extends AbstractTask<T> {
96
+ // static microTask(stack: Stack, source: string, callback: Function, data?: TaskData, customSchedule?: (task: Task) => void) {
97
+ // return new StackTask(stack, microTask, source, callback, data, customSchedule, undefined);
98
+ // }
99
+ // static macroTask(stack: Stack, source: string, callback: Function, data?: TaskData, customSchedule?: (task: Task) => void, customCancel?: (task: Task) => void) {
100
+ // return new StackTask(stack, macroTask, source, callback, data, customSchedule, customCancel);
101
+ // }
102
+ // static eventTask(stack: Stack, source: string, callback: Function, data?: TaskData, customSchedule?: (task: Task) => void, customCancel?: (task: Task) => void) {
103
+ // return new StackTask(stack, eventTask, source, callback, data, customSchedule, customCancel);
104
+ // }
105
+ // constructor(
106
+ // public stack: Stack,
107
+ // type: T,
108
+ // source: string,
109
+ // callback: Function,
110
+ // data: TaskData | undefined,
111
+ // scheduleFn: ((task: Task) => void) | undefined,
112
+ // cancelFn: ((task: Task) => void) | undefined) {
113
+ // super(type, source, callback, data, scheduleFn, cancelFn);
114
+ // }
115
+ // invoke(task: any, target: any, args: any) {
116
+ // try {
117
+ // this.runCount++;
118
+ // this.stack.detach();
119
+ // return this.zone.runTask(task, target, args);
120
+ // } finally {
121
+ // this.stack.reattach();
122
+ // }
123
+ // }
124
+ // public toJSON() {
125
+ // return Object.assign(super.toJSON(), { stack: this.stack });
126
+ // }
127
+ // }
117
128
  //# sourceMappingURL=task.js.map
package/zone/task.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"task.js","sourceRoot":"","sources":["../../../src/core/zone/task.ts"],"names":[],"mappings":"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","sourcesContent":["import { ReactiveScopeControl, Context, Stack } from '@ibyar/expressions';\n\nconst notScheduled: 'notScheduled' = 'notScheduled',\n\tscheduling: 'scheduling' = 'scheduling',\n\tscheduled: 'scheduled' = 'scheduled',\n\trunning: 'running' = 'running',\n\tcanceling: 'canceling' = 'canceling',\n\tunknown: 'unknown' = 'unknown';\nconst microTask: 'microTask' = 'microTask',\n\tmacroTask: 'macroTask' = 'macroTask',\n\teventTask: 'eventTask' = 'eventTask';\n\nexport abstract class AbstractTask<T extends TaskType> implements Task {\n\n\tpublic runCount: number = 0;\n\t_zone: Zone | null = null;\n\t_state: TaskState = 'notScheduled';\n\n\tconstructor(\n\t\tpublic type: T,\n\t\tpublic source: string,\n\t\tpublic callback: Function,\n\t\tpublic data?: TaskData,\n\t\tpublic scheduleFn?: (task: Task) => void,\n\t\tpublic cancelFn?: (task: Task) => void) {\n\t\tif (!callback) {\n\t\t\tthrow new Error('callback is not defined');\n\t\t}\n\t}\n\n\tget zone(): Zone {\n\t\treturn this._zone!;\n\t}\n\n\tget state(): TaskState {\n\t\treturn this._state;\n\t}\n\n\tpublic cancelScheduleRequest() {\n\t\tthis._transitionTo(notScheduled, scheduling);\n\t}\n\n\t_transitionTo(toState: TaskState, fromState1: TaskState, fromState2?: TaskState) {\n\t\tif (this._state === fromState1 || this._state === fromState2) {\n\t\t\tthis._state = toState;\n\t\t} else {\n\t\t\tthrow new Error(`${this.type} '${this.source}': can not transition to '${toState}', expecting state '${fromState1}'${fromState2 ? ' or \\'' + fromState2 + '\\'' : ''}, was '${this._state}'.`);\n\t\t}\n\t}\n\n\tpublic toString() {\n\t\tif (this.data && typeof this.data.handleId !== 'undefined') {\n\t\t\treturn this.data.handleId.toString();\n\t\t} else {\n\t\t\treturn Object.prototype.toString.call(this);\n\t\t}\n\t}\n\tpublic toJSON() {\n\t\treturn {\n\t\t\ttype: this.type,\n\t\t\tstate: this.state,\n\t\t\tsource: this.source,\n\t\t\tzone: this.zone.name,\n\t\t\trunCount: this.runCount\n\t\t};\n\t}\n\n\tabstract invoke(task: any, target: any, args: any): any;\n}\n\nexport class ScopeTask<T extends TaskType> extends AbstractTask<T> {\n\tstatic microTask(scope: ReactiveScopeControl<any>, source: string, callback: Function, data?: TaskData, customSchedule?: (task: Task) => void) {\n\t\treturn new ScopeTask(scope, microTask, source, callback, data, customSchedule, undefined);\n\t}\n\tstatic macroTask(scope: ReactiveScopeControl<any>, source: string, callback: Function, data?: TaskData, customSchedule?: (task: Task) => void, customCancel?: (task: Task) => void) {\n\t\treturn new ScopeTask(scope, macroTask, source, callback, data, customSchedule, customCancel);\n\t}\n\tstatic eventTask(scope: ReactiveScopeControl<any>, source: string, callback: Function, data?: TaskData, customSchedule?: (task: Task) => void, customCancel?: (task: Task) => void) {\n\t\treturn new ScopeTask(scope, eventTask, source, callback, data, customSchedule, customCancel);\n\t}\n\n\tconstructor(\n\t\tpublic scope: ReactiveScopeControl<any>,\n\t\ttype: T,\n\t\tsource: string,\n\t\tcallback: Function,\n\t\tdata?: TaskData,\n\t\tscheduleFn?: (task: Task) => void,\n\t\tcancelFn?: (task: Task) => void) {\n\t\tsuper(type, source, callback, data, scheduleFn, cancelFn);\n\t}\n\tinvoke(task: any, target: any, args: any) {\n\t\ttry {\n\t\t\tthis.runCount++;\n\t\t\tthis.scope.detach();\n\t\t\treturn this.zone.runTask(task, target, args);\n\t\t} finally {\n\t\t\tthis.scope.reattach();\n\t\t}\n\t}\n\tpublic toJSON() {\n\t\treturn Object.assign(super.toJSON(), { scope: this.scope });\n\t}\n}\n\nexport class StackTask<T extends TaskType> extends AbstractTask<T> {\n\n\tstatic microTask(stack: Stack, source: string, callback: Function, data?: TaskData, customSchedule?: (task: Task) => void) {\n\t\treturn new StackTask(stack, microTask, source, callback, data, customSchedule, undefined);\n\t}\n\tstatic macroTask(stack: Stack, source: string, callback: Function, data?: TaskData, customSchedule?: (task: Task) => void, customCancel?: (task: Task) => void) {\n\t\treturn new StackTask(stack, macroTask, source, callback, data, customSchedule, customCancel);\n\t}\n\tstatic eventTask(stack: Stack, source: string, callback: Function, data?: TaskData, customSchedule?: (task: Task) => void, customCancel?: (task: Task) => void) {\n\t\treturn new StackTask(stack, eventTask, source, callback, data, customSchedule, customCancel);\n\t}\n\n\tconstructor(\n\t\tpublic stack: Stack,\n\t\ttype: T,\n\t\tsource: string,\n\t\tcallback: Function,\n\t\tdata: TaskData | undefined,\n\t\tscheduleFn: ((task: Task) => void) | undefined,\n\t\tcancelFn: ((task: Task) => void) | undefined) {\n\t\tsuper(type, source, callback, data, scheduleFn, cancelFn);\n\t}\n\tinvoke(task: any, target: any, args: any) {\n\t\ttry {\n\t\t\tthis.runCount++;\n\t\t\tthis.stack.detach();\n\t\t\treturn this.zone.runTask(task, target, args);\n\t\t} finally {\n\t\t\tthis.stack.reattach();\n\t\t}\n\t}\n\tpublic toJSON() {\n\t\treturn Object.assign(super.toJSON(), { stack: this.stack });\n\t}\n}\n"]}
1
+ {"version":3,"file":"task.js","sourceRoot":"","sources":["../../../src/core/zone/task.ts"],"names":[],"mappings":";AAAA,oCAAoC;AACpC,6EAA6E;AAE7E,uDAAuD;AACvD,4CAA4C;AAC5C,yCAAyC;AACzC,mCAAmC;AACnC,yCAAyC;AACzC,mCAAmC;AAEnC,8CAA8C;AAC9C,yCAAyC;AACzC,yCAAyC;AAEzC,2EAA2E;AAE3E,gCAAgC;AAChC,8BAA8B;AAC9B,uCAAuC;AAEvC,gBAAgB;AAChB,oBAAoB;AACpB,2BAA2B;AAC3B,+BAA+B;AAC/B,4BAA4B;AAC5B,8CAA8C;AAC9C,8CAA8C;AAC9C,qBAAqB;AACrB,iDAAiD;AACjD,MAAM;AACN,KAAK;AAEL,sBAAsB;AACtB,wBAAwB;AACxB,KAAK;AAEL,4BAA4B;AAC5B,wBAAwB;AACxB,KAAK;AAEL,oCAAoC;AACpC,kDAAkD;AAClD,KAAK;AAEL,sFAAsF;AACtF,oEAAoE;AACpE,4BAA4B;AAC5B,aAAa;AACb,oMAAoM;AACpM,MAAM;AACN,KAAK;AAEL,uBAAuB;AACvB,kEAAkE;AAClE,2CAA2C;AAC3C,aAAa;AACb,kDAAkD;AAClD,MAAM;AACN,KAAK;AACL,qBAAqB;AACrB,aAAa;AACb,sBAAsB;AACtB,wBAAwB;AACxB,0BAA0B;AAC1B,2BAA2B;AAC3B,6BAA6B;AAC7B,OAAO;AACP,KAAK;AAEL,4DAA4D;AAC5D,IAAI;AAEJ,uEAAuE;AACvE,oJAAoJ;AACpJ,+FAA+F;AAC/F,KAAK;AACL,yLAAyL;AACzL,kGAAkG;AAClG,KAAK;AACL,yLAAyL;AACzL,kGAAkG;AAClG,KAAK;AAEL,gBAAgB;AAChB,6CAA6C;AAC7C,aAAa;AACb,oBAAoB;AACpB,wBAAwB;AACxB,qBAAqB;AACrB,uCAAuC;AACvC,uCAAuC;AACvC,+DAA+D;AAC/D,KAAK;AACL,+CAA+C;AAC/C,UAAU;AACV,sBAAsB;AACtB,0BAA0B;AAC1B,mDAAmD;AACnD,gBAAgB;AAChB,4BAA4B;AAC5B,MAAM;AACN,KAAK;AACL,qBAAqB;AACrB,iEAAiE;AACjE,KAAK;AACL,IAAI;AAEJ,uEAAuE;AAEvE,gIAAgI;AAChI,+FAA+F;AAC/F,KAAK;AACL,qKAAqK;AACrK,kGAAkG;AAClG,KAAK;AACL,qKAAqK;AACrK,kGAAkG;AAClG,KAAK;AAEL,gBAAgB;AAChB,yBAAyB;AACzB,aAAa;AACb,oBAAoB;AACpB,wBAAwB;AACxB,gCAAgC;AAChC,oDAAoD;AACpD,oDAAoD;AACpD,+DAA+D;AAC/D,KAAK;AACL,+CAA+C;AAC/C,UAAU;AACV,sBAAsB;AACtB,0BAA0B;AAC1B,mDAAmD;AACnD,gBAAgB;AAChB,4BAA4B;AAC5B,MAAM;AACN,KAAK;AACL,qBAAqB;AACrB,iEAAiE;AACjE,KAAK;AACL,IAAI","sourcesContent":["// /// <reference types='zone.js' />\n// import { ReactiveScopeControl, Context, Stack } from '@ibyar/expressions';\n\n// const notScheduled: 'notScheduled' = 'notScheduled',\n// \tscheduling: 'scheduling' = 'scheduling',\n// \tscheduled: 'scheduled' = 'scheduled',\n// \trunning: 'running' = 'running',\n// \tcanceling: 'canceling' = 'canceling',\n// \tunknown: 'unknown' = 'unknown';\n\n// const microTask: 'microTask' = 'microTask',\n// \tmacroTask: 'macroTask' = 'macroTask',\n// \teventTask: 'eventTask' = 'eventTask';\n\n// export abstract class AbstractTask<T extends TaskType> implements Task {\n\n// \tpublic runCount: number = 0;\n// \t_zone: Zone | null = null;\n// \t_state: TaskState = 'notScheduled';\n\n// \tconstructor(\n// \t\tpublic type: T,\n// \t\tpublic source: string,\n// \t\tpublic callback: Function,\n// \t\tpublic data?: TaskData,\n// \t\tpublic scheduleFn?: (task: Task) => void,\n// \t\tpublic cancelFn?: (task: Task) => void) {\n// \t\tif (!callback) {\n// \t\t\tthrow new Error('callback is not defined');\n// \t\t}\n// \t}\n\n// \tget zone(): Zone {\n// \t\treturn this._zone!;\n// \t}\n\n// \tget state(): TaskState {\n// \t\treturn this._state;\n// \t}\n\n// \tpublic cancelScheduleRequest() {\n// \t\tthis._transitionTo(notScheduled, scheduling);\n// \t}\n\n// \t_transitionTo(toState: TaskState, fromState1: TaskState, fromState2?: TaskState) {\n// \t\tif (this._state === fromState1 || this._state === fromState2) {\n// \t\t\tthis._state = toState;\n// \t\t} else {\n// \t\t\tthrow new Error(`${this.type} '${this.source}': can not transition to '${toState}', expecting state '${fromState1}'${fromState2 ? ' or \\'' + fromState2 + '\\'' : ''}, was '${this._state}'.`);\n// \t\t}\n// \t}\n\n// \tpublic toString() {\n// \t\tif (this.data && typeof this.data.handleId !== 'undefined') {\n// \t\t\treturn this.data.handleId.toString();\n// \t\t} else {\n// \t\t\treturn Object.prototype.toString.call(this);\n// \t\t}\n// \t}\n// \tpublic toJSON() {\n// \t\treturn {\n// \t\t\ttype: this.type,\n// \t\t\tstate: this.state,\n// \t\t\tsource: this.source,\n// \t\t\tzone: this.zone.name,\n// \t\t\trunCount: this.runCount\n// \t\t};\n// \t}\n\n// \tabstract invoke(task: any, target: any, args: any): any;\n// }\n\n// export class ScopeTask<T extends TaskType> extends AbstractTask<T> {\n// \tstatic microTask(scope: ReactiveScopeControl<any>, source: string, callback: Function, data?: TaskData, customSchedule?: (task: Task) => void) {\n// \t\treturn new ScopeTask(scope, microTask, source, callback, data, customSchedule, undefined);\n// \t}\n// \tstatic macroTask(scope: ReactiveScopeControl<any>, source: string, callback: Function, data?: TaskData, customSchedule?: (task: Task) => void, customCancel?: (task: Task) => void) {\n// \t\treturn new ScopeTask(scope, macroTask, source, callback, data, customSchedule, customCancel);\n// \t}\n// \tstatic eventTask(scope: ReactiveScopeControl<any>, source: string, callback: Function, data?: TaskData, customSchedule?: (task: Task) => void, customCancel?: (task: Task) => void) {\n// \t\treturn new ScopeTask(scope, eventTask, source, callback, data, customSchedule, customCancel);\n// \t}\n\n// \tconstructor(\n// \t\tpublic scope: ReactiveScopeControl<any>,\n// \t\ttype: T,\n// \t\tsource: string,\n// \t\tcallback: Function,\n// \t\tdata?: TaskData,\n// \t\tscheduleFn?: (task: Task) => void,\n// \t\tcancelFn?: (task: Task) => void) {\n// \t\tsuper(type, source, callback, data, scheduleFn, cancelFn);\n// \t}\n// \tinvoke(task: any, target: any, args: any) {\n// \t\ttry {\n// \t\t\tthis.runCount++;\n// \t\t\tthis.scope.detach();\n// \t\t\treturn this.zone.runTask(task, target, args);\n// \t\t} finally {\n// \t\t\tthis.scope.reattach();\n// \t\t}\n// \t}\n// \tpublic toJSON() {\n// \t\treturn Object.assign(super.toJSON(), { scope: this.scope });\n// \t}\n// }\n\n// export class StackTask<T extends TaskType> extends AbstractTask<T> {\n\n// \tstatic microTask(stack: Stack, source: string, callback: Function, data?: TaskData, customSchedule?: (task: Task) => void) {\n// \t\treturn new StackTask(stack, microTask, source, callback, data, customSchedule, undefined);\n// \t}\n// \tstatic macroTask(stack: Stack, source: string, callback: Function, data?: TaskData, customSchedule?: (task: Task) => void, customCancel?: (task: Task) => void) {\n// \t\treturn new StackTask(stack, macroTask, source, callback, data, customSchedule, customCancel);\n// \t}\n// \tstatic eventTask(stack: Stack, source: string, callback: Function, data?: TaskData, customSchedule?: (task: Task) => void, customCancel?: (task: Task) => void) {\n// \t\treturn new StackTask(stack, eventTask, source, callback, data, customSchedule, customCancel);\n// \t}\n\n// \tconstructor(\n// \t\tpublic stack: Stack,\n// \t\ttype: T,\n// \t\tsource: string,\n// \t\tcallback: Function,\n// \t\tdata: TaskData | undefined,\n// \t\tscheduleFn: ((task: Task) => void) | undefined,\n// \t\tcancelFn: ((task: Task) => void) | undefined) {\n// \t\tsuper(type, source, callback, data, scheduleFn, cancelFn);\n// \t}\n// \tinvoke(task: any, target: any, args: any) {\n// \t\ttry {\n// \t\t\tthis.runCount++;\n// \t\t\tthis.stack.detach();\n// \t\t\treturn this.zone.runTask(task, target, args);\n// \t\t} finally {\n// \t\t\tthis.stack.reattach();\n// \t\t}\n// \t}\n// \tpublic toJSON() {\n// \t\treturn Object.assign(super.toJSON(), { stack: this.stack });\n// \t}\n// }\n"]}