@byteluck-fe/model-driven-engine 2.5.0-alpha.6 → 2.5.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/dist/esm/common/ActionManager.js +63 -98
  2. package/dist/esm/common/DataManager.js +34 -75
  3. package/dist/esm/common/Engine.js +931 -1100
  4. package/dist/esm/common/OkWorker.js +74 -119
  5. package/dist/esm/common/Runtime.js +21 -38
  6. package/dist/esm/common/Store.js +141 -152
  7. package/dist/esm/common/checkerValue.js +241 -316
  8. package/dist/esm/plugins/CalcPlugin.js +309 -389
  9. package/dist/esm/plugins/ControlsEventPlugin.js +130 -169
  10. package/dist/esm/plugins/ES6ModulePlugin.js +31 -65
  11. package/dist/esm/plugins/LifecycleEventPlugin.js +83 -119
  12. package/dist/esm/plugins/StylePlugin.js +13 -46
  13. package/dist/index.umd.js +8 -8
  14. package/dist/types/common/ActionManager.d.ts +14 -14
  15. package/dist/types/common/DataManager.d.ts +10 -10
  16. package/dist/types/common/Engine.d.ts +180 -180
  17. package/dist/types/common/OkWorker.d.ts +13 -13
  18. package/dist/types/common/Plugin.d.ts +6 -6
  19. package/dist/types/common/Runtime.d.ts +25 -25
  20. package/dist/types/common/Store.d.ts +50 -49
  21. package/dist/types/common/checkerValue.d.ts +3 -3
  22. package/dist/types/common/index.d.ts +2 -2
  23. package/dist/types/common/proxyState.d.ts +30 -30
  24. package/dist/types/index.d.ts +3 -3
  25. package/dist/types/plugins/CalcPlugin.d.ts +121 -121
  26. package/dist/types/plugins/ControlsEventPlugin.d.ts +15 -15
  27. package/dist/types/plugins/ES6ModulePlugin.d.ts +26 -26
  28. package/dist/types/plugins/LifecycleEventPlugin.d.ts +14 -14
  29. package/dist/types/plugins/StylePlugin.d.ts +12 -12
  30. package/dist/types/plugins/index.d.ts +5 -5
  31. package/dist/types/utils/index.d.ts +1 -1
  32. package/dist/types/utils/runtimeUtils.d.ts +5 -5
  33. package/package.json +3 -3
@@ -3,132 +3,87 @@ function _classCallCheck(instance, Constructor) {
3
3
  throw new TypeError("Cannot call a class as a function");
4
4
  }
5
5
  }
6
- function _defineProperties(target, props) {
7
- for(var i = 0; i < props.length; i++){
8
- var descriptor = props[i];
9
- descriptor.enumerable = descriptor.enumerable || false;
10
- descriptor.configurable = true;
11
- if ("value" in descriptor) descriptor.writable = true;
12
- Object.defineProperty(target, descriptor.key, descriptor);
13
- }
14
- }
15
- function _createClass(Constructor, protoProps, staticProps) {
16
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
17
- if (staticProps) _defineProperties(Constructor, staticProps);
18
- return Constructor;
19
- }
20
- function _defineProperty(obj, key, value) {
21
- if (key in obj) {
22
- Object.defineProperty(obj, key, {
23
- value: value,
24
- enumerable: true,
25
- configurable: true,
26
- writable: true
27
- });
28
- } else {
29
- obj[key] = value;
30
- }
31
- return obj;
32
- }
33
6
  import { log } from "@byteluck-fe/model-driven-shared";
34
7
  var OkWorker = /*#__PURE__*/ function() {
35
8
  "use strict";
36
9
  function OkWorker() {
37
10
  _classCallCheck(this, OkWorker);
38
- _defineProperty(this, "worker", void 0);
39
11
  }
40
- _createClass(OkWorker, [
41
- {
42
- key: "run",
43
- value: function run(initState) {
44
- this.worker = OkWorker.createWorker();
45
- this.postMessage({
46
- action: "init",
47
- payload: initState
48
- });
49
- }
50
- },
51
- {
52
- key: "destroy",
53
- value: function destroy() {
54
- var _this_worker;
55
- (_this_worker = this.worker) === null || _this_worker === void 0 ? void 0 : _this_worker.terminate();
56
- }
57
- },
58
- {
59
- key: "postMessage",
60
- value: function postMessage(message) {
61
- var _this_worker;
62
- (_this_worker = this.worker) === null || _this_worker === void 0 ? void 0 : _this_worker.postMessage(message);
63
- }
64
- }
65
- ], [
66
- {
67
- key: "createWorker",
68
- value: function createWorker() {
69
- var blob = new Blob([
70
- "(".concat(OkWorker.createWorkerFunction().toString(), ")()")
71
- ]);
72
- var url = window.URL.createObjectURL(blob);
73
- return new Worker(url);
74
- }
75
- },
76
- {
77
- key: "createWorkerFunction",
78
- value: function createWorkerFunction() {
79
- return function() {
80
- var createHandler = function createHandler(parentKey) {
81
- return {
82
- get: function get(target, key, value) {
83
- return Reflect.get(target, key, value);
84
- },
85
- set: function set(target, key, value) {
86
- if (parentKey) {
87
- _self.postMessage({
88
- action: "update",
89
- key: "".concat(parentKey, ".").concat(key)
90
- });
91
- }
92
- return Reflect.set(target, key, value);
93
- }
94
- };
95
- };
96
- log("‍\uD83D\uDE80 worker running");
97
- var _self = self;
98
- // function createProxy(
99
- // obj: Record<string, unknown> | Array<Record<string, unknown>>,
100
- // parentKey?: string
101
- // ) {
102
- // for (const key in obj) {
103
- // if (Array.isArray(obj[key])) {
104
- //
105
- // }
106
- // }
107
- // return new Proxy(obj, createHandler(parentKey))
108
- // }
109
- _self.addEventListener("message", function(event) {
110
- var _event_data = event.data, action = _event_data.action, payload = _event_data.payload, fn = _event_data.fn;
111
- log(action, payload);
112
- // 通过proxy进行代理,每次修改的时候,自动向外抛出postMessage
113
- // data.key1 = 1
114
- //
115
- // data.key2.amount = 1
116
- //
117
- // data.key3[0].key1 = 2
118
- //
119
- // const result = fn(data, schema)
120
- _self.postMessage({
121
- action: "delete",
122
- payload: {
123
- key: "key3[0].key1",
124
- value: "index"
125
- }
126
- });
127
- });
12
+ var _proto = OkWorker.prototype;
13
+ _proto.run = function run(initState) {
14
+ this.worker = OkWorker.createWorker();
15
+ this.postMessage({
16
+ action: "init",
17
+ payload: initState
18
+ });
19
+ };
20
+ _proto.destroy = function destroy() {
21
+ var _this_worker;
22
+ (_this_worker = this.worker) === null || _this_worker === void 0 ? void 0 : _this_worker.terminate();
23
+ };
24
+ _proto.postMessage = function postMessage(message) {
25
+ var _this_worker;
26
+ (_this_worker = this.worker) === null || _this_worker === void 0 ? void 0 : _this_worker.postMessage(message);
27
+ };
28
+ OkWorker.createWorker = function createWorker() {
29
+ var blob = new Blob([
30
+ "(".concat(OkWorker.createWorkerFunction().toString(), ")()")
31
+ ]);
32
+ var url = window.URL.createObjectURL(blob);
33
+ return new Worker(url);
34
+ };
35
+ OkWorker.createWorkerFunction = function createWorkerFunction() {
36
+ return function() {
37
+ var createHandler = function createHandler(parentKey) {
38
+ return {
39
+ get: function get(target, key, value) {
40
+ return Reflect.get(target, key, value);
41
+ },
42
+ set: function set(target, key, value) {
43
+ if (parentKey) {
44
+ _self.postMessage({
45
+ action: "update",
46
+ key: "".concat(parentKey, ".").concat(key)
47
+ });
48
+ }
49
+ return Reflect.set(target, key, value);
50
+ }
128
51
  };
129
- }
130
- }
131
- ]);
52
+ };
53
+ log("‍\uD83D\uDE80 worker running");
54
+ var _self = self;
55
+ // function createProxy(
56
+ // obj: Record<string, unknown> | Array<Record<string, unknown>>,
57
+ // parentKey?: string
58
+ // ) {
59
+ // for (const key in obj) {
60
+ // if (Array.isArray(obj[key])) {
61
+ //
62
+ // }
63
+ // }
64
+ // return new Proxy(obj, createHandler(parentKey))
65
+ // }
66
+ _self.addEventListener("message", function(event) {
67
+ var _event_data = event.data, action = _event_data.action, payload = _event_data.payload, fn = _event_data.fn;
68
+ log(action, payload);
69
+ // 通过proxy进行代理,每次修改的时候,自动向外抛出postMessage
70
+ // data.key1 = 1
71
+ //
72
+ // data.key2.amount = 1
73
+ //
74
+ // data.key3[0].key1 = 2
75
+ //
76
+ // const result = fn(data, schema)
77
+ _self.postMessage({
78
+ action: "delete",
79
+ payload: {
80
+ key: "key3[0].key1",
81
+ value: "index"
82
+ }
83
+ });
84
+ });
85
+ };
86
+ };
132
87
  return OkWorker;
133
88
  }();
134
89
  export { OkWorker };
@@ -23,19 +23,6 @@ function _createClass(Constructor, protoProps, staticProps) {
23
23
  if (staticProps) _defineProperties(Constructor, staticProps);
24
24
  return Constructor;
25
25
  }
26
- function _defineProperty(obj, key, value) {
27
- if (key in obj) {
28
- Object.defineProperty(obj, key, {
29
- value: value,
30
- enumerable: true,
31
- configurable: true,
32
- writable: true
33
- });
34
- } else {
35
- obj[key] = value;
36
- }
37
- return obj;
38
- }
39
26
  function _getPrototypeOf(o) {
40
27
  _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
41
28
  return o.__proto__ || Object.getPrototypeOf(o);
@@ -107,38 +94,34 @@ export var Runtime = /*#__PURE__*/ function(RegisterControls) {
107
94
  _classCallCheck(this, Runtime);
108
95
  var _this;
109
96
  _this = _super.call(this, "Runtime");
110
- _defineProperty(_assertThisInitialized(_this), "_schema", void 0);
111
- _defineProperty(_assertThisInitialized(_this), "_instance", void 0);
112
- _defineProperty(_assertThisInitialized(_this), "_flatInstances", []);
113
- _defineProperty(_assertThisInitialized(_this), "_instanceMap", {});
97
+ _this._flatInstances = [];
98
+ _this._instanceMap = {};
114
99
  var schema = props.schema;
115
100
  _this._schema = schema;
116
101
  _this._instance = _this.createControl(schema, props.beforeCreateInstance);
117
102
  _this.getFlatInstances();
118
103
  return _this;
119
104
  }
120
- _createClass(Runtime, [
121
- {
122
- key: "getFlatInstances",
123
- value: function getFlatInstances() {
124
- var instances = [];
125
- var instanceMap = {};
126
- loop(this._instance, function(item) {
127
- // 3.4.1 避免将subtable-row 放到 _flatInstances 中
128
- if (item.type === "subtable-row" || item.type === "subtable-column") {
129
- return;
130
- }
131
- instances.push(item);
132
- if (!instanceMap[item.id]) {
133
- instanceMap[item.id] = [];
134
- }
135
- instanceMap[item.id].push(item);
136
- });
137
- this._flatInstances = instances;
138
- this._instanceMap = instanceMap;
139
- return this._flatInstances;
105
+ var _proto = Runtime.prototype;
106
+ _proto.getFlatInstances = function getFlatInstances() {
107
+ var instances = [];
108
+ var instanceMap = {};
109
+ loop(this._instance, function(item) {
110
+ // 3.4.1 避免将subtable-row 放到 _flatInstances 中
111
+ if (item.type === "subtable-row" || item.type === "subtable-column") {
112
+ return;
140
113
  }
141
- },
114
+ instances.push(item);
115
+ if (!instanceMap[item.id]) {
116
+ instanceMap[item.id] = [];
117
+ }
118
+ instanceMap[item.id].push(item);
119
+ });
120
+ this._flatInstances = instances;
121
+ this._instanceMap = instanceMap;
122
+ return this._flatInstances;
123
+ };
124
+ _createClass(Runtime, [
142
125
  {
143
126
  key: "schema",
144
127
  get: function get() {