j-templates 5.0.37 → 5.0.39
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/DOM/domNodeConfig.js +2 -1
- package/DOM/elements.js +1 -0
- package/DOM/index.js +17 -6
- package/DOM/svgElements.js +1 -0
- package/DOM/utils.js +1 -0
- package/DOM/window.js +1 -0
- package/Node/boundNode.js +1 -0
- package/Node/boundNode.types.d.ts +2 -2
- package/Node/component.d.ts +1 -1
- package/Node/component.js +13 -7
- package/Node/componentNode.js +8 -7
- package/Node/componentNode.types.d.ts +2 -2
- package/Node/elementNode.js +7 -6
- package/Node/elementNode.types.d.ts +2 -2
- package/Node/nodeConfig.js +1 -0
- package/Node/nodeRef.js +1 -0
- package/Node/nodeRef.types.d.ts +1 -1
- package/Store/Diff/diffAsync.js +3 -1
- package/Store/Diff/diffSync.js +3 -1
- package/Store/Diff/diffTree.d.ts +1 -1
- package/Store/Diff/diffTree.js +3 -1
- package/Store/Diff/diffWorker.js +1 -0
- package/Store/Diff/workerQueue.js +3 -0
- package/Store/Store/store.js +9 -9
- package/Store/Store/storeAsync.d.ts +1 -1
- package/Store/Store/storeAsync.js +7 -5
- package/Store/Store/storeAsyncWriter.d.ts +4 -5
- package/Store/Store/storeAsyncWriter.js +13 -13
- package/Store/Store/storeSync.js +10 -10
- package/Store/Store/storeSyncWriter.d.ts +4 -5
- package/Store/Store/storeSyncWriter.js +12 -14
- package/Store/Store/storeWriter.d.ts +4 -5
- package/Store/Store/storeWriter.js +13 -14
- package/Store/Tree/observableScope.js +8 -5
- package/Store/Tree/observableTree.d.ts +21 -12
- package/Store/Tree/observableTree.js +194 -67
- package/Store/index.js +5 -4
- package/Utils/animation.js +22 -12
- package/Utils/asyncQueue.js +3 -4
- package/Utils/decorators.d.ts +1 -1
- package/Utils/decorators.js +1 -0
- package/Utils/emitter.d.ts +2 -2
- package/Utils/emitter.js +1 -0
- package/Utils/index.js +16 -5
- package/Utils/injector.js +3 -0
- package/Utils/list.js +1 -0
- package/Utils/router.js +13 -9
- package/Utils/thread.d.ts +1 -1
- package/Utils/thread.js +1 -0
- package/index.js +2 -1
- package/jTemplates.js +521 -735
- package/jTemplates.js.map +1 -1
- package/package.json +1 -1
- package/web.export.js +21 -9
- package/Store/Tree/observableNode.d.ts +0 -32
- package/Store/Tree/observableNode.js +0 -148
- package/Store/Tree/observableProxy.d.ts +0 -17
- package/Store/Tree/observableProxy.js +0 -119
package/jTemplates.js
CHANGED
|
@@ -1,101 +1,16 @@
|
|
|
1
|
-
/******/ (
|
|
2
|
-
/******/
|
|
3
|
-
/******/ var
|
|
4
|
-
/******/
|
|
5
|
-
/******/ // The require function
|
|
6
|
-
/******/ function __webpack_require__(moduleId) {
|
|
7
|
-
/******/
|
|
8
|
-
/******/ // Check if module is in cache
|
|
9
|
-
/******/ if(installedModules[moduleId]) {
|
|
10
|
-
/******/ return installedModules[moduleId].exports;
|
|
11
|
-
/******/ }
|
|
12
|
-
/******/ // Create a new module (and put it into the cache)
|
|
13
|
-
/******/ var module = installedModules[moduleId] = {
|
|
14
|
-
/******/ i: moduleId,
|
|
15
|
-
/******/ l: false,
|
|
16
|
-
/******/ exports: {}
|
|
17
|
-
/******/ };
|
|
18
|
-
/******/
|
|
19
|
-
/******/ // Execute the module function
|
|
20
|
-
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
|
|
21
|
-
/******/
|
|
22
|
-
/******/ // Flag the module as loaded
|
|
23
|
-
/******/ module.l = true;
|
|
24
|
-
/******/
|
|
25
|
-
/******/ // Return the exports of the module
|
|
26
|
-
/******/ return module.exports;
|
|
27
|
-
/******/ }
|
|
28
|
-
/******/
|
|
29
|
-
/******/
|
|
30
|
-
/******/ // expose the modules object (__webpack_modules__)
|
|
31
|
-
/******/ __webpack_require__.m = modules;
|
|
32
|
-
/******/
|
|
33
|
-
/******/ // expose the module cache
|
|
34
|
-
/******/ __webpack_require__.c = installedModules;
|
|
35
|
-
/******/
|
|
36
|
-
/******/ // define getter function for harmony exports
|
|
37
|
-
/******/ __webpack_require__.d = function(exports, name, getter) {
|
|
38
|
-
/******/ if(!__webpack_require__.o(exports, name)) {
|
|
39
|
-
/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
|
|
40
|
-
/******/ }
|
|
41
|
-
/******/ };
|
|
42
|
-
/******/
|
|
43
|
-
/******/ // define __esModule on exports
|
|
44
|
-
/******/ __webpack_require__.r = function(exports) {
|
|
45
|
-
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
|
|
46
|
-
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
47
|
-
/******/ }
|
|
48
|
-
/******/ Object.defineProperty(exports, '__esModule', { value: true });
|
|
49
|
-
/******/ };
|
|
50
|
-
/******/
|
|
51
|
-
/******/ // create a fake namespace object
|
|
52
|
-
/******/ // mode & 1: value is a module id, require it
|
|
53
|
-
/******/ // mode & 2: merge all properties of value into the ns
|
|
54
|
-
/******/ // mode & 4: return value when already ns object
|
|
55
|
-
/******/ // mode & 8|1: behave like require
|
|
56
|
-
/******/ __webpack_require__.t = function(value, mode) {
|
|
57
|
-
/******/ if(mode & 1) value = __webpack_require__(value);
|
|
58
|
-
/******/ if(mode & 8) return value;
|
|
59
|
-
/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
|
|
60
|
-
/******/ var ns = Object.create(null);
|
|
61
|
-
/******/ __webpack_require__.r(ns);
|
|
62
|
-
/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
|
|
63
|
-
/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
|
|
64
|
-
/******/ return ns;
|
|
65
|
-
/******/ };
|
|
66
|
-
/******/
|
|
67
|
-
/******/ // getDefaultExport function for compatibility with non-harmony modules
|
|
68
|
-
/******/ __webpack_require__.n = function(module) {
|
|
69
|
-
/******/ var getter = module && module.__esModule ?
|
|
70
|
-
/******/ function getDefault() { return module['default']; } :
|
|
71
|
-
/******/ function getModuleExports() { return module; };
|
|
72
|
-
/******/ __webpack_require__.d(getter, 'a', getter);
|
|
73
|
-
/******/ return getter;
|
|
74
|
-
/******/ };
|
|
75
|
-
/******/
|
|
76
|
-
/******/ // Object.prototype.hasOwnProperty.call
|
|
77
|
-
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
|
|
78
|
-
/******/
|
|
79
|
-
/******/ // __webpack_public_path__
|
|
80
|
-
/******/ __webpack_require__.p = "";
|
|
81
|
-
/******/
|
|
82
|
-
/******/
|
|
83
|
-
/******/ // Load entry module and return exports
|
|
84
|
-
/******/ return __webpack_require__(__webpack_require__.s = "./src/web.ts");
|
|
85
|
-
/******/ })
|
|
86
|
-
/************************************************************************/
|
|
87
|
-
/******/ ({
|
|
1
|
+
/******/ (() => { // webpackBootstrap
|
|
2
|
+
/******/ "use strict";
|
|
3
|
+
/******/ var __webpack_modules__ = ({
|
|
88
4
|
|
|
89
5
|
/***/ "./src/DOM/domNodeConfig.ts":
|
|
90
6
|
/*!**********************************!*\
|
|
91
7
|
!*** ./src/DOM/domNodeConfig.ts ***!
|
|
92
8
|
\**********************************/
|
|
93
|
-
|
|
94
|
-
/***/ (function(module, exports, __webpack_require__) {
|
|
9
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
95
10
|
|
|
96
|
-
"use strict";
|
|
97
11
|
|
|
98
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
13
|
+
exports.DOMNodeConfig = void 0;
|
|
99
14
|
const window_1 = __webpack_require__(/*! ./window */ "./src/DOM/window.ts");
|
|
100
15
|
const list_1 = __webpack_require__(/*! ../Utils/list */ "./src/Utils/list.ts");
|
|
101
16
|
const utils_1 = __webpack_require__(/*! ./utils */ "./src/DOM/utils.ts");
|
|
@@ -106,7 +21,7 @@ function processUpdates() {
|
|
|
106
21
|
list_1.List.Add(pendingUpdates, null);
|
|
107
22
|
var callback;
|
|
108
23
|
while ((callback = list_1.List.Pop(pendingUpdates)))
|
|
109
|
-
thread_1.Synch(callback);
|
|
24
|
+
(0, thread_1.Synch)(callback);
|
|
110
25
|
if (pendingUpdates.size === 0)
|
|
111
26
|
updateScheduled = false;
|
|
112
27
|
else
|
|
@@ -180,12 +95,11 @@ exports.DOMNodeConfig = {
|
|
|
180
95
|
/*!*****************************!*\
|
|
181
96
|
!*** ./src/DOM/elements.ts ***!
|
|
182
97
|
\*****************************/
|
|
183
|
-
|
|
184
|
-
/***/ (function(module, exports, __webpack_require__) {
|
|
98
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
185
99
|
|
|
186
|
-
"use strict";
|
|
187
100
|
|
|
188
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
101
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
102
|
+
exports.td = exports.tr = exports.th = exports.table = exports.button = exports.style = exports.p = exports.h3 = exports.h2 = exports.h1 = exports.option = exports.select = exports.input = exports.source = exports.video = exports.img = exports.span = exports.b = exports.br = exports.li = exports.ul = exports.a = exports.div = void 0;
|
|
189
103
|
const elementNode_1 = __webpack_require__(/*! ../Node/elementNode */ "./src/Node/elementNode.ts");
|
|
190
104
|
function div(nodeDef, children) {
|
|
191
105
|
return elementNode_1.ElementNode.Create("div", null, nodeDef, children);
|
|
@@ -287,18 +201,27 @@ exports.td = td;
|
|
|
287
201
|
/*!**************************!*\
|
|
288
202
|
!*** ./src/DOM/index.ts ***!
|
|
289
203
|
\**************************/
|
|
290
|
-
|
|
291
|
-
/***/ (function(module, exports, __webpack_require__) {
|
|
204
|
+
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
292
205
|
|
|
293
|
-
"use strict";
|
|
294
206
|
|
|
295
|
-
function
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
207
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
208
|
+
if (k2 === undefined) k2 = k;
|
|
209
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
210
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
211
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
212
|
+
}
|
|
213
|
+
Object.defineProperty(o, k2, desc);
|
|
214
|
+
}) : (function(o, m, k, k2) {
|
|
215
|
+
if (k2 === undefined) k2 = k;
|
|
216
|
+
o[k2] = m[k];
|
|
217
|
+
}));
|
|
218
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
219
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
220
|
+
};
|
|
221
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
222
|
+
__exportStar(__webpack_require__(/*! ./elements */ "./src/DOM/elements.ts"), exports);
|
|
223
|
+
__exportStar(__webpack_require__(/*! ./svgElements */ "./src/DOM/svgElements.ts"), exports);
|
|
224
|
+
__exportStar(__webpack_require__(/*! ./utils */ "./src/DOM/utils.ts"), exports);
|
|
302
225
|
|
|
303
226
|
|
|
304
227
|
/***/ }),
|
|
@@ -307,12 +230,11 @@ __export(__webpack_require__(/*! ./utils */ "./src/DOM/utils.ts"));
|
|
|
307
230
|
/*!********************************!*\
|
|
308
231
|
!*** ./src/DOM/svgElements.ts ***!
|
|
309
232
|
\********************************/
|
|
310
|
-
|
|
311
|
-
/***/ (function(module, exports, __webpack_require__) {
|
|
233
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
312
234
|
|
|
313
|
-
"use strict";
|
|
314
235
|
|
|
315
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
236
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
237
|
+
exports.circle = exports.g = exports.svg = void 0;
|
|
316
238
|
const elementNode_1 = __webpack_require__(/*! ../Node/elementNode */ "./src/Node/elementNode.ts");
|
|
317
239
|
const svgNs = "http://www.w3.org/2000/svg";
|
|
318
240
|
function svg(nodeDef, children) {
|
|
@@ -335,12 +257,11 @@ exports.circle = circle;
|
|
|
335
257
|
/*!**************************!*\
|
|
336
258
|
!*** ./src/DOM/utils.ts ***!
|
|
337
259
|
\**************************/
|
|
338
|
-
|
|
339
|
-
/***/ (function(module, exports, __webpack_require__) {
|
|
260
|
+
/***/ ((__unused_webpack_module, exports) => {
|
|
340
261
|
|
|
341
|
-
"use strict";
|
|
342
262
|
|
|
343
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
263
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
264
|
+
exports.SetProperties = void 0;
|
|
344
265
|
function SetValue(target, value) {
|
|
345
266
|
switch (target.nodeName) {
|
|
346
267
|
case "INPUT":
|
|
@@ -392,13 +313,12 @@ exports.SetProperties = SetProperties;
|
|
|
392
313
|
/*!***************************!*\
|
|
393
314
|
!*** ./src/DOM/window.ts ***!
|
|
394
315
|
\***************************/
|
|
395
|
-
|
|
396
|
-
/***/ (function(module, exports, __webpack_require__) {
|
|
316
|
+
/***/ ((__unused_webpack_module, exports) => {
|
|
397
317
|
|
|
398
|
-
"use strict";
|
|
399
318
|
|
|
400
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
401
|
-
exports.wndw =
|
|
319
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
320
|
+
exports.wndw = void 0;
|
|
321
|
+
exports.wndw = typeof window !== "undefined" ? window : (new (Object(function webpackMissingModule() { var e = new Error("Cannot find module 'jsdom'"); e.code = 'MODULE_NOT_FOUND'; throw e; }())("")).window);
|
|
402
322
|
|
|
403
323
|
|
|
404
324
|
/***/ }),
|
|
@@ -407,12 +327,11 @@ exports.wndw = typeof window !== "undefined" ? window : (new (__webpack_require_
|
|
|
407
327
|
/*!*******************************!*\
|
|
408
328
|
!*** ./src/Node/boundNode.ts ***!
|
|
409
329
|
\*******************************/
|
|
410
|
-
|
|
411
|
-
/***/ (function(module, exports, __webpack_require__) {
|
|
330
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
412
331
|
|
|
413
|
-
"use strict";
|
|
414
332
|
|
|
415
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
333
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
334
|
+
exports.BoundNode = void 0;
|
|
416
335
|
const nodeConfig_1 = __webpack_require__(/*! ./nodeConfig */ "./src/Node/nodeConfig.ts");
|
|
417
336
|
const observableScope_1 = __webpack_require__(/*! ../Store/Tree/observableScope */ "./src/Store/Tree/observableScope.ts");
|
|
418
337
|
var BoundNode;
|
|
@@ -506,24 +425,21 @@ function SetEvents(node, events) {
|
|
|
506
425
|
/*!*******************************!*\
|
|
507
426
|
!*** ./src/Node/component.ts ***!
|
|
508
427
|
\*******************************/
|
|
509
|
-
|
|
510
|
-
/***/ (function(module, exports, __webpack_require__) {
|
|
428
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
511
429
|
|
|
512
|
-
"use strict";
|
|
513
430
|
|
|
514
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
431
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
432
|
+
exports.Component = void 0;
|
|
515
433
|
const nodeRef_1 = __webpack_require__(/*! ./nodeRef */ "./src/Node/nodeRef.ts");
|
|
516
434
|
const componentNode_1 = __webpack_require__(/*! ./componentNode */ "./src/Node/componentNode.ts");
|
|
517
435
|
const decorators_1 = __webpack_require__(/*! ../Utils/decorators */ "./src/Utils/decorators.ts");
|
|
518
436
|
const observableScope_1 = __webpack_require__(/*! ../Store/Tree/observableScope */ "./src/Store/Tree/observableScope.ts");
|
|
519
437
|
class Component {
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
this.decoratorMap = new Map();
|
|
526
|
-
}
|
|
438
|
+
nodeRef;
|
|
439
|
+
componentEvents;
|
|
440
|
+
scope;
|
|
441
|
+
templates;
|
|
442
|
+
decoratorMap;
|
|
527
443
|
get Injector() {
|
|
528
444
|
return this.nodeRef.injector;
|
|
529
445
|
}
|
|
@@ -545,6 +461,13 @@ class Component {
|
|
|
545
461
|
get Templates() {
|
|
546
462
|
return this.templates;
|
|
547
463
|
}
|
|
464
|
+
constructor(data, templates, nodeRef, componentEvents) {
|
|
465
|
+
this.nodeRef = nodeRef;
|
|
466
|
+
this.componentEvents = componentEvents;
|
|
467
|
+
this.scope = new observableScope_1.ObservableScope(data);
|
|
468
|
+
this.templates = templates || {};
|
|
469
|
+
this.decoratorMap = new Map();
|
|
470
|
+
}
|
|
548
471
|
Template() {
|
|
549
472
|
return [];
|
|
550
473
|
}
|
|
@@ -592,12 +515,11 @@ exports.Component = Component;
|
|
|
592
515
|
/*!***********************************!*\
|
|
593
516
|
!*** ./src/Node/componentNode.ts ***!
|
|
594
517
|
\***********************************/
|
|
595
|
-
|
|
596
|
-
/***/ (function(module, exports, __webpack_require__) {
|
|
518
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
597
519
|
|
|
598
|
-
"use strict";
|
|
599
520
|
|
|
600
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
521
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
522
|
+
exports.ComponentNode = void 0;
|
|
601
523
|
const boundNode_1 = __webpack_require__(/*! ./boundNode */ "./src/Node/boundNode.ts");
|
|
602
524
|
const nodeRef_1 = __webpack_require__(/*! ./nodeRef */ "./src/Node/nodeRef.ts");
|
|
603
525
|
const nodeConfig_1 = __webpack_require__(/*! ./nodeConfig */ "./src/Node/nodeConfig.ts");
|
|
@@ -647,15 +569,15 @@ function SetChildren(node) {
|
|
|
647
569
|
}
|
|
648
570
|
function AddPreReqTemplate(node) {
|
|
649
571
|
return new Promise(resolve => {
|
|
650
|
-
thread_1.Thread(function () {
|
|
572
|
+
(0, thread_1.Thread)(function () {
|
|
651
573
|
var preNodes;
|
|
652
574
|
injector_1.Injector.Scope(node.injector, () => preNodes = decorators_1.PreReqTemplate.Get(node.component));
|
|
653
|
-
thread_1.Schedule(function () {
|
|
575
|
+
(0, thread_1.Schedule)(function () {
|
|
654
576
|
if (node.destroyed)
|
|
655
577
|
return;
|
|
656
578
|
nodeRef_1.NodeRef.InitAll(preNodes);
|
|
657
579
|
});
|
|
658
|
-
thread_1.Thread(function () {
|
|
580
|
+
(0, thread_1.Thread)(function () {
|
|
659
581
|
if (node.destroyed)
|
|
660
582
|
return;
|
|
661
583
|
for (var x = 0; x < preNodes.length; x++)
|
|
@@ -678,7 +600,7 @@ function AddPreReqTemplate(node) {
|
|
|
678
600
|
});
|
|
679
601
|
}
|
|
680
602
|
function AddTemplate(node, init) {
|
|
681
|
-
thread_1.Thread(function () {
|
|
603
|
+
(0, thread_1.Thread)(function () {
|
|
682
604
|
if (node.destroyed)
|
|
683
605
|
return;
|
|
684
606
|
var nodes;
|
|
@@ -687,10 +609,10 @@ function AddTemplate(node, init) {
|
|
|
687
609
|
});
|
|
688
610
|
if (!Array.isArray(nodes))
|
|
689
611
|
nodes = [nodes];
|
|
690
|
-
thread_1.Schedule(function () {
|
|
612
|
+
(0, thread_1.Schedule)(function () {
|
|
691
613
|
nodeRef_1.NodeRef.InitAll(nodes);
|
|
692
614
|
});
|
|
693
|
-
thread_1.Thread(function () {
|
|
615
|
+
(0, thread_1.Thread)(function () {
|
|
694
616
|
if (node.destroyed)
|
|
695
617
|
return;
|
|
696
618
|
if (init)
|
|
@@ -705,7 +627,7 @@ function AddTemplate(node, init) {
|
|
|
705
627
|
});
|
|
706
628
|
});
|
|
707
629
|
if (node.component.Bound !== component_1.Component.prototype.Bound)
|
|
708
|
-
thread_1.After(function () {
|
|
630
|
+
(0, thread_1.After)(function () {
|
|
709
631
|
nodeConfig_1.NodeConfig.scheduleUpdate(() => setTimeout(() => node.component.Bound(), 0));
|
|
710
632
|
});
|
|
711
633
|
});
|
|
@@ -718,12 +640,11 @@ function AddTemplate(node, init) {
|
|
|
718
640
|
/*!*********************************!*\
|
|
719
641
|
!*** ./src/Node/elementNode.ts ***!
|
|
720
642
|
\*********************************/
|
|
721
|
-
|
|
722
|
-
/***/ (function(module, exports, __webpack_require__) {
|
|
643
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
723
644
|
|
|
724
|
-
"use strict";
|
|
725
645
|
|
|
726
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
646
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
647
|
+
exports.ElementNode = void 0;
|
|
727
648
|
const boundNode_1 = __webpack_require__(/*! ./boundNode */ "./src/Node/boundNode.ts");
|
|
728
649
|
const nodeConfig_1 = __webpack_require__(/*! ./nodeConfig */ "./src/Node/nodeConfig.ts");
|
|
729
650
|
const injector_1 = __webpack_require__(/*! ../Utils/injector */ "./src/Utils/injector.ts");
|
|
@@ -783,18 +704,18 @@ function ScheduleSetData(node, scope) {
|
|
|
783
704
|
});
|
|
784
705
|
}
|
|
785
706
|
function SetDefaultData(node) {
|
|
786
|
-
thread_1.Synch(function () {
|
|
707
|
+
(0, thread_1.Synch)(function () {
|
|
787
708
|
var nodes;
|
|
788
709
|
injector_1.Injector.Scope(node.injector, function () {
|
|
789
710
|
nodes = CreateNodeArray(node.childrenFunc, true);
|
|
790
711
|
});
|
|
791
712
|
if (nodes.length > 0) {
|
|
792
|
-
thread_1.Schedule(function () {
|
|
713
|
+
(0, thread_1.Schedule)(function () {
|
|
793
714
|
if (node.destroyed)
|
|
794
715
|
return;
|
|
795
716
|
nodeRef_1.NodeRef.InitAll(nodes);
|
|
796
717
|
});
|
|
797
|
-
thread_1.Thread(function () {
|
|
718
|
+
(0, thread_1.Thread)(function () {
|
|
798
719
|
if (node.destroyed)
|
|
799
720
|
return;
|
|
800
721
|
DetachAndAddNodes(node, [], [nodes]);
|
|
@@ -803,7 +724,7 @@ function SetDefaultData(node) {
|
|
|
803
724
|
});
|
|
804
725
|
}
|
|
805
726
|
function SetData(node, value, init = false) {
|
|
806
|
-
thread_1.Synch(function () {
|
|
727
|
+
(0, thread_1.Synch)(function () {
|
|
807
728
|
var newNodesMap = new Map();
|
|
808
729
|
var values = value || valueDefault;
|
|
809
730
|
if (!Array.isArray(values))
|
|
@@ -823,7 +744,7 @@ function SetData(node, value, init = false) {
|
|
|
823
744
|
injector_1.Injector.Scope(node.injector, function () {
|
|
824
745
|
nodes = CreateNodeArray(node.childrenFunc, value);
|
|
825
746
|
});
|
|
826
|
-
thread_1.Schedule(function () {
|
|
747
|
+
(0, thread_1.Schedule)(function () {
|
|
827
748
|
if (node.destroyed || newNodesMap.size === 0)
|
|
828
749
|
return;
|
|
829
750
|
nodeRef_1.NodeRef.InitAll(nodes);
|
|
@@ -841,7 +762,7 @@ function SetData(node, value, init = false) {
|
|
|
841
762
|
node.nodesMap.clear();
|
|
842
763
|
}
|
|
843
764
|
node.nodesMap = newNodesMap;
|
|
844
|
-
thread_1.Thread(function () {
|
|
765
|
+
(0, thread_1.Thread)(function () {
|
|
845
766
|
if (node.destroyed)
|
|
846
767
|
return;
|
|
847
768
|
if (init)
|
|
@@ -896,12 +817,11 @@ function DestroyNodeArrayList(nodeArrayList) {
|
|
|
896
817
|
/*!********************************!*\
|
|
897
818
|
!*** ./src/Node/nodeConfig.ts ***!
|
|
898
819
|
\********************************/
|
|
899
|
-
|
|
900
|
-
/***/ (function(module, exports, __webpack_require__) {
|
|
820
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
901
821
|
|
|
902
|
-
"use strict";
|
|
903
822
|
|
|
904
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
823
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
824
|
+
exports.NodeConfig = void 0;
|
|
905
825
|
const domNodeConfig_1 = __webpack_require__(/*! ../DOM/domNodeConfig */ "./src/DOM/domNodeConfig.ts");
|
|
906
826
|
exports.NodeConfig = domNodeConfig_1.DOMNodeConfig;
|
|
907
827
|
|
|
@@ -912,12 +832,11 @@ exports.NodeConfig = domNodeConfig_1.DOMNodeConfig;
|
|
|
912
832
|
/*!*****************************!*\
|
|
913
833
|
!*** ./src/Node/nodeRef.ts ***!
|
|
914
834
|
\*****************************/
|
|
915
|
-
|
|
916
|
-
/***/ (function(module, exports, __webpack_require__) {
|
|
835
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
917
836
|
|
|
918
|
-
"use strict";
|
|
919
837
|
|
|
920
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
838
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
839
|
+
exports.NodeRef = exports.NodeRefType = void 0;
|
|
921
840
|
const nodeConfig_1 = __webpack_require__(/*! ./nodeConfig */ "./src/Node/nodeConfig.ts");
|
|
922
841
|
const injector_1 = __webpack_require__(/*! ../Utils/injector */ "./src/Utils/injector.ts");
|
|
923
842
|
const boundNode_1 = __webpack_require__(/*! ./boundNode */ "./src/Node/boundNode.ts");
|
|
@@ -1079,17 +998,17 @@ var NodeRef;
|
|
|
1079
998
|
/*!*************************************!*\
|
|
1080
999
|
!*** ./src/Store/Diff/diffAsync.ts ***!
|
|
1081
1000
|
\*************************************/
|
|
1082
|
-
|
|
1083
|
-
/***/ (function(module, exports, __webpack_require__) {
|
|
1001
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
1084
1002
|
|
|
1085
|
-
"use strict";
|
|
1086
1003
|
|
|
1087
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1004
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
1005
|
+
exports.DiffAsync = void 0;
|
|
1088
1006
|
const diffTree_1 = __webpack_require__(/*! ./diffTree */ "./src/Store/Diff/diffTree.ts");
|
|
1089
1007
|
const workerQueue_1 = __webpack_require__(/*! ./workerQueue */ "./src/Store/Diff/workerQueue.ts");
|
|
1090
1008
|
const diffWorker_1 = __webpack_require__(/*! ./diffWorker */ "./src/Store/Diff/diffWorker.ts");
|
|
1091
|
-
const diffCnstr = diffTree_1.DiffTreeScope();
|
|
1009
|
+
const diffCnstr = (0, diffTree_1.DiffTreeScope)();
|
|
1092
1010
|
class DiffAsync {
|
|
1011
|
+
workerQueue;
|
|
1093
1012
|
constructor(keyFunc) {
|
|
1094
1013
|
this.workerQueue = new workerQueue_1.WorkerQueue(diffWorker_1.DiffWorker.Create());
|
|
1095
1014
|
this.workerQueue.Push({ method: "create", arguments: [keyFunc.toString()] });
|
|
@@ -1125,15 +1044,15 @@ exports.DiffAsync = DiffAsync;
|
|
|
1125
1044
|
/*!************************************!*\
|
|
1126
1045
|
!*** ./src/Store/Diff/diffSync.ts ***!
|
|
1127
1046
|
\************************************/
|
|
1128
|
-
|
|
1129
|
-
/***/ (function(module, exports, __webpack_require__) {
|
|
1047
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
1130
1048
|
|
|
1131
|
-
"use strict";
|
|
1132
1049
|
|
|
1133
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1050
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
1051
|
+
exports.DiffSync = void 0;
|
|
1134
1052
|
const diffTree_1 = __webpack_require__(/*! ./diffTree */ "./src/Store/Diff/diffTree.ts");
|
|
1135
|
-
const diffCnstr = diffTree_1.DiffTreeScope();
|
|
1053
|
+
const diffCnstr = (0, diffTree_1.DiffTreeScope)();
|
|
1136
1054
|
class DiffSync {
|
|
1055
|
+
diffTree;
|
|
1137
1056
|
constructor(keyFunc) {
|
|
1138
1057
|
this.diffTree = new diffCnstr(keyFunc);
|
|
1139
1058
|
}
|
|
@@ -1162,12 +1081,11 @@ exports.DiffSync = DiffSync;
|
|
|
1162
1081
|
/*!************************************!*\
|
|
1163
1082
|
!*** ./src/Store/Diff/diffTree.ts ***!
|
|
1164
1083
|
\************************************/
|
|
1165
|
-
|
|
1166
|
-
/***/ (function(module, exports, __webpack_require__) {
|
|
1084
|
+
/***/ ((__unused_webpack_module, exports) => {
|
|
1167
1085
|
|
|
1168
|
-
"use strict";
|
|
1169
1086
|
|
|
1170
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1087
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
1088
|
+
exports.DiffTreeScope = void 0;
|
|
1171
1089
|
function DiffTreeScope(worker) {
|
|
1172
1090
|
const ctx = this;
|
|
1173
1091
|
if (ctx && worker) {
|
|
@@ -1206,9 +1124,10 @@ function DiffTreeScope(worker) {
|
|
|
1206
1124
|
return !(jsonConstructor === value.constructor || Array.isArray(value));
|
|
1207
1125
|
}
|
|
1208
1126
|
class DiffTree {
|
|
1127
|
+
keyFunc;
|
|
1128
|
+
rootStateMap = new Map();
|
|
1209
1129
|
constructor(keyFunc) {
|
|
1210
1130
|
this.keyFunc = keyFunc;
|
|
1211
|
-
this.rootStateMap = new Map();
|
|
1212
1131
|
}
|
|
1213
1132
|
static GetKeyRef(key) {
|
|
1214
1133
|
return `___DiffTreeKeyRef.${key}`;
|
|
@@ -1388,12 +1307,11 @@ exports.DiffTreeScope = DiffTreeScope;
|
|
|
1388
1307
|
/*!**************************************!*\
|
|
1389
1308
|
!*** ./src/Store/Diff/diffWorker.ts ***!
|
|
1390
1309
|
\**************************************/
|
|
1391
|
-
|
|
1392
|
-
/***/ (function(module, exports, __webpack_require__) {
|
|
1310
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
1393
1311
|
|
|
1394
|
-
"use strict";
|
|
1395
1312
|
|
|
1396
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1313
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
1314
|
+
exports.DiffWorker = void 0;
|
|
1397
1315
|
const diffTree_1 = __webpack_require__(/*! ./diffTree */ "./src/Store/Diff/diffTree.ts");
|
|
1398
1316
|
var DiffWorker;
|
|
1399
1317
|
(function (DiffWorker) {
|
|
@@ -1418,14 +1336,15 @@ var DiffWorker;
|
|
|
1418
1336
|
/*!***************************************!*\
|
|
1419
1337
|
!*** ./src/Store/Diff/workerQueue.ts ***!
|
|
1420
1338
|
\***************************************/
|
|
1421
|
-
|
|
1422
|
-
/***/ (function(module, exports, __webpack_require__) {
|
|
1339
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
1423
1340
|
|
|
1424
|
-
"use strict";
|
|
1425
1341
|
|
|
1426
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1342
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
1343
|
+
exports.WorkerQueue = void 0;
|
|
1427
1344
|
const list_1 = __webpack_require__(/*! ../../Utils/list */ "./src/Utils/list.ts");
|
|
1428
1345
|
class WorkerQueue {
|
|
1346
|
+
callbacks;
|
|
1347
|
+
worker;
|
|
1429
1348
|
constructor(worker) {
|
|
1430
1349
|
this.worker = worker;
|
|
1431
1350
|
this.callbacks = list_1.List.Create();
|
|
@@ -1462,28 +1381,27 @@ exports.WorkerQueue = WorkerQueue;
|
|
|
1462
1381
|
/*!**********************************!*\
|
|
1463
1382
|
!*** ./src/Store/Store/store.ts ***!
|
|
1464
1383
|
\**********************************/
|
|
1465
|
-
|
|
1466
|
-
/***/ (function(module, exports, __webpack_require__) {
|
|
1384
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
1467
1385
|
|
|
1468
|
-
"use strict";
|
|
1469
1386
|
|
|
1470
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1387
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
1388
|
+
exports.Store = void 0;
|
|
1471
1389
|
const observableTree_1 = __webpack_require__(/*! ../Tree/observableTree */ "./src/Store/Tree/observableTree.ts");
|
|
1472
1390
|
const storeWriter_1 = __webpack_require__(/*! ./storeWriter */ "./src/Store/Store/storeWriter.ts");
|
|
1473
1391
|
class Store {
|
|
1392
|
+
observableTree = new observableTree_1.ObservableTree();
|
|
1393
|
+
storeWriter = new storeWriter_1.StoreWriter(this.observableTree);
|
|
1394
|
+
rootScope = this.observableTree.Scope("ROOT", root => root);
|
|
1395
|
+
get Root() {
|
|
1396
|
+
return this.rootScope;
|
|
1397
|
+
}
|
|
1474
1398
|
constructor(init) {
|
|
1475
|
-
this.observableTree = new observableTree_1.ObservableTree();
|
|
1476
|
-
this.storeWriter = new storeWriter_1.StoreWriter(this.observableTree);
|
|
1477
|
-
this.rootScope = this.observableTree.Scope("ROOT", root => root);
|
|
1478
1399
|
if (init)
|
|
1479
1400
|
this.Write(init);
|
|
1480
1401
|
}
|
|
1481
|
-
get Root() {
|
|
1482
|
-
return this.rootScope;
|
|
1483
|
-
}
|
|
1484
1402
|
Action(action) {
|
|
1485
|
-
var
|
|
1486
|
-
action(
|
|
1403
|
+
var proxy = this.observableTree.Get("ROOT");
|
|
1404
|
+
action(proxy, this.storeWriter);
|
|
1487
1405
|
}
|
|
1488
1406
|
Write(data) {
|
|
1489
1407
|
this.Action((root, writer) => writer.Write(root, data));
|
|
@@ -1493,7 +1411,6 @@ class Store {
|
|
|
1493
1411
|
}
|
|
1494
1412
|
Destroy() {
|
|
1495
1413
|
this.rootScope.Destroy();
|
|
1496
|
-
this.observableTree.Destroy();
|
|
1497
1414
|
}
|
|
1498
1415
|
}
|
|
1499
1416
|
exports.Store = Store;
|
|
@@ -1505,17 +1422,21 @@ exports.Store = Store;
|
|
|
1505
1422
|
/*!***************************************!*\
|
|
1506
1423
|
!*** ./src/Store/Store/storeAsync.ts ***!
|
|
1507
1424
|
\***************************************/
|
|
1508
|
-
|
|
1509
|
-
/***/ (function(module, exports, __webpack_require__) {
|
|
1425
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
1510
1426
|
|
|
1511
|
-
"use strict";
|
|
1512
1427
|
|
|
1513
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1428
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
1429
|
+
exports.StoreAsync = void 0;
|
|
1514
1430
|
const observableTree_1 = __webpack_require__(/*! ../Tree/observableTree */ "./src/Store/Tree/observableTree.ts");
|
|
1515
1431
|
const diffAsync_1 = __webpack_require__(/*! ../Diff/diffAsync */ "./src/Store/Diff/diffAsync.ts");
|
|
1516
1432
|
const storeAsyncWriter_1 = __webpack_require__(/*! ./storeAsyncWriter */ "./src/Store/Store/storeAsyncWriter.ts");
|
|
1517
1433
|
const asyncQueue_1 = __webpack_require__(/*! ../../Utils/asyncQueue */ "./src/Utils/asyncQueue.ts");
|
|
1518
1434
|
class StoreAsync {
|
|
1435
|
+
idFunc;
|
|
1436
|
+
diffAsync;
|
|
1437
|
+
observableTree;
|
|
1438
|
+
asyncWriter;
|
|
1439
|
+
asyncQueue;
|
|
1519
1440
|
constructor(idFunc, init) {
|
|
1520
1441
|
this.idFunc = idFunc;
|
|
1521
1442
|
this.diffAsync = new diffAsync_1.DiffAsync(this.idFunc);
|
|
@@ -1533,10 +1454,7 @@ class StoreAsync {
|
|
|
1533
1454
|
}
|
|
1534
1455
|
async Action(id, action) {
|
|
1535
1456
|
await this.asyncQueue.Next(async () => {
|
|
1536
|
-
|
|
1537
|
-
if (id)
|
|
1538
|
-
node = this.observableTree.GetNode(id);
|
|
1539
|
-
await action(node && node.Proxy, this.asyncWriter);
|
|
1457
|
+
await action(id && this.observableTree.Get(id), this.asyncWriter);
|
|
1540
1458
|
});
|
|
1541
1459
|
}
|
|
1542
1460
|
async Write(data) {
|
|
@@ -1552,7 +1470,6 @@ class StoreAsync {
|
|
|
1552
1470
|
Destroy() {
|
|
1553
1471
|
this.asyncQueue.Stop();
|
|
1554
1472
|
this.diffAsync.Destroy();
|
|
1555
|
-
this.observableTree.Destroy();
|
|
1556
1473
|
}
|
|
1557
1474
|
}
|
|
1558
1475
|
exports.StoreAsync = StoreAsync;
|
|
@@ -1564,51 +1481,49 @@ exports.StoreAsync = StoreAsync;
|
|
|
1564
1481
|
/*!*********************************************!*\
|
|
1565
1482
|
!*** ./src/Store/Store/storeAsyncWriter.ts ***!
|
|
1566
1483
|
\*********************************************/
|
|
1567
|
-
|
|
1568
|
-
/***/ (function(module, exports, __webpack_require__) {
|
|
1484
|
+
/***/ ((__unused_webpack_module, exports) => {
|
|
1569
1485
|
|
|
1570
|
-
"use strict";
|
|
1571
1486
|
|
|
1572
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1487
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
1488
|
+
exports.StoreAsyncWriter = void 0;
|
|
1573
1489
|
class StoreAsyncWriter {
|
|
1490
|
+
idFunc;
|
|
1491
|
+
diffAsync;
|
|
1492
|
+
observableTree;
|
|
1574
1493
|
constructor(idFunc, diffAsync, observableTree) {
|
|
1575
1494
|
this.idFunc = idFunc;
|
|
1576
1495
|
this.diffAsync = diffAsync;
|
|
1577
1496
|
this.observableTree = observableTree;
|
|
1578
1497
|
}
|
|
1579
1498
|
async Write(source, data) {
|
|
1580
|
-
|
|
1499
|
+
let path;
|
|
1581
1500
|
if (source) {
|
|
1582
|
-
|
|
1583
|
-
path = proxy.___node.Path;
|
|
1501
|
+
path = this.observableTree.GetPathOf(source);
|
|
1584
1502
|
}
|
|
1585
1503
|
else {
|
|
1586
1504
|
path = this.idFunc(data);
|
|
1587
1505
|
if (!path)
|
|
1588
1506
|
throw new Error("data must have an id");
|
|
1589
1507
|
}
|
|
1590
|
-
|
|
1508
|
+
let diff = await this.diffAsync.DiffPath(path, data);
|
|
1591
1509
|
this.ApplyChanges(diff);
|
|
1592
1510
|
}
|
|
1593
1511
|
async Merge(source, data) {
|
|
1594
|
-
|
|
1595
|
-
|
|
1596
|
-
|
|
1597
|
-
|
|
1598
|
-
var diff = await this.diffAsync.DiffBatch(message);
|
|
1512
|
+
const rootPath = this.observableTree.GetPathOf(source);
|
|
1513
|
+
const keys = Object.keys(data);
|
|
1514
|
+
const message = keys.map(key => ({ path: `${rootPath}.${key}`, value: data[key] }));
|
|
1515
|
+
const diff = await this.diffAsync.DiffBatch(message);
|
|
1599
1516
|
this.ApplyChanges(diff);
|
|
1600
1517
|
}
|
|
1601
1518
|
async Push(source, data) {
|
|
1602
|
-
|
|
1603
|
-
var rootPath = proxy.___node.Path;
|
|
1519
|
+
const rootPath = this.observableTree.GetPathOf(source);
|
|
1604
1520
|
var lengthPath = `${rootPath}.length`;
|
|
1605
1521
|
var length = await this.diffAsync.GetPath(lengthPath);
|
|
1606
1522
|
var diff = await this.diffAsync.DiffPath(`${rootPath}.${length}`, data);
|
|
1607
1523
|
this.ApplyChanges(diff);
|
|
1608
1524
|
}
|
|
1609
1525
|
async Splice(source, start, deleteCount, ...items) {
|
|
1610
|
-
var
|
|
1611
|
-
var rootPath = proxy.___node.Path;
|
|
1526
|
+
var rootPath = this.observableTree.GetPathOf(source);
|
|
1612
1527
|
var array = await this.diffAsync.GetPath(rootPath);
|
|
1613
1528
|
array = array.slice();
|
|
1614
1529
|
array.splice(start, deleteCount, ...items);
|
|
@@ -1628,30 +1543,29 @@ exports.StoreAsyncWriter = StoreAsyncWriter;
|
|
|
1628
1543
|
/*!**************************************!*\
|
|
1629
1544
|
!*** ./src/Store/Store/storeSync.ts ***!
|
|
1630
1545
|
\**************************************/
|
|
1631
|
-
|
|
1632
|
-
/***/ (function(module, exports, __webpack_require__) {
|
|
1546
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
1633
1547
|
|
|
1634
|
-
"use strict";
|
|
1635
1548
|
|
|
1636
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1549
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
1550
|
+
exports.StoreSync = void 0;
|
|
1637
1551
|
const diffSync_1 = __webpack_require__(/*! ../Diff/diffSync */ "./src/Store/Diff/diffSync.ts");
|
|
1638
1552
|
const observableTree_1 = __webpack_require__(/*! ../Tree/observableTree */ "./src/Store/Tree/observableTree.ts");
|
|
1639
1553
|
const storeSyncWriter_1 = __webpack_require__(/*! ./storeSyncWriter */ "./src/Store/Store/storeSyncWriter.ts");
|
|
1640
1554
|
class StoreSync {
|
|
1555
|
+
diffSync = new diffSync_1.DiffSync();
|
|
1556
|
+
observableTree = new observableTree_1.ObservableTree();
|
|
1557
|
+
storeWriter = new storeSyncWriter_1.StoreSyncWriter(this.diffSync, this.observableTree);
|
|
1558
|
+
rootScope = this.observableTree.Scope("ROOT", root => root);
|
|
1559
|
+
get Root() {
|
|
1560
|
+
return this.rootScope;
|
|
1561
|
+
}
|
|
1641
1562
|
constructor(init) {
|
|
1642
|
-
this.diffSync = new diffSync_1.DiffSync();
|
|
1643
|
-
this.observableTree = new observableTree_1.ObservableTree();
|
|
1644
|
-
this.storeWriter = new storeSyncWriter_1.StoreSyncWriter(this.diffSync, this.observableTree);
|
|
1645
|
-
this.rootScope = this.observableTree.Scope("ROOT", root => root);
|
|
1646
1563
|
if (init)
|
|
1647
1564
|
this.Write(init);
|
|
1648
1565
|
}
|
|
1649
|
-
get Root() {
|
|
1650
|
-
return this.rootScope;
|
|
1651
|
-
}
|
|
1652
1566
|
Action(action) {
|
|
1653
|
-
var
|
|
1654
|
-
action(
|
|
1567
|
+
var proxy = this.observableTree.Get("ROOT");
|
|
1568
|
+
action(proxy, this.storeWriter);
|
|
1655
1569
|
}
|
|
1656
1570
|
Write(data) {
|
|
1657
1571
|
this.Action((root, writer) => writer.Write(root, data));
|
|
@@ -1661,7 +1575,6 @@ class StoreSync {
|
|
|
1661
1575
|
}
|
|
1662
1576
|
Destroy() {
|
|
1663
1577
|
this.rootScope.Destroy();
|
|
1664
|
-
this.observableTree.Destroy();
|
|
1665
1578
|
}
|
|
1666
1579
|
}
|
|
1667
1580
|
exports.StoreSync = StoreSync;
|
|
@@ -1673,47 +1586,43 @@ exports.StoreSync = StoreSync;
|
|
|
1673
1586
|
/*!********************************************!*\
|
|
1674
1587
|
!*** ./src/Store/Store/storeSyncWriter.ts ***!
|
|
1675
1588
|
\********************************************/
|
|
1676
|
-
|
|
1677
|
-
/***/ (function(module, exports, __webpack_require__) {
|
|
1589
|
+
/***/ ((__unused_webpack_module, exports) => {
|
|
1678
1590
|
|
|
1679
|
-
"use strict";
|
|
1680
1591
|
|
|
1681
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1592
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
1593
|
+
exports.StoreSyncWriter = void 0;
|
|
1682
1594
|
class StoreSyncWriter {
|
|
1595
|
+
diffSync;
|
|
1596
|
+
observableTree;
|
|
1683
1597
|
constructor(diffSync, observableTree) {
|
|
1684
1598
|
this.diffSync = diffSync;
|
|
1685
1599
|
this.observableTree = observableTree;
|
|
1686
1600
|
}
|
|
1687
1601
|
Write(source, data) {
|
|
1688
|
-
var
|
|
1689
|
-
var rootPath = proxy && proxy.___node.Path || "ROOT";
|
|
1602
|
+
var rootPath = source && this.observableTree.GetPathOf(source) || "ROOT";
|
|
1690
1603
|
var diff = this.diffSync.DiffPath(rootPath, data);
|
|
1691
1604
|
this.ApplyChanges(diff);
|
|
1692
1605
|
}
|
|
1693
1606
|
Merge(source, data) {
|
|
1694
|
-
var
|
|
1695
|
-
var rootPath = proxy.___node.Path;
|
|
1607
|
+
var rootPath = this.observableTree.GetPathOf(source);
|
|
1696
1608
|
var keys = Object.keys(data);
|
|
1697
1609
|
var message = keys.map(key => ({ path: `${rootPath}.${key}`, value: data[key] }));
|
|
1698
1610
|
var diff = this.diffSync.DiffBatch(message);
|
|
1699
1611
|
this.ApplyChanges(diff);
|
|
1700
1612
|
}
|
|
1701
1613
|
Push(source, data) {
|
|
1702
|
-
var
|
|
1703
|
-
var
|
|
1704
|
-
var rootPath = proxy.___node.Path;
|
|
1705
|
-
var length = array.length;
|
|
1614
|
+
var rootPath = this.observableTree.GetPathOf(source);
|
|
1615
|
+
var length = source.length;
|
|
1706
1616
|
this.diffSync.UpdatePath(`${rootPath}.${length}`, data);
|
|
1707
|
-
|
|
1617
|
+
this.observableTree.Write(`${rootPath}.${length}`, data);
|
|
1708
1618
|
}
|
|
1709
1619
|
Splice(source, start, deleteCount, ...items) {
|
|
1710
|
-
var
|
|
1711
|
-
var
|
|
1712
|
-
|
|
1713
|
-
array = array.map(val => val);
|
|
1620
|
+
var rootPath = this.observableTree.GetPathOf(source);
|
|
1621
|
+
var proxy = this.observableTree.Get(rootPath);
|
|
1622
|
+
const array = proxy.toJSON().slice();
|
|
1714
1623
|
array.splice(start, deleteCount, ...items);
|
|
1715
1624
|
this.diffSync.UpdatePath(rootPath, array);
|
|
1716
|
-
|
|
1625
|
+
this.observableTree.Write(rootPath, array);
|
|
1717
1626
|
}
|
|
1718
1627
|
ApplyChanges(diff) {
|
|
1719
1628
|
this.observableTree.WriteAll(diff);
|
|
@@ -1728,357 +1637,64 @@ exports.StoreSyncWriter = StoreSyncWriter;
|
|
|
1728
1637
|
/*!****************************************!*\
|
|
1729
1638
|
!*** ./src/Store/Store/storeWriter.ts ***!
|
|
1730
1639
|
\****************************************/
|
|
1731
|
-
|
|
1732
|
-
/***/ (function(module, exports, __webpack_require__) {
|
|
1640
|
+
/***/ ((__unused_webpack_module, exports) => {
|
|
1733
1641
|
|
|
1734
|
-
"use strict";
|
|
1735
1642
|
|
|
1736
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1737
|
-
|
|
1643
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
1644
|
+
exports.StoreWriter = void 0;
|
|
1738
1645
|
class StoreWriter {
|
|
1646
|
+
observableTree;
|
|
1739
1647
|
constructor(observableTree) {
|
|
1740
1648
|
this.observableTree = observableTree;
|
|
1741
1649
|
}
|
|
1742
1650
|
Write(source, data) {
|
|
1743
|
-
|
|
1744
|
-
var rootPath = proxy && proxy.___node.Path || "ROOT";
|
|
1651
|
+
const rootPath = source && this.observableTree.GetPathOf(source) || "ROOT";
|
|
1745
1652
|
this.observableTree.Write(rootPath, data);
|
|
1746
1653
|
}
|
|
1747
1654
|
Merge(source, data) {
|
|
1748
|
-
|
|
1749
|
-
|
|
1750
|
-
|
|
1751
|
-
this.observableTree.Write(rootPath, data);
|
|
1752
|
-
else
|
|
1753
|
-
for (var key in data)
|
|
1754
|
-
this.observableTree.Write(`${rootPath}.${key}`, data[key]);
|
|
1655
|
+
const rootPath = this.observableTree.GetPathOf(source);
|
|
1656
|
+
for (const key in data)
|
|
1657
|
+
this.observableTree.Write(`${rootPath}.${key}`, data[key]);
|
|
1755
1658
|
}
|
|
1756
1659
|
Push(source, data) {
|
|
1757
|
-
|
|
1758
|
-
|
|
1660
|
+
const rootPath = this.observableTree.GetPathOf(source);
|
|
1661
|
+
this.observableTree.Write(`${rootPath}.${length}`, data);
|
|
1759
1662
|
}
|
|
1760
1663
|
Splice(source, start, deleteCount, ...items) {
|
|
1761
|
-
|
|
1762
|
-
|
|
1664
|
+
const json = source.toJSON();
|
|
1665
|
+
const copy = json.slice();
|
|
1666
|
+
copy.splice(start, deleteCount, ...items);
|
|
1667
|
+
const rootPath = this.observableTree.GetPathOf(source);
|
|
1668
|
+
this.observableTree.Write(rootPath, copy);
|
|
1763
1669
|
}
|
|
1764
1670
|
}
|
|
1765
1671
|
exports.StoreWriter = StoreWriter;
|
|
1766
1672
|
|
|
1767
1673
|
|
|
1768
|
-
/***/ }),
|
|
1769
|
-
|
|
1770
|
-
/***/ "./src/Store/Tree/observableNode.ts":
|
|
1771
|
-
/*!******************************************!*\
|
|
1772
|
-
!*** ./src/Store/Tree/observableNode.ts ***!
|
|
1773
|
-
\******************************************/
|
|
1774
|
-
/*! no static exports found */
|
|
1775
|
-
/***/ (function(module, exports, __webpack_require__) {
|
|
1776
|
-
|
|
1777
|
-
"use strict";
|
|
1778
|
-
|
|
1779
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1780
|
-
const observableProxy_1 = __webpack_require__(/*! ./observableProxy */ "./src/Store/Tree/observableProxy.ts");
|
|
1781
|
-
const observableScope_1 = __webpack_require__(/*! ./observableScope */ "./src/Store/Tree/observableScope.ts");
|
|
1782
|
-
class ObservableNode {
|
|
1783
|
-
constructor(tree, key, parent, valuePathResolver) {
|
|
1784
|
-
this.tree = tree;
|
|
1785
|
-
this.key = key;
|
|
1786
|
-
this.parent = parent;
|
|
1787
|
-
this.valuePathResolver = valuePathResolver;
|
|
1788
|
-
this.destroyed = false;
|
|
1789
|
-
this.children = new Map();
|
|
1790
|
-
this.path = undefined;
|
|
1791
|
-
this.scope = observableScope_1.ObservableScope.Create(() => {
|
|
1792
|
-
var value = this.tree.Get(this.Path);
|
|
1793
|
-
var type = observableProxy_1.ObservableProxy.TypeOf(value);
|
|
1794
|
-
var resolvedPath = this.valuePathResolver && type === observableProxy_1.Type.Value && typeof value === 'string' ? this.valuePathResolver(value) || this.Path : this.Path;
|
|
1795
|
-
var self = this.Path === resolvedPath ? this : this.tree.GetNode(resolvedPath);
|
|
1796
|
-
var proxy = this === self ?
|
|
1797
|
-
type === observableProxy_1.Type.Value ?
|
|
1798
|
-
value :
|
|
1799
|
-
observableProxy_1.ObservableProxy.CreateFrom(this, type) :
|
|
1800
|
-
self.Proxy;
|
|
1801
|
-
return {
|
|
1802
|
-
value: value,
|
|
1803
|
-
type: observableProxy_1.ObservableProxy.TypeOf(value),
|
|
1804
|
-
self: self,
|
|
1805
|
-
proxy: proxy
|
|
1806
|
-
};
|
|
1807
|
-
});
|
|
1808
|
-
}
|
|
1809
|
-
get Key() {
|
|
1810
|
-
return this.key;
|
|
1811
|
-
}
|
|
1812
|
-
get Path() {
|
|
1813
|
-
if (this.path === undefined)
|
|
1814
|
-
this.path = (this.parent ? this.parent.Path + "." : "") + this.key;
|
|
1815
|
-
return this.path;
|
|
1816
|
-
}
|
|
1817
|
-
get Value() {
|
|
1818
|
-
return observableScope_1.ObservableScope.Value(this.scope).value;
|
|
1819
|
-
}
|
|
1820
|
-
get Type() {
|
|
1821
|
-
return observableScope_1.ObservableScope.Value(this.scope).type;
|
|
1822
|
-
}
|
|
1823
|
-
get Self() {
|
|
1824
|
-
return observableScope_1.ObservableScope.Value(this.scope).self;
|
|
1825
|
-
}
|
|
1826
|
-
get Proxy() {
|
|
1827
|
-
return observableScope_1.ObservableScope.Value(this.scope).proxy;
|
|
1828
|
-
}
|
|
1829
|
-
get ProxyArray() {
|
|
1830
|
-
if (this.Type !== observableProxy_1.Type.Array) {
|
|
1831
|
-
this.arrayScope && this.arrayScope.Destroy();
|
|
1832
|
-
this.arrayScope = null;
|
|
1833
|
-
return null;
|
|
1834
|
-
}
|
|
1835
|
-
this.arrayScope = this.arrayScope || observableScope_1.ObservableScope.Create(() => this.Value.map((c, i) => this.EnsureChild(i.toString()).Proxy));
|
|
1836
|
-
return observableScope_1.ObservableScope.Value(this.arrayScope);
|
|
1837
|
-
}
|
|
1838
|
-
get Parent() {
|
|
1839
|
-
return this.parent;
|
|
1840
|
-
}
|
|
1841
|
-
get Children() {
|
|
1842
|
-
return this.children;
|
|
1843
|
-
}
|
|
1844
|
-
UpdateKey(newKey) {
|
|
1845
|
-
if (!this.parent)
|
|
1846
|
-
return;
|
|
1847
|
-
this.parent.children.delete(this.key);
|
|
1848
|
-
this.parent.children.set(newKey, this);
|
|
1849
|
-
this.key = newKey;
|
|
1850
|
-
this.path = undefined;
|
|
1851
|
-
}
|
|
1852
|
-
EnsureChild(key) {
|
|
1853
|
-
var child = this.children.get(key);
|
|
1854
|
-
if (!child) {
|
|
1855
|
-
child = new ObservableNode(this.tree, key, this, this.valuePathResolver);
|
|
1856
|
-
this.children.set(key, child);
|
|
1857
|
-
}
|
|
1858
|
-
return child;
|
|
1859
|
-
}
|
|
1860
|
-
Update() {
|
|
1861
|
-
this.children.clear();
|
|
1862
|
-
observableScope_1.ObservableScope.Update(this.scope);
|
|
1863
|
-
}
|
|
1864
|
-
ArrayUpdate() {
|
|
1865
|
-
observableScope_1.ObservableScope.Update(this.arrayScope);
|
|
1866
|
-
var lengthNode = this.children.get('length');
|
|
1867
|
-
if (lengthNode)
|
|
1868
|
-
lengthNode.Update();
|
|
1869
|
-
observableScope_1.ObservableScope.Emit(this.scope);
|
|
1870
|
-
}
|
|
1871
|
-
Destroy() {
|
|
1872
|
-
this.destroyed = true;
|
|
1873
|
-
this.parent && !this.parent.destroyed && this.parent.Children.delete(this.key);
|
|
1874
|
-
this.children.forEach(c => c.Destroy());
|
|
1875
|
-
observableScope_1.ObservableScope.Destroy(this.scope);
|
|
1876
|
-
observableScope_1.ObservableScope.Destroy(this.arrayScope);
|
|
1877
|
-
}
|
|
1878
|
-
Push(data) {
|
|
1879
|
-
var array = this.Value;
|
|
1880
|
-
if (!Array.isArray(array))
|
|
1881
|
-
throw new Error("Node value is not an array.");
|
|
1882
|
-
var ret = array.push(data);
|
|
1883
|
-
this.ArrayUpdate();
|
|
1884
|
-
return ret;
|
|
1885
|
-
}
|
|
1886
|
-
Splice(start, deleteCount, ...items) {
|
|
1887
|
-
deleteCount = deleteCount || 0;
|
|
1888
|
-
var array = this.Value;
|
|
1889
|
-
if (!Array.isArray(array))
|
|
1890
|
-
throw new Error("Node value is not an array.");
|
|
1891
|
-
var startLength = array.length;
|
|
1892
|
-
var ret = array.splice(start, deleteCount, ...items);
|
|
1893
|
-
var x = start;
|
|
1894
|
-
var key = null;
|
|
1895
|
-
var newKey = null;
|
|
1896
|
-
var child = null;
|
|
1897
|
-
for (; x < (start + deleteCount); x++) {
|
|
1898
|
-
key = x.toString();
|
|
1899
|
-
child = this.Children.get(key);
|
|
1900
|
-
if (child)
|
|
1901
|
-
child.Destroy();
|
|
1902
|
-
}
|
|
1903
|
-
if (startLength < array.length)
|
|
1904
|
-
for (var y = startLength - 1; y >= x; y--) {
|
|
1905
|
-
key = y.toString();
|
|
1906
|
-
child = this.Children.get(key);
|
|
1907
|
-
if (child) {
|
|
1908
|
-
newKey = (y - deleteCount + items.length).toString();
|
|
1909
|
-
child.UpdateKey(newKey);
|
|
1910
|
-
}
|
|
1911
|
-
}
|
|
1912
|
-
else
|
|
1913
|
-
for (; x < startLength; x++) {
|
|
1914
|
-
key = x.toString();
|
|
1915
|
-
child = this.Children.get(key);
|
|
1916
|
-
if (child) {
|
|
1917
|
-
newKey = (x - deleteCount + items.length).toString();
|
|
1918
|
-
child.UpdateKey(newKey);
|
|
1919
|
-
}
|
|
1920
|
-
}
|
|
1921
|
-
this.ArrayUpdate();
|
|
1922
|
-
return ret;
|
|
1923
|
-
}
|
|
1924
|
-
}
|
|
1925
|
-
exports.ObservableNode = ObservableNode;
|
|
1926
|
-
|
|
1927
|
-
|
|
1928
|
-
/***/ }),
|
|
1929
|
-
|
|
1930
|
-
/***/ "./src/Store/Tree/observableProxy.ts":
|
|
1931
|
-
/*!*******************************************!*\
|
|
1932
|
-
!*** ./src/Store/Tree/observableProxy.ts ***!
|
|
1933
|
-
\*******************************************/
|
|
1934
|
-
/*! no static exports found */
|
|
1935
|
-
/***/ (function(module, exports, __webpack_require__) {
|
|
1936
|
-
|
|
1937
|
-
"use strict";
|
|
1938
|
-
|
|
1939
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1940
|
-
var Type;
|
|
1941
|
-
(function (Type) {
|
|
1942
|
-
Type[Type["Value"] = 0] = "Value";
|
|
1943
|
-
Type[Type["Object"] = 1] = "Object";
|
|
1944
|
-
Type[Type["Array"] = 2] = "Array";
|
|
1945
|
-
})(Type = exports.Type || (exports.Type = {}));
|
|
1946
|
-
var ObservableProxy;
|
|
1947
|
-
(function (ObservableProxy) {
|
|
1948
|
-
function TypeOf(value) {
|
|
1949
|
-
if (!value)
|
|
1950
|
-
return Type.Value;
|
|
1951
|
-
if (Array.isArray(value))
|
|
1952
|
-
return Type.Array;
|
|
1953
|
-
else if (typeof value === 'object')
|
|
1954
|
-
return Type.Object;
|
|
1955
|
-
return Type.Value;
|
|
1956
|
-
}
|
|
1957
|
-
ObservableProxy.TypeOf = TypeOf;
|
|
1958
|
-
function CreateFrom(node, type) {
|
|
1959
|
-
switch (type) {
|
|
1960
|
-
case Type.Array:
|
|
1961
|
-
return CreateArrayProxy(node);
|
|
1962
|
-
case Type.Object:
|
|
1963
|
-
return CreateObjectProxy(node);
|
|
1964
|
-
default:
|
|
1965
|
-
throw new Error("Can't create proxy from Value type");
|
|
1966
|
-
}
|
|
1967
|
-
}
|
|
1968
|
-
ObservableProxy.CreateFrom = CreateFrom;
|
|
1969
|
-
function CopyValue(value) {
|
|
1970
|
-
var type = TypeOf(value);
|
|
1971
|
-
if (type === Type.Value)
|
|
1972
|
-
return value;
|
|
1973
|
-
if (typeof value.toJSON === 'function')
|
|
1974
|
-
return value.toJSON();
|
|
1975
|
-
if (type === Type.Array)
|
|
1976
|
-
return value.map(v => CopyValue(v));
|
|
1977
|
-
else if (type === Type.Object) {
|
|
1978
|
-
var ret = {};
|
|
1979
|
-
for (var key in value)
|
|
1980
|
-
ret[key] = CopyValue(value[key]);
|
|
1981
|
-
return ret;
|
|
1982
|
-
}
|
|
1983
|
-
return null;
|
|
1984
|
-
}
|
|
1985
|
-
ObservableProxy.CopyValue = CopyValue;
|
|
1986
|
-
})(ObservableProxy = exports.ObservableProxy || (exports.ObservableProxy = {}));
|
|
1987
|
-
function CreateArrayProxy(node) {
|
|
1988
|
-
return new Proxy([], {
|
|
1989
|
-
get: (obj, prop) => {
|
|
1990
|
-
switch (prop) {
|
|
1991
|
-
case '___type':
|
|
1992
|
-
return Type.Array;
|
|
1993
|
-
case '___storeProxy':
|
|
1994
|
-
return true;
|
|
1995
|
-
case '___node':
|
|
1996
|
-
return node;
|
|
1997
|
-
case 'toJSON':
|
|
1998
|
-
return () => {
|
|
1999
|
-
return CopyNode(node);
|
|
2000
|
-
};
|
|
2001
|
-
case 'length':
|
|
2002
|
-
return node.EnsureChild(prop).Value;
|
|
2003
|
-
default:
|
|
2004
|
-
if (typeof (prop) === 'symbol')
|
|
2005
|
-
return node.ProxyArray[prop];
|
|
2006
|
-
if (!isNaN(parseInt(prop)))
|
|
2007
|
-
return node.EnsureChild(prop).Proxy;
|
|
2008
|
-
var func = obj[prop];
|
|
2009
|
-
return func && func.bind(node.ProxyArray);
|
|
2010
|
-
}
|
|
2011
|
-
},
|
|
2012
|
-
ownKeys: () => {
|
|
2013
|
-
return Reflect.ownKeys(node.Value);
|
|
2014
|
-
}
|
|
2015
|
-
});
|
|
2016
|
-
}
|
|
2017
|
-
function CreateObjectProxy(node) {
|
|
2018
|
-
return new Proxy({}, {
|
|
2019
|
-
get: (obj, prop) => {
|
|
2020
|
-
switch (prop) {
|
|
2021
|
-
case '___type':
|
|
2022
|
-
return Type.Object;
|
|
2023
|
-
case '___storeProxy':
|
|
2024
|
-
return true;
|
|
2025
|
-
case '___node':
|
|
2026
|
-
return node;
|
|
2027
|
-
case 'toJSON':
|
|
2028
|
-
return () => {
|
|
2029
|
-
return CopyNode(node);
|
|
2030
|
-
};
|
|
2031
|
-
default:
|
|
2032
|
-
if (typeof (prop) !== 'symbol')
|
|
2033
|
-
return node.EnsureChild(prop).Proxy;
|
|
2034
|
-
return obj[prop];
|
|
2035
|
-
}
|
|
2036
|
-
},
|
|
2037
|
-
ownKeys: () => {
|
|
2038
|
-
return Reflect.ownKeys(node.Value);
|
|
2039
|
-
}
|
|
2040
|
-
});
|
|
2041
|
-
}
|
|
2042
|
-
function CopyNode(node) {
|
|
2043
|
-
if (node.Type === Type.Value)
|
|
2044
|
-
return node.Value;
|
|
2045
|
-
var ret = null;
|
|
2046
|
-
if (node.Type === Type.Array)
|
|
2047
|
-
ret = node.Value.map((v, i) => CopyNode(node.Self.EnsureChild(i.toString()).Self));
|
|
2048
|
-
else {
|
|
2049
|
-
ret = {};
|
|
2050
|
-
for (var key in node.Value) {
|
|
2051
|
-
var child = node.Self.EnsureChild(key);
|
|
2052
|
-
ret[key] = CopyNode(child.Self);
|
|
2053
|
-
}
|
|
2054
|
-
}
|
|
2055
|
-
return ret;
|
|
2056
|
-
}
|
|
2057
|
-
|
|
2058
|
-
|
|
2059
1674
|
/***/ }),
|
|
2060
1675
|
|
|
2061
1676
|
/***/ "./src/Store/Tree/observableScope.ts":
|
|
2062
1677
|
/*!*******************************************!*\
|
|
2063
1678
|
!*** ./src/Store/Tree/observableScope.ts ***!
|
|
2064
1679
|
\*******************************************/
|
|
2065
|
-
|
|
2066
|
-
/***/ (function(module, exports, __webpack_require__) {
|
|
1680
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
2067
1681
|
|
|
2068
|
-
"use strict";
|
|
2069
1682
|
|
|
2070
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1683
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
1684
|
+
exports.ObservableScope = exports.ObservableScopeWrapper = exports.ObservableScopeValue = void 0;
|
|
2071
1685
|
const emitter_1 = __webpack_require__(/*! ../../Utils/emitter */ "./src/Utils/emitter.ts");
|
|
2072
1686
|
class ObservableScopeValue {
|
|
2073
|
-
|
|
2074
|
-
this.scope = scope;
|
|
2075
|
-
}
|
|
1687
|
+
scope;
|
|
2076
1688
|
get Value() {
|
|
2077
1689
|
return ObservableScope.Value(this.scope);
|
|
2078
1690
|
}
|
|
1691
|
+
constructor(scope) {
|
|
1692
|
+
this.scope = scope;
|
|
1693
|
+
}
|
|
2079
1694
|
}
|
|
2080
1695
|
exports.ObservableScopeValue = ObservableScopeValue;
|
|
2081
1696
|
class ObservableScopeWrapper extends ObservableScopeValue {
|
|
1697
|
+
scopeEmitter;
|
|
2082
1698
|
constructor(scope) {
|
|
2083
1699
|
super(scope);
|
|
2084
1700
|
if (scope.emitter) {
|
|
@@ -2199,8 +1815,7 @@ function UpdateValue(scope) {
|
|
|
2199
1815
|
return;
|
|
2200
1816
|
scope.dirty = false;
|
|
2201
1817
|
var value = null;
|
|
2202
|
-
var emitters = WatchAction(() => value = scope.getFunction());
|
|
2203
|
-
UpdateEmitters(scope, emitters);
|
|
1818
|
+
var emitters = scope.getFunction && WatchAction(() => value = scope.getFunction());
|
|
2204
1819
|
if (scope.async)
|
|
2205
1820
|
Promise.resolve(value).then(val => {
|
|
2206
1821
|
scope.value = val;
|
|
@@ -2208,6 +1823,7 @@ function UpdateValue(scope) {
|
|
|
2208
1823
|
});
|
|
2209
1824
|
else
|
|
2210
1825
|
scope.value = value;
|
|
1826
|
+
UpdateEmitters(scope, emitters);
|
|
2211
1827
|
}
|
|
2212
1828
|
function DestroyScope(scope) {
|
|
2213
1829
|
if (!scope)
|
|
@@ -2235,98 +1851,223 @@ function UpdateEmitters(scope, newEmitters) {
|
|
|
2235
1851
|
/*!******************************************!*\
|
|
2236
1852
|
!*** ./src/Store/Tree/observableTree.ts ***!
|
|
2237
1853
|
\******************************************/
|
|
2238
|
-
|
|
2239
|
-
/***/ (function(module, exports, __webpack_require__) {
|
|
1854
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
2240
1855
|
|
|
2241
|
-
"use strict";
|
|
2242
1856
|
|
|
2243
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2244
|
-
|
|
2245
|
-
const
|
|
2246
|
-
|
|
1857
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
1858
|
+
exports.ObservableTree = void 0;
|
|
1859
|
+
const observableScope_1 = __webpack_require__(/*! ../Tree/observableScope */ "./src/Store/Tree/observableScope.ts");
|
|
1860
|
+
var Type;
|
|
1861
|
+
(function (Type) {
|
|
1862
|
+
Type[Type["Value"] = 0] = "Value";
|
|
1863
|
+
Type[Type["Object"] = 1] = "Object";
|
|
1864
|
+
Type[Type["Array"] = 2] = "Array";
|
|
1865
|
+
})(Type || (Type = {}));
|
|
1866
|
+
const jsonConstructor = {}.constructor;
|
|
1867
|
+
function TypeOf(value) {
|
|
1868
|
+
if (!value)
|
|
1869
|
+
return Type.Value;
|
|
1870
|
+
if (jsonConstructor === value.constructor)
|
|
1871
|
+
return Type.Object;
|
|
1872
|
+
if (Array.isArray(value))
|
|
1873
|
+
return Type.Array;
|
|
1874
|
+
return Type.Value;
|
|
1875
|
+
}
|
|
2247
1876
|
class ObservableTree {
|
|
1877
|
+
valuePathResolver;
|
|
1878
|
+
undefinedScope = observableScope_1.ObservableScope.Create(function () { return undefined; });
|
|
1879
|
+
scopeCache = new WeakMap();
|
|
1880
|
+
leafScopeCache = new WeakMap();
|
|
1881
|
+
proxyCache = new WeakMap();
|
|
1882
|
+
pathCache = new WeakMap();
|
|
1883
|
+
rootStateMap = new Map();
|
|
2248
1884
|
constructor(valuePathResolver) {
|
|
2249
1885
|
this.valuePathResolver = valuePathResolver;
|
|
2250
|
-
this.rootStateMap = new Map();
|
|
2251
|
-
this.rootNodeMap = new Map();
|
|
2252
|
-
}
|
|
2253
|
-
Write(path, value) {
|
|
2254
|
-
this.WritePath(path, value);
|
|
2255
|
-
this.UpdatePathNode(path);
|
|
2256
|
-
}
|
|
2257
|
-
WriteAll(data) {
|
|
2258
|
-
for (var x = 0; x < data.length; x++)
|
|
2259
|
-
this.WritePath(data[x].path, data[x].value);
|
|
2260
|
-
for (var y = 0; y < data.length; y++)
|
|
2261
|
-
this.UpdatePathNode(data[y].path);
|
|
2262
1886
|
}
|
|
2263
1887
|
Get(path) {
|
|
2264
|
-
|
|
2265
|
-
if (index === 0)
|
|
2266
|
-
return this.rootStateMap.get(curr);
|
|
2267
|
-
return pre && pre[curr];
|
|
2268
|
-
}, null);
|
|
2269
|
-
}
|
|
2270
|
-
GetNode(path) {
|
|
2271
|
-
return path.split(".").reduce((pre, curr, index) => {
|
|
1888
|
+
const val = path.split(".").reduce((pre, curr, index) => {
|
|
2272
1889
|
if (index === 0) {
|
|
2273
|
-
|
|
2274
|
-
|
|
2275
|
-
|
|
2276
|
-
this.rootNodeMap.set(curr, ret);
|
|
2277
|
-
}
|
|
2278
|
-
return ret;
|
|
1890
|
+
let value = this.rootStateMap.get(curr);
|
|
1891
|
+
const scope = this.GetParentScope(value);
|
|
1892
|
+
return observableScope_1.ObservableScope.Value(scope);
|
|
2279
1893
|
}
|
|
2280
|
-
return pre
|
|
1894
|
+
return pre && pre[curr];
|
|
2281
1895
|
}, null);
|
|
1896
|
+
return val;
|
|
2282
1897
|
}
|
|
2283
|
-
|
|
2284
|
-
|
|
2285
|
-
|
|
2286
|
-
|
|
2287
|
-
Destroy() {
|
|
2288
|
-
this.rootStateMap.clear();
|
|
2289
|
-
this.rootNodeMap.forEach(node => node.Destroy());
|
|
2290
|
-
this.rootNodeMap.clear();
|
|
1898
|
+
GetPathOf(value) {
|
|
1899
|
+
if (value.toJSON && typeof value.toJSON === 'function')
|
|
1900
|
+
value = value.toJSON();
|
|
1901
|
+
return this.pathCache.get(value);
|
|
2291
1902
|
}
|
|
2292
|
-
Scope(path,
|
|
1903
|
+
Scope(path, callback) {
|
|
2293
1904
|
return new observableScope_1.ObservableScope(() => {
|
|
2294
|
-
|
|
2295
|
-
return
|
|
1905
|
+
const obj = this.Get(path);
|
|
1906
|
+
return callback && callback(obj) || obj;
|
|
2296
1907
|
});
|
|
2297
1908
|
}
|
|
2298
|
-
|
|
2299
|
-
|
|
2300
|
-
|
|
2301
|
-
|
|
2302
|
-
|
|
1909
|
+
Write(path, value) {
|
|
1910
|
+
const scope = this.WritePath(path, value);
|
|
1911
|
+
observableScope_1.ObservableScope.Update(scope);
|
|
1912
|
+
}
|
|
1913
|
+
WriteAll(data) {
|
|
1914
|
+
const scopeSet = new Set();
|
|
1915
|
+
for (var x = 0; x < data.length; x++) {
|
|
1916
|
+
const scope = this.WritePath(data[x].path, data[x].value);
|
|
1917
|
+
scopeSet.add(scope);
|
|
1918
|
+
}
|
|
1919
|
+
scopeSet.forEach(scope => observableScope_1.ObservableScope.Update(scope));
|
|
1920
|
+
}
|
|
1921
|
+
GetParentScope(value) {
|
|
1922
|
+
const type = TypeOf(value);
|
|
1923
|
+
if (type === Type.Value) {
|
|
1924
|
+
if (this.valuePathResolver && typeof value === 'string') {
|
|
1925
|
+
const path = this.valuePathResolver(value);
|
|
1926
|
+
if (path) {
|
|
1927
|
+
const val = this.rootStateMap.get(path);
|
|
1928
|
+
return this.GetParentScope(val);
|
|
1929
|
+
}
|
|
1930
|
+
}
|
|
1931
|
+
return value === undefined ? this.undefinedScope : observableScope_1.ObservableScope.Create(value);
|
|
1932
|
+
}
|
|
1933
|
+
let scope = this.scopeCache.get(value);
|
|
1934
|
+
if (!scope) {
|
|
1935
|
+
scope = observableScope_1.ObservableScope.Create(() => this.GetValueProxy(value));
|
|
1936
|
+
this.scopeCache.set(value, scope);
|
|
1937
|
+
}
|
|
1938
|
+
return scope;
|
|
1939
|
+
}
|
|
1940
|
+
GetPropertyScope(parent, prop) {
|
|
1941
|
+
const value = parent[prop];
|
|
1942
|
+
const type = TypeOf(value);
|
|
1943
|
+
if (type === Type.Value) {
|
|
1944
|
+
let leafScopes = this.leafScopeCache.get(parent) || {};
|
|
1945
|
+
leafScopes[prop] = leafScopes[prop] || observableScope_1.ObservableScope.Create(() => {
|
|
1946
|
+
const parentScope = this.scopeCache.get(parent);
|
|
1947
|
+
const parentValue = observableScope_1.ObservableScope.Value(parentScope);
|
|
1948
|
+
const parentJson = parentValue.toJSON();
|
|
1949
|
+
const currentValue = parentJson[prop];
|
|
1950
|
+
let path;
|
|
1951
|
+
if (this.valuePathResolver && typeof currentValue === 'string' && (path = this.valuePathResolver(currentValue)))
|
|
1952
|
+
return this.Get(path);
|
|
1953
|
+
return currentValue;
|
|
1954
|
+
});
|
|
1955
|
+
this.leafScopeCache.set(parent, leafScopes);
|
|
1956
|
+
return leafScopes[prop];
|
|
1957
|
+
}
|
|
2303
1958
|
else {
|
|
2304
|
-
|
|
2305
|
-
|
|
2306
|
-
|
|
2307
|
-
|
|
2308
|
-
|
|
1959
|
+
let scope = this.scopeCache.get(value);
|
|
1960
|
+
if (!scope) {
|
|
1961
|
+
scope = observableScope_1.ObservableScope.Create(() => {
|
|
1962
|
+
const parentScope = this.scopeCache.get(parent);
|
|
1963
|
+
const parentValue = observableScope_1.ObservableScope.Value(parentScope);
|
|
1964
|
+
const parentJson = parentValue.toJSON();
|
|
1965
|
+
const currentValue = parentJson[prop];
|
|
1966
|
+
return this.GetValueProxy(currentValue);
|
|
1967
|
+
});
|
|
1968
|
+
this.scopeCache.set(value, scope);
|
|
2309
1969
|
}
|
|
2310
|
-
|
|
2311
|
-
|
|
2312
|
-
|
|
1970
|
+
return scope;
|
|
1971
|
+
}
|
|
1972
|
+
}
|
|
1973
|
+
GetValueProxy(value) {
|
|
1974
|
+
let proxy = this.proxyCache.get(value);
|
|
1975
|
+
if (!proxy) {
|
|
1976
|
+
proxy = this.CreateProxy(value);
|
|
1977
|
+
this.proxyCache.set(value, proxy);
|
|
2313
1978
|
}
|
|
1979
|
+
return proxy;
|
|
2314
1980
|
}
|
|
2315
|
-
|
|
2316
|
-
|
|
2317
|
-
|
|
2318
|
-
|
|
2319
|
-
|
|
2320
|
-
|
|
2321
|
-
|
|
2322
|
-
|
|
2323
|
-
|
|
2324
|
-
|
|
2325
|
-
|
|
2326
|
-
|
|
1981
|
+
ObjectProxyGetter = (value, prop) => {
|
|
1982
|
+
function toJSON() {
|
|
1983
|
+
return value;
|
|
1984
|
+
}
|
|
1985
|
+
;
|
|
1986
|
+
switch (prop) {
|
|
1987
|
+
case "toJSON":
|
|
1988
|
+
return toJSON;
|
|
1989
|
+
default:
|
|
1990
|
+
if (typeof prop === 'symbol')
|
|
1991
|
+
return value[prop];
|
|
1992
|
+
return observableScope_1.ObservableScope.Value(this.GetPropertyScope(value, prop));
|
|
1993
|
+
}
|
|
1994
|
+
};
|
|
1995
|
+
CreateObjectProxy(value) {
|
|
1996
|
+
return new Proxy(value, {
|
|
1997
|
+
get: this.ObjectProxyGetter
|
|
1998
|
+
});
|
|
1999
|
+
}
|
|
2000
|
+
ArrayProxyGetter = (value, prop) => {
|
|
2001
|
+
function toJSON() {
|
|
2002
|
+
return value;
|
|
2003
|
+
}
|
|
2004
|
+
;
|
|
2005
|
+
switch (prop) {
|
|
2006
|
+
case "toJSON":
|
|
2007
|
+
return toJSON;
|
|
2008
|
+
default:
|
|
2009
|
+
if (typeof prop === 'symbol')
|
|
2010
|
+
return value[prop];
|
|
2011
|
+
if (isNaN(parseInt(prop))) {
|
|
2012
|
+
const ret = value[prop];
|
|
2013
|
+
if (typeof ret === 'function') {
|
|
2014
|
+
const copy = value.map((val, index) => observableScope_1.ObservableScope.Value(this.GetPropertyScope(value, index.toString())));
|
|
2015
|
+
return ret.bind(copy);
|
|
2016
|
+
}
|
|
2017
|
+
return ret;
|
|
2327
2018
|
}
|
|
2328
|
-
|
|
2019
|
+
return observableScope_1.ObservableScope.Value(this.GetPropertyScope(value, prop));
|
|
2329
2020
|
}
|
|
2021
|
+
};
|
|
2022
|
+
CreateArrayProxy(value) {
|
|
2023
|
+
return new Proxy(value, {
|
|
2024
|
+
get: this.ArrayProxyGetter
|
|
2025
|
+
});
|
|
2026
|
+
}
|
|
2027
|
+
CreateProxy(value) {
|
|
2028
|
+
const type = TypeOf(value);
|
|
2029
|
+
switch (type) {
|
|
2030
|
+
case Type.Object:
|
|
2031
|
+
return this.CreateObjectProxy(value);
|
|
2032
|
+
case Type.Array:
|
|
2033
|
+
return this.CreateArrayProxy(value);
|
|
2034
|
+
default:
|
|
2035
|
+
return value;
|
|
2036
|
+
}
|
|
2037
|
+
}
|
|
2038
|
+
WritePath(path, value) {
|
|
2039
|
+
this.UpdatePathCache(path, value);
|
|
2040
|
+
const pathParts = path.split(".");
|
|
2041
|
+
if (pathParts.length === 1) {
|
|
2042
|
+
const currentValue = this.rootStateMap.get(pathParts[0]);
|
|
2043
|
+
this.rootStateMap.set(pathParts[0], value);
|
|
2044
|
+
return currentValue === undefined ? this.undefinedScope : this.scopeCache.get(currentValue);
|
|
2045
|
+
}
|
|
2046
|
+
let parentValue;
|
|
2047
|
+
let x = 0;
|
|
2048
|
+
for (; x < pathParts.length - 1 && (x === 0 || parentValue); x++) {
|
|
2049
|
+
if (x === 0)
|
|
2050
|
+
parentValue = this.rootStateMap.get(pathParts[x]);
|
|
2051
|
+
else
|
|
2052
|
+
parentValue = parentValue && parentValue[pathParts[x]];
|
|
2053
|
+
}
|
|
2054
|
+
if (!parentValue)
|
|
2055
|
+
throw new Error("Unable to write path: " + path + ". Falsey value found at: " + pathParts.slice(0, x).join("."));
|
|
2056
|
+
const prop = pathParts[x];
|
|
2057
|
+
const exists = Object.hasOwn(parentValue, prop);
|
|
2058
|
+
parentValue[prop] = value;
|
|
2059
|
+
const leafScopes = exists && this.leafScopeCache.get(parentValue);
|
|
2060
|
+
return leafScopes && leafScopes[prop] || this.scopeCache.get(parentValue);
|
|
2061
|
+
}
|
|
2062
|
+
UpdatePathCache(path, value) {
|
|
2063
|
+
const type = TypeOf(value);
|
|
2064
|
+
if (type === Type.Value)
|
|
2065
|
+
return;
|
|
2066
|
+
this.pathCache.set(value, path);
|
|
2067
|
+
const keys = Object.keys(value);
|
|
2068
|
+
for (let x = 0; x < keys.length; x++)
|
|
2069
|
+
this.UpdatePathCache(`${path}.${keys[x]}`, value[keys[x]]);
|
|
2070
|
+
return value;
|
|
2330
2071
|
}
|
|
2331
2072
|
}
|
|
2332
2073
|
exports.ObservableTree = ObservableTree;
|
|
@@ -2338,20 +2079,19 @@ exports.ObservableTree = ObservableTree;
|
|
|
2338
2079
|
/*!****************************!*\
|
|
2339
2080
|
!*** ./src/Store/index.ts ***!
|
|
2340
2081
|
\****************************/
|
|
2341
|
-
|
|
2342
|
-
/***/ (function(module, exports, __webpack_require__) {
|
|
2082
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
2343
2083
|
|
|
2344
|
-
"use strict";
|
|
2345
2084
|
|
|
2346
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2085
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
2086
|
+
exports.ObservableScope = exports.StoreAsync = exports.StoreSync = exports.Store = void 0;
|
|
2347
2087
|
var store_1 = __webpack_require__(/*! ./Store/store */ "./src/Store/Store/store.ts");
|
|
2348
|
-
exports
|
|
2088
|
+
Object.defineProperty(exports, "Store", ({ enumerable: true, get: function () { return store_1.Store; } }));
|
|
2349
2089
|
var storeSync_1 = __webpack_require__(/*! ./Store/storeSync */ "./src/Store/Store/storeSync.ts");
|
|
2350
|
-
exports
|
|
2090
|
+
Object.defineProperty(exports, "StoreSync", ({ enumerable: true, get: function () { return storeSync_1.StoreSync; } }));
|
|
2351
2091
|
var storeAsync_1 = __webpack_require__(/*! ./Store/storeAsync */ "./src/Store/Store/storeAsync.ts");
|
|
2352
|
-
exports
|
|
2092
|
+
Object.defineProperty(exports, "StoreAsync", ({ enumerable: true, get: function () { return storeAsync_1.StoreAsync; } }));
|
|
2353
2093
|
var observableScope_1 = __webpack_require__(/*! ./Tree/observableScope */ "./src/Store/Tree/observableScope.ts");
|
|
2354
|
-
exports
|
|
2094
|
+
Object.defineProperty(exports, "ObservableScope", ({ enumerable: true, get: function () { return observableScope_1.ObservableScope; } }));
|
|
2355
2095
|
|
|
2356
2096
|
|
|
2357
2097
|
/***/ }),
|
|
@@ -2360,12 +2100,11 @@ exports.ObservableScope = observableScope_1.ObservableScope;
|
|
|
2360
2100
|
/*!********************************!*\
|
|
2361
2101
|
!*** ./src/Utils/animation.ts ***!
|
|
2362
2102
|
\********************************/
|
|
2363
|
-
|
|
2364
|
-
/***/ (function(module, exports, __webpack_require__) {
|
|
2103
|
+
/***/ ((__unused_webpack_module, exports) => {
|
|
2365
2104
|
|
|
2366
|
-
"use strict";
|
|
2367
2105
|
|
|
2368
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2106
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
2107
|
+
exports.Animation = exports.AnimationType = void 0;
|
|
2369
2108
|
var StepFunctions;
|
|
2370
2109
|
(function (StepFunctions) {
|
|
2371
2110
|
function* EaseIn(count) {
|
|
@@ -2387,6 +2126,27 @@ var AnimationType;
|
|
|
2387
2126
|
AnimationType[AnimationType["EaseIn"] = 1] = "EaseIn";
|
|
2388
2127
|
})(AnimationType = exports.AnimationType || (exports.AnimationType = {}));
|
|
2389
2128
|
class Animation {
|
|
2129
|
+
type;
|
|
2130
|
+
frameCount;
|
|
2131
|
+
frameTimings;
|
|
2132
|
+
update;
|
|
2133
|
+
animationTimeouts;
|
|
2134
|
+
running;
|
|
2135
|
+
start;
|
|
2136
|
+
end;
|
|
2137
|
+
enabled;
|
|
2138
|
+
get Running() {
|
|
2139
|
+
return this.running;
|
|
2140
|
+
}
|
|
2141
|
+
get Start() {
|
|
2142
|
+
return this.start;
|
|
2143
|
+
}
|
|
2144
|
+
get End() {
|
|
2145
|
+
return this.end;
|
|
2146
|
+
}
|
|
2147
|
+
get Enabled() {
|
|
2148
|
+
return this.enabled;
|
|
2149
|
+
}
|
|
2390
2150
|
constructor(type, duration, update) {
|
|
2391
2151
|
this.running = false;
|
|
2392
2152
|
this.start = null;
|
|
@@ -2401,18 +2161,6 @@ class Animation {
|
|
|
2401
2161
|
this.update = update;
|
|
2402
2162
|
this.animationTimeouts = [];
|
|
2403
2163
|
}
|
|
2404
|
-
get Running() {
|
|
2405
|
-
return this.running;
|
|
2406
|
-
}
|
|
2407
|
-
get Start() {
|
|
2408
|
-
return this.start;
|
|
2409
|
-
}
|
|
2410
|
-
get End() {
|
|
2411
|
-
return this.end;
|
|
2412
|
-
}
|
|
2413
|
-
get Enabled() {
|
|
2414
|
-
return this.enabled;
|
|
2415
|
-
}
|
|
2416
2164
|
Animate(start, end) {
|
|
2417
2165
|
if (!this.enabled)
|
|
2418
2166
|
return;
|
|
@@ -2470,18 +2218,15 @@ exports.Animation = Animation;
|
|
|
2470
2218
|
/*!*********************************!*\
|
|
2471
2219
|
!*** ./src/Utils/asyncQueue.ts ***!
|
|
2472
2220
|
\*********************************/
|
|
2473
|
-
|
|
2474
|
-
/***/ (function(module, exports, __webpack_require__) {
|
|
2221
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
2475
2222
|
|
|
2476
|
-
"use strict";
|
|
2477
2223
|
|
|
2478
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2224
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
2225
|
+
exports.AsyncQueue = void 0;
|
|
2479
2226
|
const list_1 = __webpack_require__(/*! ./list */ "./src/Utils/list.ts");
|
|
2480
2227
|
class AsyncQueue {
|
|
2481
|
-
|
|
2482
|
-
|
|
2483
|
-
this.queue = list_1.List.Create();
|
|
2484
|
-
}
|
|
2228
|
+
running = false;
|
|
2229
|
+
queue = list_1.List.Create();
|
|
2485
2230
|
Next(callback) {
|
|
2486
2231
|
const ret = new Promise((resolve, reject) => {
|
|
2487
2232
|
list_1.List.Add(this.queue, async function () {
|
|
@@ -2525,12 +2270,11 @@ exports.AsyncQueue = AsyncQueue;
|
|
|
2525
2270
|
/*!*********************************!*\
|
|
2526
2271
|
!*** ./src/Utils/decorators.ts ***!
|
|
2527
2272
|
\*********************************/
|
|
2528
|
-
|
|
2529
|
-
/***/ (function(module, exports, __webpack_require__) {
|
|
2273
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
2530
2274
|
|
|
2531
|
-
"use strict";
|
|
2532
2275
|
|
|
2533
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2276
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
2277
|
+
exports.PreReq = exports.PreReqTemplate = exports.Destroy = exports.Inject = exports.ComputedAsync = exports.Computed = exports.DestroyScope = exports.Scope = exports.StateAsync = exports.StateSync = exports.State = void 0;
|
|
2534
2278
|
const store_1 = __webpack_require__(/*! ../Store/Store/store */ "./src/Store/Store/store.ts");
|
|
2535
2279
|
const Store_1 = __webpack_require__(/*! ../Store */ "./src/Store/index.ts");
|
|
2536
2280
|
const observableScope_1 = __webpack_require__(/*! ../Store/Tree/observableScope */ "./src/Store/Tree/observableScope.ts");
|
|
@@ -2836,12 +2580,11 @@ function PreReqDecorator(target, propertyKey) {
|
|
|
2836
2580
|
/*!******************************!*\
|
|
2837
2581
|
!*** ./src/Utils/emitter.ts ***!
|
|
2838
2582
|
\******************************/
|
|
2839
|
-
|
|
2840
|
-
/***/ (function(module, exports, __webpack_require__) {
|
|
2583
|
+
/***/ ((__unused_webpack_module, exports) => {
|
|
2841
2584
|
|
|
2842
|
-
"use strict";
|
|
2843
2585
|
|
|
2844
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2586
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
2587
|
+
exports.Emitter = void 0;
|
|
2845
2588
|
var Emitter;
|
|
2846
2589
|
(function (Emitter) {
|
|
2847
2590
|
function Create() {
|
|
@@ -2871,17 +2614,26 @@ var Emitter;
|
|
|
2871
2614
|
/*!****************************!*\
|
|
2872
2615
|
!*** ./src/Utils/index.ts ***!
|
|
2873
2616
|
\****************************/
|
|
2874
|
-
|
|
2875
|
-
/***/ (function(module, exports, __webpack_require__) {
|
|
2617
|
+
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
2876
2618
|
|
|
2877
|
-
"use strict";
|
|
2878
2619
|
|
|
2879
|
-
function
|
|
2880
|
-
|
|
2881
|
-
|
|
2882
|
-
|
|
2883
|
-
|
|
2884
|
-
|
|
2620
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
2621
|
+
if (k2 === undefined) k2 = k;
|
|
2622
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
2623
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
2624
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
2625
|
+
}
|
|
2626
|
+
Object.defineProperty(o, k2, desc);
|
|
2627
|
+
}) : (function(o, m, k, k2) {
|
|
2628
|
+
if (k2 === undefined) k2 = k;
|
|
2629
|
+
o[k2] = m[k];
|
|
2630
|
+
}));
|
|
2631
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
2632
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
2633
|
+
};
|
|
2634
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
2635
|
+
__exportStar(__webpack_require__(/*! ./decorators */ "./src/Utils/decorators.ts"), exports);
|
|
2636
|
+
__exportStar(__webpack_require__(/*! ./animation */ "./src/Utils/animation.ts"), exports);
|
|
2885
2637
|
|
|
2886
2638
|
|
|
2887
2639
|
/***/ }),
|
|
@@ -2890,13 +2642,14 @@ __export(__webpack_require__(/*! ./animation */ "./src/Utils/animation.ts"));
|
|
|
2890
2642
|
/*!*******************************!*\
|
|
2891
2643
|
!*** ./src/Utils/injector.ts ***!
|
|
2892
2644
|
\*******************************/
|
|
2893
|
-
|
|
2894
|
-
/***/ (function(module, exports, __webpack_require__) {
|
|
2645
|
+
/***/ ((__unused_webpack_module, exports) => {
|
|
2895
2646
|
|
|
2896
|
-
"use strict";
|
|
2897
2647
|
|
|
2898
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2648
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
2649
|
+
exports.Injector = void 0;
|
|
2899
2650
|
class Injector {
|
|
2651
|
+
parent;
|
|
2652
|
+
typeMap;
|
|
2900
2653
|
constructor() {
|
|
2901
2654
|
this.parent = Injector.Current();
|
|
2902
2655
|
this.typeMap = new Map();
|
|
@@ -2936,12 +2689,11 @@ exports.Injector = Injector;
|
|
|
2936
2689
|
/*!***************************!*\
|
|
2937
2690
|
!*** ./src/Utils/list.ts ***!
|
|
2938
2691
|
\***************************/
|
|
2939
|
-
|
|
2940
|
-
/***/ (function(module, exports, __webpack_require__) {
|
|
2692
|
+
/***/ ((__unused_webpack_module, exports) => {
|
|
2941
2693
|
|
|
2942
|
-
"use strict";
|
|
2943
2694
|
|
|
2944
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2695
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
2696
|
+
exports.List = void 0;
|
|
2945
2697
|
var List;
|
|
2946
2698
|
(function (List) {
|
|
2947
2699
|
function Create() {
|
|
@@ -3067,12 +2819,11 @@ var List;
|
|
|
3067
2819
|
/*!*****************************!*\
|
|
3068
2820
|
!*** ./src/Utils/thread.ts ***!
|
|
3069
2821
|
\*****************************/
|
|
3070
|
-
|
|
3071
|
-
/***/ (function(module, exports, __webpack_require__) {
|
|
2822
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
3072
2823
|
|
|
3073
|
-
"use strict";
|
|
3074
2824
|
|
|
3075
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2825
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
2826
|
+
exports.ThreadAsync = exports.Thread = exports.Synch = exports.Callback = exports.After = exports.Schedule = void 0;
|
|
3076
2827
|
const list_1 = __webpack_require__(/*! ./list */ "./src/Utils/list.ts");
|
|
3077
2828
|
const workTimeMs = 16;
|
|
3078
2829
|
const contextQueue = list_1.List.Create();
|
|
@@ -3186,14 +2937,13 @@ exports.ThreadAsync = ThreadAsync;
|
|
|
3186
2937
|
/*!**********************!*\
|
|
3187
2938
|
!*** ./src/index.ts ***!
|
|
3188
2939
|
\**********************/
|
|
3189
|
-
|
|
3190
|
-
/***/ (function(module, exports, __webpack_require__) {
|
|
2940
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
3191
2941
|
|
|
3192
|
-
"use strict";
|
|
3193
2942
|
|
|
3194
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2943
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
2944
|
+
exports.Component = void 0;
|
|
3195
2945
|
var component_1 = __webpack_require__(/*! ./Node/component */ "./src/Node/component.ts");
|
|
3196
|
-
exports
|
|
2946
|
+
Object.defineProperty(exports, "Component", ({ enumerable: true, get: function () { return component_1.Component; } }));
|
|
3197
2947
|
|
|
3198
2948
|
|
|
3199
2949
|
/***/ }),
|
|
@@ -3202,42 +2952,78 @@ exports.Component = component_1.Component;
|
|
|
3202
2952
|
/*!***************************!*\
|
|
3203
2953
|
!*** ./src/web.export.ts ***!
|
|
3204
2954
|
\***************************/
|
|
3205
|
-
|
|
3206
|
-
/***/ (function(module, exports, __webpack_require__) {
|
|
2955
|
+
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
3207
2956
|
|
|
3208
|
-
"use strict";
|
|
3209
2957
|
|
|
3210
|
-
function
|
|
3211
|
-
|
|
3212
|
-
|
|
3213
|
-
|
|
3214
|
-
|
|
3215
|
-
|
|
2958
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
2959
|
+
if (k2 === undefined) k2 = k;
|
|
2960
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
2961
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
2962
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
2963
|
+
}
|
|
2964
|
+
Object.defineProperty(o, k2, desc);
|
|
2965
|
+
}) : (function(o, m, k, k2) {
|
|
2966
|
+
if (k2 === undefined) k2 = k;
|
|
2967
|
+
o[k2] = m[k];
|
|
2968
|
+
}));
|
|
2969
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
2970
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
2971
|
+
};
|
|
2972
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
2973
|
+
exports.StoreAsync = exports.Store = exports.ObservableScope = void 0;
|
|
2974
|
+
__exportStar(__webpack_require__(/*! ./index */ "./src/index.ts"), exports);
|
|
2975
|
+
__exportStar(__webpack_require__(/*! ./Utils */ "./src/Utils/index.ts"), exports);
|
|
3216
2976
|
var Store_1 = __webpack_require__(/*! ./Store */ "./src/Store/index.ts");
|
|
3217
|
-
exports
|
|
3218
|
-
exports
|
|
3219
|
-
exports
|
|
3220
|
-
|
|
2977
|
+
Object.defineProperty(exports, "ObservableScope", ({ enumerable: true, get: function () { return Store_1.ObservableScope; } }));
|
|
2978
|
+
Object.defineProperty(exports, "Store", ({ enumerable: true, get: function () { return Store_1.Store; } }));
|
|
2979
|
+
Object.defineProperty(exports, "StoreAsync", ({ enumerable: true, get: function () { return Store_1.StoreAsync; } }));
|
|
2980
|
+
__exportStar(__webpack_require__(/*! ./DOM */ "./src/DOM/index.ts"), exports);
|
|
3221
2981
|
|
|
3222
2982
|
|
|
3223
|
-
/***/ })
|
|
2983
|
+
/***/ })
|
|
3224
2984
|
|
|
3225
|
-
|
|
2985
|
+
/******/ });
|
|
2986
|
+
/************************************************************************/
|
|
2987
|
+
/******/ // The module cache
|
|
2988
|
+
/******/ var __webpack_module_cache__ = {};
|
|
2989
|
+
/******/
|
|
2990
|
+
/******/ // The require function
|
|
2991
|
+
/******/ function __webpack_require__(moduleId) {
|
|
2992
|
+
/******/ // Check if module is in cache
|
|
2993
|
+
/******/ var cachedModule = __webpack_module_cache__[moduleId];
|
|
2994
|
+
/******/ if (cachedModule !== undefined) {
|
|
2995
|
+
/******/ return cachedModule.exports;
|
|
2996
|
+
/******/ }
|
|
2997
|
+
/******/ // Create a new module (and put it into the cache)
|
|
2998
|
+
/******/ var module = __webpack_module_cache__[moduleId] = {
|
|
2999
|
+
/******/ // no module.id needed
|
|
3000
|
+
/******/ // no module.loaded needed
|
|
3001
|
+
/******/ exports: {}
|
|
3002
|
+
/******/ };
|
|
3003
|
+
/******/
|
|
3004
|
+
/******/ // Execute the module function
|
|
3005
|
+
/******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);
|
|
3006
|
+
/******/
|
|
3007
|
+
/******/ // Return the exports of the module
|
|
3008
|
+
/******/ return module.exports;
|
|
3009
|
+
/******/ }
|
|
3010
|
+
/******/
|
|
3011
|
+
/************************************************************************/
|
|
3012
|
+
var __webpack_exports__ = {};
|
|
3013
|
+
// This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk.
|
|
3014
|
+
(() => {
|
|
3015
|
+
var exports = __webpack_exports__;
|
|
3226
3016
|
/*!********************!*\
|
|
3227
3017
|
!*** ./src/web.ts ***!
|
|
3228
3018
|
\********************/
|
|
3229
|
-
/*! no static exports found */
|
|
3230
|
-
/***/ (function(module, exports, __webpack_require__) {
|
|
3231
|
-
|
|
3232
|
-
"use strict";
|
|
3233
3019
|
|
|
3234
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3020
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
3235
3021
|
const Web = __webpack_require__(/*! ./web.export */ "./src/web.export.ts");
|
|
3236
3022
|
for (var key in Web)
|
|
3237
3023
|
window[key] = Web[key];
|
|
3238
3024
|
|
|
3025
|
+
})();
|
|
3239
3026
|
|
|
3240
|
-
|
|
3241
|
-
|
|
3242
|
-
/******/ });
|
|
3027
|
+
/******/ })()
|
|
3028
|
+
;
|
|
3243
3029
|
//# sourceMappingURL=jTemplates.js.map
|