vsn 0.1.23 → 0.1.27
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/demo/demo.html +16 -7
- package/demo/vsn.js +1 -0
- package/dist/AST.d.ts +2 -1
- package/dist/AST.js +94 -4
- package/dist/AST.js.map +1 -1
- package/dist/Attribute.d.ts +1 -1
- package/dist/Attribute.js +3 -3
- package/dist/Attribute.js.map +1 -1
- package/dist/Configuration.d.ts +1 -1
- package/dist/Configuration.js +4 -4
- package/dist/Configuration.js.map +1 -1
- package/dist/Controller.d.ts +10 -5
- package/dist/Controller.js +21 -6
- package/dist/Controller.js.map +1 -1
- package/dist/DOM/DOMObject.d.ts +1 -1
- package/dist/DOM/DOMObject.js +2 -2
- package/dist/DOM/DOMObject.js.map +1 -1
- package/dist/DOM.d.ts +1 -1
- package/dist/DOM.js +4 -4
- package/dist/DOM.js.map +1 -1
- package/dist/EventDispatcher.d.ts +26 -0
- package/dist/EventDispatcher.js +117 -0
- package/dist/EventDispatcher.js.map +1 -0
- package/dist/Formats.js +2 -2
- package/dist/Formats.js.map +1 -1
- package/dist/MessageList.d.ts +14 -0
- package/dist/MessageList.js +88 -0
- package/dist/MessageList.js.map +1 -0
- package/dist/Model/Collection.d.ts +5 -0
- package/dist/Model/Collection.js +37 -0
- package/dist/Model/Collection.js.map +1 -0
- package/dist/Model/DataModel.d.ts +6 -0
- package/dist/Model/DataModel.js +54 -0
- package/dist/Model/DataModel.js.map +1 -0
- package/dist/Model/ModelAbstract.d.ts +20 -0
- package/dist/Model/ModelAbstract.js +122 -0
- package/dist/Model/ModelAbstract.js.map +1 -0
- package/dist/Model/fields/BooleanField.d.ts +5 -0
- package/dist/Model/fields/BooleanField.js +43 -0
- package/dist/Model/fields/BooleanField.js.map +1 -0
- package/dist/Model/fields/EmailField.d.ts +5 -0
- package/dist/Model/fields/EmailField.js +36 -0
- package/dist/Model/fields/EmailField.js.map +1 -0
- package/dist/Model/fields/Field.d.ts +13 -0
- package/dist/Model/fields/Field.js +79 -0
- package/dist/Model/fields/Field.js.map +1 -0
- package/dist/Model/fields/FloatField.d.ts +5 -0
- package/dist/Model/fields/FloatField.js +47 -0
- package/dist/Model/fields/FloatField.js.map +1 -0
- package/dist/Model/fields/PositiveNumberField.d.ts +5 -0
- package/dist/Model/fields/PositiveNumberField.js +51 -0
- package/dist/Model/fields/PositiveNumberField.js.map +1 -0
- package/dist/Model/fields/StringField.d.ts +5 -0
- package/dist/Model/fields/StringField.js +43 -0
- package/dist/Model/fields/StringField.js.map +1 -0
- package/dist/Model.d.ts +11 -0
- package/dist/Model.js +72 -0
- package/dist/Model.js.map +1 -0
- package/dist/Registry.d.ts +2 -2
- package/dist/Registry.js +6 -16
- package/dist/Registry.js.map +1 -1
- package/dist/Scope.d.ts +7 -10
- package/dist/Scope.js +40 -90
- package/dist/Scope.js.map +1 -1
- package/dist/SimplePromise.d.ts +42 -0
- package/dist/SimplePromise.js +217 -0
- package/dist/SimplePromise.js.map +1 -0
- package/dist/Tag.js +12 -6
- package/dist/Tag.js.map +1 -1
- package/dist/attributes/Bind.js +1 -1
- package/dist/attributes/Bind.js.map +1 -1
- package/dist/attributes/ClickRemoveClass.js +17 -5
- package/dist/attributes/ClickRemoveClass.js.map +1 -1
- package/dist/attributes/ClickToggleClass.js +17 -5
- package/dist/attributes/ClickToggleClass.js.map +1 -1
- package/dist/attributes/Exec.js +6 -0
- package/dist/attributes/Exec.js.map +1 -1
- package/dist/attributes/Format.js +3 -0
- package/dist/attributes/Format.js.map +1 -1
- package/dist/attributes/If.js +12 -0
- package/dist/attributes/If.js.map +1 -1
- package/dist/attributes/JSONAttribute.js +3 -0
- package/dist/attributes/JSONAttribute.js.map +1 -1
- package/dist/attributes/KeyAbstract.js +11 -4
- package/dist/attributes/KeyAbstract.js.map +1 -1
- package/dist/attributes/KeyDown.js +8 -2
- package/dist/attributes/KeyDown.js.map +1 -1
- package/dist/attributes/KeyUp.js +8 -2
- package/dist/attributes/KeyUp.js.map +1 -1
- package/dist/attributes/List.js +14 -5
- package/dist/attributes/List.js.map +1 -1
- package/dist/attributes/ListItem.js +3 -0
- package/dist/attributes/ListItem.js.map +1 -1
- package/dist/attributes/On.js +15 -3
- package/dist/attributes/On.js.map +1 -1
- package/dist/attributes/Radio.d.ts +2 -0
- package/dist/attributes/Radio.js +52 -5
- package/dist/attributes/Radio.js.map +1 -1
- package/dist/attributes/RootAttribute.js +8 -2
- package/dist/attributes/RootAttribute.js.map +1 -1
- package/dist/attributes/ScopeChange.js +7 -1
- package/dist/attributes/ScopeChange.js.map +1 -1
- package/dist/attributes/SetAttribute.js +3 -0
- package/dist/attributes/SetAttribute.js.map +1 -1
- package/dist/attributes/StandardAttribute.js +25 -7
- package/dist/attributes/StandardAttribute.js.map +1 -1
- package/dist/attributes/StyleAttribute.js +1 -1
- package/dist/attributes/StyleAttribute.js.map +1 -1
- package/dist/attributes/TypeAttribute.js +3 -0
- package/dist/attributes/TypeAttribute.js.map +1 -1
- package/dist/{Vision.d.ts → vsn.d.ts} +3 -1
- package/dist/{Vision.js → vsn.js} +10 -6
- package/dist/vsn.js.map +1 -0
- package/package.json +9 -13
- package/src/AST.ts +96 -5
- package/src/Attribute.ts +2 -2
- package/src/Configuration.ts +3 -3
- package/src/Controller.ts +16 -7
- package/src/DOM/DOMObject.ts +1 -1
- package/src/DOM.ts +4 -4
- package/src/EventDispatcher.ts +117 -0
- package/src/Formats.ts +2 -2
- package/src/MessageList.ts +81 -0
- package/src/Model/Collection.ts +13 -0
- package/src/Model/DataModel.ts +29 -0
- package/src/Model/ModelAbstract.ts +114 -0
- package/src/Model/fields/BooleanField.ts +16 -0
- package/src/Model/fields/EmailField.ts +12 -0
- package/src/Model/fields/Field.ts +65 -0
- package/src/Model/fields/FloatField.ts +22 -0
- package/src/Model/fields/PositiveNumberField.ts +24 -0
- package/src/Model/fields/StringField.ts +16 -0
- package/src/Model.ts +57 -0
- package/src/Registry.ts +3 -5
- package/src/Scope.ts +39 -90
- package/src/SimplePromise.ts +219 -0
- package/src/Tag.ts +12 -9
- package/src/attributes/Bind.ts +1 -1
- package/src/attributes/ClickRemoveClass.ts +2 -0
- package/src/attributes/ClickToggleClass.ts +2 -0
- package/src/attributes/Exec.ts +2 -0
- package/src/attributes/Format.ts +1 -0
- package/src/attributes/If.ts +4 -0
- package/src/attributes/JSONAttribute.ts +1 -0
- package/src/attributes/KeyAbstract.ts +2 -1
- package/src/attributes/KeyDown.ts +1 -0
- package/src/attributes/KeyUp.ts +1 -0
- package/src/attributes/List.ts +6 -3
- package/src/attributes/ListItem.ts +1 -0
- package/src/attributes/On.ts +4 -0
- package/src/attributes/Radio.ts +18 -3
- package/src/attributes/RootAttribute.ts +1 -0
- package/src/attributes/ScopeChange.ts +3 -1
- package/src/attributes/SetAttribute.ts +1 -0
- package/src/attributes/StandardAttribute.ts +4 -1
- package/src/attributes/StyleAttribute.ts +1 -1
- package/src/attributes/TypeAttribute.ts +1 -0
- package/src/{Vision.ts → vsn.ts} +4 -2
- package/test/AST.spec.ts +2 -1
- package/test/DOM.spec.ts +1 -1
- package/test/MessageList.spec.ts +101 -0
- package/test/Model/DataModel.spec.ts +141 -0
- package/test/Model.spec.ts +306 -0
- package/test/Scope.spec.ts +2 -2
- package/test/SimplePromise.spec.ts +271 -0
- package/test/attributes/Bind.spec.ts +5 -5
- package/test/attributes/JSONAttribute.spec.ts +1 -1
- package/test/attributes/ListItem.spec.ts +1 -1
- package/webpack.config.js +2 -2
- package/demo/vision.js +0 -1
- package/dist/Vision.js.map +0 -1
- package/main.py +0 -16
package/dist/Scope.js
CHANGED
|
@@ -57,10 +57,11 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from) {
|
|
|
57
57
|
};
|
|
58
58
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
59
59
|
exports.Scope = exports.WrappedArray = exports.ScopeVariableType = exports.QueryReference = exports.ScopeReference = void 0;
|
|
60
|
-
var simple_ts_models_1 = require("simple-ts-models");
|
|
61
|
-
var simple_ts_event_dispatcher_1 = require("simple-ts-event-dispatcher");
|
|
62
60
|
var Registry_1 = require("./Registry");
|
|
63
61
|
var DOM_1 = require("./DOM");
|
|
62
|
+
var EventDispatcher_1 = require("./EventDispatcher");
|
|
63
|
+
var DataModel_1 = require("./Model/DataModel");
|
|
64
|
+
var Model_1 = require("./Model");
|
|
64
65
|
var ScopeReference = /** @class */ (function () {
|
|
65
66
|
function ScopeReference(scope, key, value) {
|
|
66
67
|
if (scope === void 0) { scope = null; }
|
|
@@ -160,34 +161,50 @@ var WrappedArray = /** @class */ (function (_super) {
|
|
|
160
161
|
var _this = _super.apply(this, items) || this;
|
|
161
162
|
_this.$wrapped = true;
|
|
162
163
|
Object.setPrototypeOf(_this, WrappedArray.prototype);
|
|
163
|
-
_this.
|
|
164
|
-
_this._listeners = {};
|
|
164
|
+
_this.dispatcher = new EventDispatcher_1.EventDispatcher();
|
|
165
165
|
return _this;
|
|
166
166
|
}
|
|
167
|
+
WrappedArray.prototype.dispatch = function (event) {
|
|
168
|
+
var _a;
|
|
169
|
+
var args = [];
|
|
170
|
+
for (var _i = 1; _i < arguments.length; _i++) {
|
|
171
|
+
args[_i - 1] = arguments[_i];
|
|
172
|
+
}
|
|
173
|
+
(_a = this.dispatcher).dispatch.apply(_a, __spreadArray([event], args));
|
|
174
|
+
};
|
|
175
|
+
WrappedArray.prototype.on = function (event, callback) {
|
|
176
|
+
this.dispatcher.on(event, callback);
|
|
177
|
+
};
|
|
178
|
+
WrappedArray.prototype.off = function (event, key) {
|
|
179
|
+
this.dispatcher.off(event, key);
|
|
180
|
+
};
|
|
181
|
+
WrappedArray.prototype.once = function (event, callback) {
|
|
182
|
+
this.dispatcher.once(event, callback);
|
|
183
|
+
};
|
|
167
184
|
WrappedArray.prototype.push = function () {
|
|
168
185
|
var items = [];
|
|
169
186
|
for (var _i = 0; _i < arguments.length; _i++) {
|
|
170
187
|
items[_i] = arguments[_i];
|
|
171
188
|
}
|
|
172
189
|
var num = _super.prototype.push.apply(this, items);
|
|
173
|
-
this.
|
|
174
|
-
this.
|
|
190
|
+
this.dispatch.apply(this, __spreadArray(['push'], items));
|
|
191
|
+
this.dispatch('change', {
|
|
175
192
|
'added': items
|
|
176
193
|
});
|
|
177
194
|
for (var _a = 0, items_1 = items; _a < items_1.length; _a++) {
|
|
178
195
|
var item = items_1[_a];
|
|
179
|
-
this.
|
|
196
|
+
this.dispatch('add', item);
|
|
180
197
|
}
|
|
181
198
|
return num;
|
|
182
199
|
};
|
|
183
200
|
WrappedArray.prototype.splice = function (start, deleteCount) {
|
|
184
201
|
var removed = _super.prototype.splice.call(this, start, deleteCount);
|
|
185
|
-
this.
|
|
202
|
+
this.dispatch('change', {
|
|
186
203
|
'removed': removed
|
|
187
204
|
});
|
|
188
205
|
for (var _i = 0, removed_1 = removed; _i < removed_1.length; _i++) {
|
|
189
206
|
var item = removed_1[_i];
|
|
190
|
-
this.
|
|
207
|
+
this.dispatch('remove', item);
|
|
191
208
|
}
|
|
192
209
|
return removed;
|
|
193
210
|
};
|
|
@@ -227,77 +244,6 @@ var WrappedArray = /** @class */ (function (_super) {
|
|
|
227
244
|
this.splice(this.indexOf(item), 1);
|
|
228
245
|
}
|
|
229
246
|
};
|
|
230
|
-
WrappedArray.prototype.bind = function (event, fct, context, once) {
|
|
231
|
-
once = once || false;
|
|
232
|
-
this._lastKey++;
|
|
233
|
-
this._listeners[event] = this._listeners[event] || [];
|
|
234
|
-
this._listeners[event].push(new simple_ts_event_dispatcher_1.EventCallback(fct, this._lastKey, once, context));
|
|
235
|
-
return this._lastKey;
|
|
236
|
-
};
|
|
237
|
-
WrappedArray.prototype.once = function (event, fct, context) {
|
|
238
|
-
return this.bind(event, fct, context, true);
|
|
239
|
-
};
|
|
240
|
-
WrappedArray.prototype.unbind = function (event, key) {
|
|
241
|
-
if (!(event in this._listeners))
|
|
242
|
-
return false;
|
|
243
|
-
if (key) {
|
|
244
|
-
for (var _i = 0, _a = this._listeners[event]; _i < _a.length; _i++) {
|
|
245
|
-
var cb = _a[_i];
|
|
246
|
-
if (key == cb.key) {
|
|
247
|
-
this._listeners[event].splice(this._listeners[event].indexOf(cb), 1);
|
|
248
|
-
return true;
|
|
249
|
-
}
|
|
250
|
-
}
|
|
251
|
-
}
|
|
252
|
-
else {
|
|
253
|
-
this._listeners[event] = [];
|
|
254
|
-
return true;
|
|
255
|
-
}
|
|
256
|
-
return false;
|
|
257
|
-
};
|
|
258
|
-
WrappedArray.prototype.unbindWithContext = function (event, context) {
|
|
259
|
-
if (!(event in this._listeners))
|
|
260
|
-
return 0;
|
|
261
|
-
var toRemove = [], cnt = 0;
|
|
262
|
-
for (var _i = 0, _a = this._listeners[event]; _i < _a.length; _i++) {
|
|
263
|
-
var cb = _a[_i];
|
|
264
|
-
if (context == cb.context) {
|
|
265
|
-
toRemove.push(cb);
|
|
266
|
-
}
|
|
267
|
-
}
|
|
268
|
-
for (var _b = 0, toRemove_2 = toRemove; _b < toRemove_2.length; _b++) {
|
|
269
|
-
var cb = toRemove_2[_b];
|
|
270
|
-
this._listeners[event].splice(this._listeners[event].indexOf(cb), 1);
|
|
271
|
-
cnt++;
|
|
272
|
-
}
|
|
273
|
-
return cnt;
|
|
274
|
-
};
|
|
275
|
-
WrappedArray.prototype.getListener = function (event, key) {
|
|
276
|
-
for (var _i = 0, _a = this._listeners[event]; _i < _a.length; _i++) {
|
|
277
|
-
var cb = _a[_i];
|
|
278
|
-
if (key == cb.key)
|
|
279
|
-
return cb;
|
|
280
|
-
}
|
|
281
|
-
};
|
|
282
|
-
WrappedArray.prototype.trigger = function (event) {
|
|
283
|
-
var args = [];
|
|
284
|
-
for (var _i = 1; _i < arguments.length; _i++) {
|
|
285
|
-
args[_i - 1] = arguments[_i];
|
|
286
|
-
}
|
|
287
|
-
if (!(event in this._listeners))
|
|
288
|
-
return;
|
|
289
|
-
for (var i = 0; i < this._listeners[event].length; i++) {
|
|
290
|
-
var cb = this._listeners[event][i];
|
|
291
|
-
// We need to unbind callbacks before they're called to prevent
|
|
292
|
-
// infinite loops if the event is somehow triggered within the
|
|
293
|
-
// callback
|
|
294
|
-
if (cb.once) {
|
|
295
|
-
this.unbind(event, cb.key);
|
|
296
|
-
i--;
|
|
297
|
-
}
|
|
298
|
-
cb.call(args);
|
|
299
|
-
}
|
|
300
|
-
};
|
|
301
247
|
return WrappedArray;
|
|
302
248
|
}(Array));
|
|
303
249
|
exports.WrappedArray = WrappedArray;
|
|
@@ -309,7 +255,7 @@ var Scope = /** @class */ (function (_super) {
|
|
|
309
255
|
if (parent)
|
|
310
256
|
_this.parentScope = parent;
|
|
311
257
|
_this.children = [];
|
|
312
|
-
_this.data = new
|
|
258
|
+
_this.data = new DataModel_1.DataModel({});
|
|
313
259
|
_this._keys = [];
|
|
314
260
|
return _this;
|
|
315
261
|
}
|
|
@@ -360,7 +306,7 @@ var Scope = /** @class */ (function (_super) {
|
|
|
360
306
|
if (value === undefined) {
|
|
361
307
|
if (searchParents && this.parentScope)
|
|
362
308
|
return this.parentScope.get(key, searchParents);
|
|
363
|
-
return
|
|
309
|
+
return '';
|
|
364
310
|
}
|
|
365
311
|
return value;
|
|
366
312
|
};
|
|
@@ -385,8 +331,8 @@ var Scope = /** @class */ (function (_super) {
|
|
|
385
331
|
previousValue: previousValue,
|
|
386
332
|
key: key
|
|
387
333
|
};
|
|
388
|
-
this.
|
|
389
|
-
this.
|
|
334
|
+
this.dispatch("change:" + key, event_1);
|
|
335
|
+
this.dispatch('change', key, event_1);
|
|
390
336
|
}
|
|
391
337
|
if (this._keys.indexOf(key) === -1)
|
|
392
338
|
this._keys.push(key);
|
|
@@ -431,6 +377,10 @@ var Scope = /** @class */ (function (_super) {
|
|
|
431
377
|
var _this = this;
|
|
432
378
|
if (triggerUpdates === void 0) { triggerUpdates = false; }
|
|
433
379
|
if (updateFromWrapped === void 0) { updateFromWrapped = true; }
|
|
380
|
+
if (toWrap instanceof Model_1.Model) {
|
|
381
|
+
this.data = toWrap;
|
|
382
|
+
return;
|
|
383
|
+
}
|
|
434
384
|
if (toWrap instanceof Scope)
|
|
435
385
|
toWrap = toWrap.data;
|
|
436
386
|
if ([null, undefined].indexOf(this.wrapped) === -1)
|
|
@@ -454,12 +404,12 @@ var Scope = /** @class */ (function (_super) {
|
|
|
454
404
|
if (!(this_1.wrapped[field] instanceof WrappedArray)) {
|
|
455
405
|
this_1.wrapped[field] = new (WrappedArray.bind.apply(WrappedArray, __spreadArray([void 0], toWrap[field])))();
|
|
456
406
|
}
|
|
457
|
-
this_1.wrapped[field].
|
|
407
|
+
this_1.wrapped[field].on('change', function () {
|
|
458
408
|
var args = [];
|
|
459
409
|
for (var _i = 0; _i < arguments.length; _i++) {
|
|
460
410
|
args[_i] = arguments[_i];
|
|
461
411
|
}
|
|
462
|
-
_this.
|
|
412
|
+
_this.dispatch.apply(_this, __spreadArray(["change:" + field], args));
|
|
463
413
|
});
|
|
464
414
|
}
|
|
465
415
|
if (typeof this_1.wrapped[field] == 'object' && this_1.wrapped[field] && this_1.wrapped[field].constructor === Object) {
|
|
@@ -484,7 +434,7 @@ var Scope = /** @class */ (function (_super) {
|
|
|
484
434
|
configurable: true
|
|
485
435
|
});
|
|
486
436
|
if (triggerUpdates)
|
|
487
|
-
this_1.
|
|
437
|
+
this_1.dispatch("change:" + field);
|
|
488
438
|
};
|
|
489
439
|
var this_1 = this;
|
|
490
440
|
for (var field in toWrap) {
|
|
@@ -492,9 +442,9 @@ var Scope = /** @class */ (function (_super) {
|
|
|
492
442
|
}
|
|
493
443
|
this.wrapped.get = this.get.bind(this);
|
|
494
444
|
this.wrapped.set = this.set.bind(this);
|
|
495
|
-
this.wrapped.bind = this.
|
|
445
|
+
this.wrapped.bind = this.on.bind(this);
|
|
496
446
|
this.wrapped.once = this.once.bind(this);
|
|
497
|
-
this.wrapped.unbind = this.
|
|
447
|
+
this.wrapped.unbind = this.off.bind(this);
|
|
498
448
|
};
|
|
499
449
|
Scope.prototype.unwrap = function () {
|
|
500
450
|
if (!this.wrapped)
|
|
@@ -507,6 +457,6 @@ var Scope = /** @class */ (function (_super) {
|
|
|
507
457
|
}
|
|
508
458
|
};
|
|
509
459
|
return Scope;
|
|
510
|
-
}(
|
|
460
|
+
}(EventDispatcher_1.EventDispatcher));
|
|
511
461
|
exports.Scope = Scope;
|
|
512
462
|
//# sourceMappingURL=Scope.js.map
|
package/dist/Scope.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Scope.js","sourceRoot":"","sources":["../src/Scope.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Scope.js","sourceRoot":"","sources":["../src/Scope.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { EventDispatcher } from "./EventDispatcher";
|
|
2
|
+
export interface IDeferred<T> {
|
|
3
|
+
[key: string]: any;
|
|
4
|
+
promise: SimplePromise<T>;
|
|
5
|
+
resolve(result: T): void;
|
|
6
|
+
reject(reason: string): void;
|
|
7
|
+
}
|
|
8
|
+
export declare type TResolve<T> = (result: T) => void;
|
|
9
|
+
export declare type TReject = (reason: string) => void;
|
|
10
|
+
export declare type TResult<T> = T | string | null;
|
|
11
|
+
export declare enum EPromiseStates {
|
|
12
|
+
PENDING = 0,
|
|
13
|
+
FULFILLED = 1,
|
|
14
|
+
REJECTED = 2
|
|
15
|
+
}
|
|
16
|
+
export interface IPromise<T> extends EventDispatcher {
|
|
17
|
+
state: EPromiseStates;
|
|
18
|
+
result: TResult<T>;
|
|
19
|
+
then<X = T>(success?: (result?: T) => X, error?: (reason?: string) => string): IPromise<X>;
|
|
20
|
+
catch(onRejected: (reason: string) => string): IPromise<string>;
|
|
21
|
+
finally<X = T>(finallyCallback: (result: T | string) => X | string): IPromise<X>;
|
|
22
|
+
}
|
|
23
|
+
export declare function noop<T = any>(result?: T): T;
|
|
24
|
+
export declare class SimplePromise<T> extends EventDispatcher implements IPromise<T> {
|
|
25
|
+
protected _state: EPromiseStates;
|
|
26
|
+
protected _result: TResult<T>;
|
|
27
|
+
private promiseClass;
|
|
28
|
+
constructor(executor: (resolve: TResolve<T>, reject: TReject) => void);
|
|
29
|
+
get state(): EPromiseStates;
|
|
30
|
+
get result(): TResult<T>;
|
|
31
|
+
static defer<T>(): IDeferred<T>;
|
|
32
|
+
static resolve<T>(result: T): IPromise<T>;
|
|
33
|
+
static reject(reason: string): IPromise<void>;
|
|
34
|
+
static all<T>(iter: IPromise<T>[]): IPromise<T[]>;
|
|
35
|
+
static poolResults<T>(iter: IPromise<T>[], deferred: IDeferred<T[]>): void;
|
|
36
|
+
static race<T>(iter: IPromise<T>[]): IPromise<T>;
|
|
37
|
+
then<X = T>(success?: (result: T) => X, error?: (reason: string) => string): IPromise<X>;
|
|
38
|
+
catch(onRejected: (reason: string) => string): IPromise<string>;
|
|
39
|
+
finally<X = T>(finallyCallback: (result: T | string) => X | string): IPromise<X>;
|
|
40
|
+
protected _resolve(result: T): void;
|
|
41
|
+
protected _reject(reason: string): void;
|
|
42
|
+
}
|
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __extends = (this && this.__extends) || (function () {
|
|
3
|
+
var extendStatics = function (d, b) {
|
|
4
|
+
extendStatics = Object.setPrototypeOf ||
|
|
5
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
+
return extendStatics(d, b);
|
|
8
|
+
};
|
|
9
|
+
return function (d, b) {
|
|
10
|
+
if (typeof b !== "function" && b !== null)
|
|
11
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
+
extendStatics(d, b);
|
|
13
|
+
function __() { this.constructor = d; }
|
|
14
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
+
};
|
|
16
|
+
})();
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.SimplePromise = exports.noop = exports.EPromiseStates = void 0;
|
|
19
|
+
var EventDispatcher_1 = require("./EventDispatcher");
|
|
20
|
+
var EPromiseStates;
|
|
21
|
+
(function (EPromiseStates) {
|
|
22
|
+
EPromiseStates[EPromiseStates["PENDING"] = 0] = "PENDING";
|
|
23
|
+
EPromiseStates[EPromiseStates["FULFILLED"] = 1] = "FULFILLED";
|
|
24
|
+
EPromiseStates[EPromiseStates["REJECTED"] = 2] = "REJECTED";
|
|
25
|
+
})(EPromiseStates = exports.EPromiseStates || (exports.EPromiseStates = {}));
|
|
26
|
+
function noop(result) { return result; }
|
|
27
|
+
exports.noop = noop;
|
|
28
|
+
var SimplePromise = /** @class */ (function (_super) {
|
|
29
|
+
__extends(SimplePromise, _super);
|
|
30
|
+
function SimplePromise(executor) {
|
|
31
|
+
var _this = _super.call(this) || this;
|
|
32
|
+
_this._result = null;
|
|
33
|
+
_this._state = EPromiseStates.PENDING;
|
|
34
|
+
_this.promiseClass = (Object.getPrototypeOf(_this).constructor);
|
|
35
|
+
try {
|
|
36
|
+
executor(_this._resolve.bind(_this), _this._reject.bind(_this));
|
|
37
|
+
}
|
|
38
|
+
catch (e) {
|
|
39
|
+
_this._reject(e);
|
|
40
|
+
}
|
|
41
|
+
return _this;
|
|
42
|
+
}
|
|
43
|
+
Object.defineProperty(SimplePromise.prototype, "state", {
|
|
44
|
+
get: function () {
|
|
45
|
+
return this._state;
|
|
46
|
+
},
|
|
47
|
+
enumerable: false,
|
|
48
|
+
configurable: true
|
|
49
|
+
});
|
|
50
|
+
Object.defineProperty(SimplePromise.prototype, "result", {
|
|
51
|
+
get: function () {
|
|
52
|
+
return this._result;
|
|
53
|
+
},
|
|
54
|
+
enumerable: false,
|
|
55
|
+
configurable: true
|
|
56
|
+
});
|
|
57
|
+
SimplePromise.defer = function () {
|
|
58
|
+
var promise = new SimplePromise(function (res, rej) { });
|
|
59
|
+
return {
|
|
60
|
+
promise: promise,
|
|
61
|
+
resolve: promise._resolve.bind(promise),
|
|
62
|
+
reject: promise._reject.bind(promise)
|
|
63
|
+
};
|
|
64
|
+
};
|
|
65
|
+
/*
|
|
66
|
+
* Returns a Promise object that is resolved with the given value. If the value is a thenable (i.e. has a then
|
|
67
|
+
* method), the returned promise will "follow" that thenable, adopting its eventual state; otherwise the returned
|
|
68
|
+
* promise will be fulfilled with the value. Generally, if you don't know if a value is a promise or not,
|
|
69
|
+
* Promise.resolve(value) it instead and work with the return value as a promise.
|
|
70
|
+
*/
|
|
71
|
+
SimplePromise.resolve = function (result) {
|
|
72
|
+
return new SimplePromise(function (resolve) {
|
|
73
|
+
if (result instanceof SimplePromise) {
|
|
74
|
+
result.then(function (innerResult) {
|
|
75
|
+
resolve(innerResult);
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
resolve(result);
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
};
|
|
83
|
+
/*
|
|
84
|
+
* Returns a Promise object that is rejected with the given reason.
|
|
85
|
+
*/
|
|
86
|
+
SimplePromise.reject = function (reason) {
|
|
87
|
+
return new SimplePromise(function (resolve, reject) {
|
|
88
|
+
reject(reason);
|
|
89
|
+
});
|
|
90
|
+
};
|
|
91
|
+
/*
|
|
92
|
+
* Returns a promise that either fulfills when all of the promises in the iterable argument have fulfilled or
|
|
93
|
+
* rejects as soon as one of the promises in the iterable argument rejects. If the returned promise fulfills, it is
|
|
94
|
+
* fulfilled with an array of the values from the fulfilled promises in the same order as defined in the iterable.
|
|
95
|
+
* If the returned promise rejects, it is rejected with the reason from the first promise in the iterable that
|
|
96
|
+
* rejected. This method can be useful for aggregating results of multiple promises.
|
|
97
|
+
*/
|
|
98
|
+
SimplePromise.all = function (iter) {
|
|
99
|
+
var deferred = SimplePromise.defer();
|
|
100
|
+
var done = true;
|
|
101
|
+
for (var _i = 0, iter_1 = iter; _i < iter_1.length; _i++) {
|
|
102
|
+
var promise = iter_1[_i];
|
|
103
|
+
if (promise.state == EPromiseStates.PENDING) {
|
|
104
|
+
done = false;
|
|
105
|
+
promise.once('fulfilled', function (result) {
|
|
106
|
+
SimplePromise.poolResults(iter, deferred);
|
|
107
|
+
});
|
|
108
|
+
promise.once('rejected', function (reason) {
|
|
109
|
+
deferred.reject(reason);
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
else if (promise.state == EPromiseStates.REJECTED) {
|
|
113
|
+
deferred.reject(promise.result);
|
|
114
|
+
done = false;
|
|
115
|
+
break;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
if (done)
|
|
119
|
+
SimplePromise.poolResults(iter, deferred);
|
|
120
|
+
return deferred.promise;
|
|
121
|
+
};
|
|
122
|
+
SimplePromise.poolResults = function (iter, deferred) {
|
|
123
|
+
var done = true;
|
|
124
|
+
var results = [];
|
|
125
|
+
for (var _i = 0, iter_2 = iter; _i < iter_2.length; _i++) {
|
|
126
|
+
var p = iter_2[_i];
|
|
127
|
+
if (p.state === EPromiseStates.REJECTED) {
|
|
128
|
+
deferred.reject(p.result);
|
|
129
|
+
break;
|
|
130
|
+
}
|
|
131
|
+
else if (p.state === EPromiseStates.PENDING) {
|
|
132
|
+
done = false;
|
|
133
|
+
}
|
|
134
|
+
results.push(p.result);
|
|
135
|
+
}
|
|
136
|
+
if (done)
|
|
137
|
+
deferred.resolve(results);
|
|
138
|
+
};
|
|
139
|
+
/*
|
|
140
|
+
* Returns a promise that fulfills or rejects as soon as one of the promises in the iterable fulfills or rejects,
|
|
141
|
+
* with the value or reason from that promise.
|
|
142
|
+
*/
|
|
143
|
+
SimplePromise.race = function (iter) {
|
|
144
|
+
var deferred = SimplePromise.defer();
|
|
145
|
+
for (var _i = 0, iter_3 = iter; _i < iter_3.length; _i++) {
|
|
146
|
+
var promise = iter_3[_i];
|
|
147
|
+
promise.once('fulfilled', function (result) {
|
|
148
|
+
deferred.resolve(result);
|
|
149
|
+
});
|
|
150
|
+
promise.once('rejected', function (reason) {
|
|
151
|
+
deferred.reject(reason);
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
return deferred.promise;
|
|
155
|
+
};
|
|
156
|
+
/*
|
|
157
|
+
* Appends fulfillment and rejection handlers to the promise, and returns a new promise resolving to the return
|
|
158
|
+
* value of the called handler, or to its original settled value if the promise was not handled (i.e. if the
|
|
159
|
+
* relevant handler onFulfilled or onRejected is not a function).
|
|
160
|
+
*/
|
|
161
|
+
SimplePromise.prototype.then = function (success, error) {
|
|
162
|
+
var _this = this;
|
|
163
|
+
return new this.promiseClass(function (resolve, reject) {
|
|
164
|
+
if (_this.state === EPromiseStates.FULFILLED) {
|
|
165
|
+
if (success)
|
|
166
|
+
resolve(success(_this.result));
|
|
167
|
+
}
|
|
168
|
+
else if (_this.state === EPromiseStates.REJECTED) {
|
|
169
|
+
if (error)
|
|
170
|
+
reject(error(_this.result));
|
|
171
|
+
}
|
|
172
|
+
else {
|
|
173
|
+
_this.once('fulfilled', function (result) {
|
|
174
|
+
if (success)
|
|
175
|
+
resolve(success(result));
|
|
176
|
+
});
|
|
177
|
+
_this.once('rejected', function (reason) {
|
|
178
|
+
if (error)
|
|
179
|
+
reject(error(reason));
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
});
|
|
183
|
+
};
|
|
184
|
+
/*
|
|
185
|
+
* Appends a rejection handler callback to the promise, and returns a new promise resolving to the return value of
|
|
186
|
+
* the callback if it is called, or to its original fulfillment value if the promise is instead fulfilled.
|
|
187
|
+
*/
|
|
188
|
+
SimplePromise.prototype.catch = function (onRejected) {
|
|
189
|
+
return this.then(undefined, onRejected);
|
|
190
|
+
};
|
|
191
|
+
/*
|
|
192
|
+
* Appends a handler to the promise, and returns a new promise which is resolved when the original promise is
|
|
193
|
+
* resolved. The handler is called when the promise is settled, whether fulfilled or rejected.
|
|
194
|
+
*/
|
|
195
|
+
SimplePromise.prototype.finally = function (finallyCallback) {
|
|
196
|
+
var success = function (result) { return finallyCallback(result); };
|
|
197
|
+
var error = function (reason) { return finallyCallback(reason); };
|
|
198
|
+
return this.then(success, error);
|
|
199
|
+
};
|
|
200
|
+
SimplePromise.prototype._resolve = function (result) {
|
|
201
|
+
if (this.state !== EPromiseStates.PENDING)
|
|
202
|
+
return;
|
|
203
|
+
this._state = EPromiseStates.FULFILLED;
|
|
204
|
+
this._result = result;
|
|
205
|
+
this.dispatch('fulfilled', result);
|
|
206
|
+
};
|
|
207
|
+
SimplePromise.prototype._reject = function (reason) {
|
|
208
|
+
if (this.state !== EPromiseStates.PENDING)
|
|
209
|
+
return;
|
|
210
|
+
this._state = EPromiseStates.REJECTED;
|
|
211
|
+
this._result = reason;
|
|
212
|
+
this.dispatch('rejected', reason);
|
|
213
|
+
};
|
|
214
|
+
return SimplePromise;
|
|
215
|
+
}(EventDispatcher_1.EventDispatcher));
|
|
216
|
+
exports.SimplePromise = SimplePromise;
|
|
217
|
+
//# sourceMappingURL=SimplePromise.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SimplePromise.js","sourceRoot":"","sources":["../src/SimplePromise.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,qDAAkD;AAalD,IAAY,cAIX;AAJD,WAAY,cAAc;IACtB,yDAAO,CAAA;IACP,6DAAS,CAAA;IACT,2DAAQ,CAAA;AACZ,CAAC,EAJW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAIzB;AAUD,SAAgB,IAAI,CAAU,MAAU,IAAO,OAAO,MAAW,CAAC,CAAC,CAAC;AAApE,oBAAoE;AAEpE;IAAsC,iCAAe;IAKjD,uBAAY,QAAyD;QAArE,YACI,iBAAO,SAQV;QAZS,aAAO,GAAgB,IAAI,CAAC;QAKlC,KAAI,CAAC,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC;QACrC,KAAI,CAAC,YAAY,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,KAAI,CAAC,CAAC,WAAW,CAAC,CAAC;QAC9D,IAAI;YACA,QAAQ,CAAC,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAI,CAAC,EAAE,KAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC,CAAC;SAC/D;QAAC,OAAO,CAAC,EAAE;YACR,KAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;SACnB;;IACL,CAAC;IAED,sBAAW,gCAAK;aAAhB;YACI,OAAO,IAAI,CAAC,MAAM,CAAC;QACvB,CAAC;;;OAAA;IAED,sBAAW,iCAAM;aAAjB;YACI,OAAO,IAAI,CAAC,OAAO,CAAC;QACxB,CAAC;;;OAAA;IAEa,mBAAK,GAAnB;QACI,IAAM,OAAO,GAAqB,IAAI,aAAa,CAAI,UAAC,GAAG,EAAE,GAAG,IAAM,CAAC,CAAC,CAAC;QAEzE,OAAO;YACH,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;YACvC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;SACxC,CAAC;IACN,CAAC;IAED;;;;;OAKG;IACW,qBAAO,GAArB,UAAyB,MAAS;QAC9B,OAAO,IAAI,aAAa,CAAI,UAAC,OAAoB;YAC7C,IAAI,MAAM,YAAY,aAAa,EAAE;gBACjC,MAAM,CAAC,IAAI,CAAC,UAAC,WAAc;oBACvB,OAAO,CAAC,WAAW,CAAC,CAAC;gBACzB,CAAC,CAAC,CAAC;aACN;iBAAM;gBACH,OAAO,CAAC,MAAM,CAAC,CAAC;aACnB;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;OAEG;IACW,oBAAM,GAApB,UAAqB,MAAc;QAC/B,OAAO,IAAI,aAAa,CAAO,UAAC,OAAuB,EAAE,MAAe;YACpE,MAAM,CAAC,MAAM,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;;OAMG;IACW,iBAAG,GAAjB,UAAqB,IAAmB;QACpC,IAAM,QAAQ,GAAmB,aAAa,CAAC,KAAK,EAAO,CAAC;QAC5D,IAAI,IAAI,GAAY,IAAI,CAAC;QACzB,KAAsB,UAAI,EAAJ,aAAI,EAAJ,kBAAI,EAAJ,IAAI,EAAE;YAAvB,IAAM,OAAO,aAAA;YACd,IAAI,OAAO,CAAC,KAAK,IAAI,cAAc,CAAC,OAAO,EAAE;gBACzC,IAAI,GAAG,KAAK,CAAC;gBACb,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,UAAC,MAAS;oBAChC,aAAa,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;gBAC9C,CAAC,CAAC,CAAC;gBAEH,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,UAAC,MAAc;oBACpC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC5B,CAAC,CAAC,CAAC;aACN;iBAAM,IAAG,OAAO,CAAC,KAAK,IAAI,cAAc,CAAC,QAAQ,EAAE;gBAChD,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,MAAgB,CAAC,CAAC;gBAC1C,IAAI,GAAG,KAAK,CAAC;gBACb,MAAM;aACT;SACJ;QAED,IAAI,IAAI;YACJ,aAAa,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAE9C,OAAO,QAAQ,CAAC,OAAO,CAAC;IAC5B,CAAC;IAEa,yBAAW,GAAzB,UAA6B,IAAmB,EAAE,QAAwB;QACtE,IAAI,IAAI,GAAY,IAAI,CAAC;QACzB,IAAM,OAAO,GAAQ,EAAE,CAAC;QACxB,KAAgB,UAAI,EAAJ,aAAI,EAAJ,kBAAI,EAAJ,IAAI,EAAE;YAAjB,IAAM,CAAC,aAAA;YACR,IAAI,CAAC,CAAC,KAAK,KAAK,cAAc,CAAC,QAAQ,EAAE;gBACrC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,MAAgB,CAAC,CAAC;gBACpC,MAAM;aACT;iBAAM,IAAI,CAAC,CAAC,KAAK,KAAK,cAAc,CAAC,OAAO,EAAE;gBAC3C,IAAI,GAAG,KAAK,CAAC;aAChB;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,MAAW,CAAC,CAAC;SAC/B;QACD,IAAI,IAAI;YACJ,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAED;;;OAGG;IACW,kBAAI,GAAlB,UAAsB,IAAmB;QACrC,IAAM,QAAQ,GAAiB,aAAa,CAAC,KAAK,EAAK,CAAC;QAExD,KAAsB,UAAI,EAAJ,aAAI,EAAJ,kBAAI,EAAJ,IAAI,EAAE;YAAvB,IAAM,OAAO,aAAA;YACd,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,UAAC,MAAS;gBAChC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC7B,CAAC,CAAC,CAAC;YAEH,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,UAAC,MAAc;gBACpC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC5B,CAAC,CAAC,CAAC;SACN;QAED,OAAO,QAAQ,CAAC,OAAO,CAAC;IAC5B,CAAC;IAED;;;;OAIG;IACI,4BAAI,GAAX,UAAmB,OAA0B,EAAE,KAAkC;QAAjF,iBAoBC;QAnBG,OAAO,IAAI,IAAI,CAAC,YAAY,CAAI,UAAC,OAAoB,EAAE,MAAe;YAClE,IAAI,KAAI,CAAC,KAAK,KAAK,cAAc,CAAC,SAAS,EAAE;gBACzC,IAAI,OAAO;oBACP,OAAO,CAAC,OAAO,CAAC,KAAI,CAAC,MAAW,CAAC,CAAC,CAAC;aAC1C;iBAAM,IAAI,KAAI,CAAC,KAAK,KAAK,cAAc,CAAC,QAAQ,EAAE;gBAC/C,IAAI,KAAK;oBACL,MAAM,CAAC,KAAK,CAAC,KAAI,CAAC,MAAgB,CAAC,CAAC,CAAC;aAC5C;iBAAM;gBACH,KAAI,CAAC,IAAI,CAAC,WAAW,EAAE,UAAC,MAAS;oBAC7B,IAAI,OAAO;wBACP,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;gBACjC,CAAC,CAAC,CAAC;gBAEH,KAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAC,MAAc;oBACjC,IAAI,KAAK;wBACL,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC9B,CAAC,CAAC,CAAC;aACN;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;OAGG;IACI,6BAAK,GAAZ,UAAa,UAAsC;QAC/C,OAAO,IAAI,CAAC,IAAI,CAAS,SAAS,EAAE,UAAU,CAAC,CAAC;IACpD,CAAC;IAED;;;OAGG;IACI,+BAAO,GAAd,UAAsB,eAAmD;QACrE,IAAM,OAAO,GAAgB,UAAC,MAAS,IAAQ,OAAA,eAAe,CAAC,MAAM,CAAM,EAA5B,CAA4B,CAAC;QAC5E,IAAM,KAAK,GAA0B,UAAC,MAAc,IAAa,OAAA,eAAe,CAAC,MAAM,CAAW,EAAjC,CAAiC,CAAC;QAEnG,OAAO,IAAI,CAAC,IAAI,CAAI,OAAO,EAAE,KAAK,CAAC,CAAC;IACxC,CAAC;IAES,gCAAQ,GAAlB,UAAmB,MAAS;QACxB,IAAI,IAAI,CAAC,KAAK,KAAK,cAAc,CAAC,OAAO;YAAE,OAAO;QAClD,IAAI,CAAC,MAAM,GAAG,cAAc,CAAC,SAAS,CAAC;QACvC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACvC,CAAC;IAES,+BAAO,GAAjB,UAAkB,MAAc;QAC5B,IAAI,IAAI,CAAC,KAAK,KAAK,cAAc,CAAC,OAAO;YAAE,OAAO;QAClD,IAAI,CAAC,MAAM,GAAG,cAAc,CAAC,QAAQ,CAAC;QACtC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IACtC,CAAC;IACL,oBAAC;AAAD,CAAC,AA7LD,CAAsC,iCAAe,GA6LpD;AA7LY,sCAAa"}
|
package/dist/Tag.js
CHANGED
|
@@ -59,6 +59,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
59
59
|
exports.Tag = exports.TagState = void 0;
|
|
60
60
|
var Scope_1 = require("./Scope");
|
|
61
61
|
var Attribute_1 = require("./Attribute");
|
|
62
|
+
var Controller_1 = require("./Controller");
|
|
62
63
|
var VisionHelper_1 = require("./helpers/VisionHelper");
|
|
63
64
|
var StandardAttribute_1 = require("./attributes/StandardAttribute");
|
|
64
65
|
var On_1 = require("./attributes/On");
|
|
@@ -213,7 +214,7 @@ var Tag = /** @class */ (function (_super) {
|
|
|
213
214
|
var attr = _a[_i];
|
|
214
215
|
attr.mutate(mutation);
|
|
215
216
|
}
|
|
216
|
-
this.
|
|
217
|
+
this.dispatch('mutate', mutation);
|
|
217
218
|
};
|
|
218
219
|
Tag.prototype.get = function (attr) {
|
|
219
220
|
this.element.getAttribute(attr);
|
|
@@ -354,10 +355,15 @@ var Tag = /** @class */ (function (_super) {
|
|
|
354
355
|
if (VisionHelper_1.VisionHelper.isConstructor(obj)) {
|
|
355
356
|
obj = new obj();
|
|
356
357
|
}
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
358
|
+
if (obj instanceof Controller_1.Controller) {
|
|
359
|
+
obj.init(this.scope, this, this.element);
|
|
360
|
+
}
|
|
361
|
+
else {
|
|
362
|
+
this.scope.wrap(obj, triggerUpdates, updateFromWrapped);
|
|
363
|
+
obj['$scope'] = this.scope;
|
|
364
|
+
obj['$tag'] = this;
|
|
365
|
+
obj['$el'] = this.element;
|
|
366
|
+
}
|
|
361
367
|
return obj;
|
|
362
368
|
};
|
|
363
369
|
Tag.prototype.unwrap = function () {
|
|
@@ -461,7 +467,7 @@ var Tag = /** @class */ (function (_super) {
|
|
|
461
467
|
case 3:
|
|
462
468
|
_c.sent();
|
|
463
469
|
this.deferredAttributes.push(attrObj);
|
|
464
|
-
attrObj.
|
|
470
|
+
attrObj.on('state', this.onAttributeStateChange.bind(this));
|
|
465
471
|
_c.label = 4;
|
|
466
472
|
case 4:
|
|
467
473
|
_i++;
|