vsn 0.1.37 → 0.1.38
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/dist/Scope/properties/Property.js +1 -2
- package/dist/Scope/properties/Property.js.map +1 -1
- package/dist/Scope.d.ts +2 -1
- package/dist/Scope.js +24 -17
- package/dist/Scope.js.map +1 -1
- package/package.json +1 -1
- package/src/Scope/properties/Property.ts +1 -1
- package/src/Scope.ts +22 -18
|
@@ -113,8 +113,7 @@ var Property = /** @class */ (function (_super) {
|
|
|
113
113
|
}
|
|
114
114
|
};
|
|
115
115
|
Property.prototype.hasTag = function (tag) {
|
|
116
|
-
|
|
117
|
-
return ((_a = this.config.tags) === null || _a === void 0 ? void 0 : _a.indexOf(tag)) !== -1;
|
|
116
|
+
return this.config.tags instanceof Array ? this.config.tags.indexOf(tag) !== -1 : false;
|
|
118
117
|
};
|
|
119
118
|
return Property;
|
|
120
119
|
}(EventDispatcher_1.EventDispatcher));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Property.js","sourceRoot":"","sources":["../../../src/Scope/properties/Property.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Property.js","sourceRoot":"","sources":["../../../src/Scope/properties/Property.ts"],"names":[],"mappings":"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"}
|
package/dist/Scope.d.ts
CHANGED
|
@@ -3,10 +3,11 @@ import { ScopeReference } from "./Scope/ScopeReference";
|
|
|
3
3
|
import { ScopeData } from "./Scope/ScopeData";
|
|
4
4
|
export declare class Scope extends EventDispatcher {
|
|
5
5
|
wrapped: any;
|
|
6
|
-
protected
|
|
6
|
+
protected _data: ScopeData;
|
|
7
7
|
protected children: Scope[];
|
|
8
8
|
protected _parentScope: Scope;
|
|
9
9
|
constructor(parent?: Scope);
|
|
10
|
+
get data(): ScopeData;
|
|
10
11
|
get parentScope(): Scope;
|
|
11
12
|
set parentScope(scope: Scope);
|
|
12
13
|
addChild(scope: Scope): void;
|
package/dist/Scope.js
CHANGED
|
@@ -34,10 +34,17 @@ var Scope = /** @class */ (function (_super) {
|
|
|
34
34
|
if (parent)
|
|
35
35
|
_this.parentScope = parent;
|
|
36
36
|
_this.children = [];
|
|
37
|
-
_this.
|
|
38
|
-
_this.
|
|
37
|
+
_this._data = new DynamicScopeData_1.DynamicScopeData({});
|
|
38
|
+
_this._data.addRelay(_this);
|
|
39
39
|
return _this;
|
|
40
40
|
}
|
|
41
|
+
Object.defineProperty(Scope.prototype, "data", {
|
|
42
|
+
get: function () {
|
|
43
|
+
return this._data;
|
|
44
|
+
},
|
|
45
|
+
enumerable: false,
|
|
46
|
+
configurable: true
|
|
47
|
+
});
|
|
41
48
|
Object.defineProperty(Scope.prototype, "parentScope", {
|
|
42
49
|
get: function () {
|
|
43
50
|
return this._parentScope;
|
|
@@ -81,7 +88,7 @@ var Scope = /** @class */ (function (_super) {
|
|
|
81
88
|
};
|
|
82
89
|
Scope.prototype.get = function (key, searchParents) {
|
|
83
90
|
if (searchParents === void 0) { searchParents = true; }
|
|
84
|
-
var value = this.
|
|
91
|
+
var value = this._data[key];
|
|
85
92
|
if (value === undefined) {
|
|
86
93
|
if (searchParents && this.parentScope)
|
|
87
94
|
return this.parentScope.get(key, searchParents);
|
|
@@ -90,28 +97,28 @@ var Scope = /** @class */ (function (_super) {
|
|
|
90
97
|
return value;
|
|
91
98
|
};
|
|
92
99
|
Scope.prototype.set = function (key, value) {
|
|
93
|
-
if (!this.
|
|
94
|
-
this.
|
|
95
|
-
this.
|
|
100
|
+
if (!this._data.hasProperty(key))
|
|
101
|
+
this._data.createProperty(key);
|
|
102
|
+
this._data[key] = value;
|
|
96
103
|
};
|
|
97
104
|
Object.defineProperty(Scope.prototype, "keys", {
|
|
98
105
|
get: function () {
|
|
99
|
-
return this.
|
|
106
|
+
return this._data.keys;
|
|
100
107
|
},
|
|
101
108
|
enumerable: false,
|
|
102
109
|
configurable: true
|
|
103
110
|
});
|
|
104
111
|
Scope.prototype.has = function (key) {
|
|
105
|
-
return this.
|
|
112
|
+
return this._data.hasProperty(key);
|
|
106
113
|
};
|
|
107
114
|
Scope.prototype.setType = function (key, type) {
|
|
108
|
-
var property = this.
|
|
115
|
+
var property = this._data.getProperty(key, true);
|
|
109
116
|
property.type = type;
|
|
110
117
|
if (this.has(key))
|
|
111
118
|
this.set(key, this.get(key));
|
|
112
119
|
};
|
|
113
120
|
Scope.prototype.getType = function (key) {
|
|
114
|
-
var property = this.
|
|
121
|
+
var property = this._data.getProperty(key);
|
|
115
122
|
return property === null || property === void 0 ? void 0 : property.type;
|
|
116
123
|
};
|
|
117
124
|
Scope.prototype.extend = function (data) {
|
|
@@ -121,7 +128,7 @@ var Scope = /** @class */ (function (_super) {
|
|
|
121
128
|
}
|
|
122
129
|
};
|
|
123
130
|
Scope.prototype.clear = function () {
|
|
124
|
-
for (var _i = 0, _a = this.
|
|
131
|
+
for (var _i = 0, _a = this._data.keys; _i < _a.length; _i++) {
|
|
125
132
|
var key = _a[_i];
|
|
126
133
|
if (['function', 'object'].indexOf(typeof this.get(key)) > -1)
|
|
127
134
|
continue;
|
|
@@ -137,17 +144,17 @@ var Scope = /** @class */ (function (_super) {
|
|
|
137
144
|
if (triggerUpdates === void 0) { triggerUpdates = false; }
|
|
138
145
|
if (updateFromWrapped === void 0) { updateFromWrapped = true; }
|
|
139
146
|
if (toWrap instanceof ScopeData_1.ScopeData) {
|
|
140
|
-
if (this.
|
|
141
|
-
this.
|
|
142
|
-
this.
|
|
147
|
+
if (this._data instanceof EventDispatcher_1.EventDispatcher) {
|
|
148
|
+
this._data.removeRelay(this);
|
|
149
|
+
this._data.deconstruct();
|
|
143
150
|
}
|
|
144
151
|
this.wrapped = toWrap;
|
|
145
|
-
this.
|
|
146
|
-
this.
|
|
152
|
+
this._data = toWrap;
|
|
153
|
+
this._data.addRelay(this);
|
|
147
154
|
return;
|
|
148
155
|
}
|
|
149
156
|
if (toWrap instanceof Scope)
|
|
150
|
-
toWrap = toWrap.
|
|
157
|
+
toWrap = toWrap._data;
|
|
151
158
|
if ([null, undefined].indexOf(this.wrapped) === -1)
|
|
152
159
|
throw Error("A scope can only wrap a single object");
|
|
153
160
|
if (!toWrap) {
|
package/dist/Scope.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Scope.js","sourceRoot":"","sources":["../src/Scope.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,qDAAkD;AAClD,yDAAsD;AACtD,yDAAsD;AACtD,qDAAkD;AAClD,+CAA4C;AAC5C,6DAA0D;AAG1D;IAA2B,yBAAe;IAMtC,eACI,MAAc;QADlB,YAGI,iBAAO,SAMV;QALG,IAAI,MAAM;YACN,KAAI,CAAC,WAAW,GAAG,MAAM,CAAC;QAC9B,KAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,KAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"Scope.js","sourceRoot":"","sources":["../src/Scope.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/Scope.ts
CHANGED
|
@@ -8,7 +8,7 @@ import {DynamicScopeData} from "./Scope/DynamicScopeData";
|
|
|
8
8
|
|
|
9
9
|
export class Scope extends EventDispatcher {
|
|
10
10
|
public wrapped: any;
|
|
11
|
-
protected
|
|
11
|
+
protected _data: ScopeData;
|
|
12
12
|
protected children: Scope[];
|
|
13
13
|
protected _parentScope: Scope;
|
|
14
14
|
|
|
@@ -19,8 +19,12 @@ export class Scope extends EventDispatcher {
|
|
|
19
19
|
if (parent)
|
|
20
20
|
this.parentScope = parent;
|
|
21
21
|
this.children = [];
|
|
22
|
-
this.
|
|
23
|
-
this.
|
|
22
|
+
this._data = new DynamicScopeData({});
|
|
23
|
+
this._data.addRelay(this);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
public get data(): ScopeData {
|
|
27
|
+
return this._data;
|
|
24
28
|
}
|
|
25
29
|
|
|
26
30
|
public get parentScope(): Scope {
|
|
@@ -68,7 +72,7 @@ export class Scope extends EventDispatcher {
|
|
|
68
72
|
}
|
|
69
73
|
|
|
70
74
|
get(key: string, searchParents: boolean = true): any {
|
|
71
|
-
const value: any = this.
|
|
75
|
+
const value: any = this._data[key];
|
|
72
76
|
if (value === undefined) {
|
|
73
77
|
if (searchParents && this.parentScope)
|
|
74
78
|
return this.parentScope.get(key, searchParents);
|
|
@@ -80,28 +84,28 @@ export class Scope extends EventDispatcher {
|
|
|
80
84
|
}
|
|
81
85
|
|
|
82
86
|
set(key: string, value: any) {
|
|
83
|
-
if (!this.
|
|
84
|
-
this.
|
|
85
|
-
this.
|
|
87
|
+
if (!this._data.hasProperty(key))
|
|
88
|
+
this._data.createProperty(key);
|
|
89
|
+
this._data[key] = value;
|
|
86
90
|
}
|
|
87
91
|
|
|
88
92
|
get keys(): string[] {
|
|
89
|
-
return this.
|
|
93
|
+
return this._data.keys;
|
|
90
94
|
}
|
|
91
95
|
|
|
92
96
|
has(key: string): boolean {
|
|
93
|
-
return this.
|
|
97
|
+
return this._data.hasProperty(key);
|
|
94
98
|
}
|
|
95
99
|
|
|
96
100
|
setType(key: string, type: string) {
|
|
97
|
-
const property = this.
|
|
101
|
+
const property = this._data.getProperty(key, true);
|
|
98
102
|
property.type = type;
|
|
99
103
|
if (this.has(key))
|
|
100
104
|
this.set(key, this.get(key));
|
|
101
105
|
}
|
|
102
106
|
|
|
103
107
|
getType(key: string): string {
|
|
104
|
-
const property = this.
|
|
108
|
+
const property = this._data.getProperty(key);
|
|
105
109
|
return property?.type;
|
|
106
110
|
}
|
|
107
111
|
|
|
@@ -112,7 +116,7 @@ export class Scope extends EventDispatcher {
|
|
|
112
116
|
}
|
|
113
117
|
|
|
114
118
|
clear() {
|
|
115
|
-
for (const key of this.
|
|
119
|
+
for (const key of this._data.keys) {
|
|
116
120
|
if (['function', 'object'].indexOf(typeof this.get(key)) > -1) continue;
|
|
117
121
|
this.set(key, null);
|
|
118
122
|
}
|
|
@@ -125,18 +129,18 @@ export class Scope extends EventDispatcher {
|
|
|
125
129
|
|
|
126
130
|
public wrap(toWrap: any, triggerUpdates: boolean = false, updateFromWrapped: boolean = true) {
|
|
127
131
|
if (toWrap instanceof ScopeData) {
|
|
128
|
-
if (this.
|
|
129
|
-
this.
|
|
130
|
-
this.
|
|
132
|
+
if (this._data instanceof EventDispatcher) {
|
|
133
|
+
this._data.removeRelay(this);
|
|
134
|
+
this._data.deconstruct();
|
|
131
135
|
}
|
|
132
136
|
this.wrapped = toWrap;
|
|
133
|
-
this.
|
|
134
|
-
this.
|
|
137
|
+
this._data = toWrap;
|
|
138
|
+
this._data.addRelay(this);
|
|
135
139
|
return;
|
|
136
140
|
}
|
|
137
141
|
|
|
138
142
|
if (toWrap instanceof Scope)
|
|
139
|
-
toWrap = toWrap.
|
|
143
|
+
toWrap = toWrap._data;
|
|
140
144
|
|
|
141
145
|
if ([null, undefined].indexOf(this.wrapped) === -1)
|
|
142
146
|
throw Error("A scope can only wrap a single object");
|