@mybricks/to-code-taro 1.1.8 → 1.2.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 (64) hide show
  1. package/dist/cjs/generate/generateTaroProjectJson.js +11 -11
  2. package/dist/cjs/handleModule.js +1 -1
  3. package/dist/cjs/index.js +1 -0
  4. package/dist/cjs/taro-template.json +6 -6008
  5. package/dist/cjs/utils/logic/handleProcess.js +1 -1
  6. package/dist/esm/generate/generateTaroProjectJson.js +12 -12
  7. package/dist/esm/handleModule.js +1 -1
  8. package/dist/esm/index.js +2 -1
  9. package/dist/esm/taro-template.json +6 -6008
  10. package/dist/esm/utils/logic/handleProcess.js +1 -1
  11. package/package.json +2 -9
  12. package/README.md +0 -58
  13. package/dist/cjs/core/mybricks/MyBricksDescriptor.js +0 -213
  14. package/dist/cjs/core/mybricks/Subject.js +0 -119
  15. package/dist/cjs/core/mybricks/constant.js +0 -70
  16. package/dist/cjs/core/mybricks/context.js +0 -33
  17. package/dist/cjs/core/mybricks/createEnv.js +0 -39
  18. package/dist/cjs/core/mybricks/createJSHandle.js +0 -191
  19. package/dist/cjs/core/mybricks/createModuleEventsHandle.js +0 -49
  20. package/dist/cjs/core/mybricks/createReactiveInputHandler.js +0 -63
  21. package/dist/cjs/core/mybricks/event.js +0 -70
  22. package/dist/cjs/core/mybricks/index.js +0 -871
  23. package/dist/cjs/core/mybricks/log.js +0 -37
  24. package/dist/cjs/core/mybricks/utils.js +0 -69
  25. package/dist/cjs/core/mybricks/variables.js +0 -217
  26. package/dist/cjs/core/utils/ComContext.js +0 -51
  27. package/dist/cjs/core/utils/PopupRenderer.js +0 -63
  28. package/dist/cjs/core/utils/comRefResolver.js +0 -112
  29. package/dist/cjs/core/utils/event.js +0 -53
  30. package/dist/cjs/core/utils/hooks.js +0 -238
  31. package/dist/cjs/core/utils/index.js +0 -77
  32. package/dist/cjs/core/utils/pageRouter.js +0 -104
  33. package/dist/cjs/core/utils/pool.js +0 -63
  34. package/dist/cjs/core/utils/popupRouter.js +0 -98
  35. package/dist/cjs/core/utils/slots.js +0 -183
  36. package/dist/cjs/core/utils/tabbar.js +0 -56
  37. package/dist/cjs/core/utils/useContext.js +0 -112
  38. package/dist/cjs/core/utils/with.js +0 -109
  39. package/dist/esm/core/mybricks/MyBricksDescriptor.js +0 -232
  40. package/dist/esm/core/mybricks/Subject.js +0 -149
  41. package/dist/esm/core/mybricks/constant.js +0 -18
  42. package/dist/esm/core/mybricks/context.js +0 -5
  43. package/dist/esm/core/mybricks/createEnv.js +0 -9
  44. package/dist/esm/core/mybricks/createJSHandle.js +0 -189
  45. package/dist/esm/core/mybricks/createModuleEventsHandle.js +0 -26
  46. package/dist/esm/core/mybricks/createReactiveInputHandler.js +0 -40
  47. package/dist/esm/core/mybricks/event.js +0 -44
  48. package/dist/esm/core/mybricks/index.js +0 -952
  49. package/dist/esm/core/mybricks/log.js +0 -8
  50. package/dist/esm/core/mybricks/utils.js +0 -41
  51. package/dist/esm/core/mybricks/variables.js +0 -190
  52. package/dist/esm/core/utils/ComContext.js +0 -16
  53. package/dist/esm/core/utils/PopupRenderer.js +0 -27
  54. package/dist/esm/core/utils/comRefResolver.js +0 -134
  55. package/dist/esm/core/utils/event.js +0 -32
  56. package/dist/esm/core/utils/hooks.js +0 -287
  57. package/dist/esm/core/utils/index.js +0 -12
  58. package/dist/esm/core/utils/pageRouter.js +0 -112
  59. package/dist/esm/core/utils/pool.js +0 -52
  60. package/dist/esm/core/utils/popupRouter.js +0 -117
  61. package/dist/esm/core/utils/slots.js +0 -194
  62. package/dist/esm/core/utils/tabbar.js +0 -47
  63. package/dist/esm/core/utils/useContext.js +0 -100
  64. package/dist/esm/core/utils/with.js +0 -115
@@ -1,149 +0,0 @@
1
- import _possibleConstructorReturn from "@babel/runtime/helpers/esm/possibleConstructorReturn";
2
- import _assertThisInitialized from "@babel/runtime/helpers/esm/assertThisInitialized";
3
- import _inherits from "@babel/runtime/helpers/esm/inherits";
4
- import _createSuper from "@babel/runtime/helpers/esm/createSuper";
5
- import _createForOfIteratorHelper from "@babel/runtime/helpers/esm/createForOfIteratorHelper";
6
- import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
7
- import _createClass from "@babel/runtime/helpers/esm/createClass";
8
- import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
9
- import { log } from "./log";
10
- import { SUBJECT_NEXT, SUBJECT_VALUE, SUBJECT_EMPTY, SUBJECT_SETVALUE, SUBJECT_SUBSCRIBE, SUBJECT_UNSUBSCRIBE } from "./constant";
11
-
12
- /** 数据流 */
13
- export var Subject = /*#__PURE__*/function () {
14
- function Subject() {
15
- var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
16
- _classCallCheck(this, Subject);
17
- _defineProperty(this, "_values", []);
18
- _defineProperty(this, "_observers", new Set());
19
- _defineProperty(this, "_log", undefined);
20
- _defineProperty(this, "_empty", true);
21
- this._log = params.log;
22
- this._subjectNextCache = {};
23
- return new Proxy(this, {
24
- get: function get(target, prop) {
25
- if (prop in target) {
26
- return target[prop];
27
- }
28
-
29
- // 缓存 SubjectNext,避免重复访问同一属性时创建新实例和新订阅
30
- if (!target._subjectNextCache[prop]) {
31
- var subjectNext = new SubjectNext(prop);
32
- target[SUBJECT_SUBSCRIBE](function (value, extra) {
33
- subjectNext[SUBJECT_NEXT](value, extra);
34
- });
35
- target._subjectNextCache[prop] = subjectNext;
36
- }
37
- return target._subjectNextCache[prop];
38
- }
39
- });
40
- }
41
- _createClass(Subject, [{
42
- key: SUBJECT_VALUE,
43
- get: function get() {
44
- return this._values[0];
45
- }
46
- }, {
47
- key: SUBJECT_EMPTY,
48
- get: function get() {
49
- return this._empty;
50
- }
51
- }, {
52
- key: SUBJECT_SETVALUE,
53
- value: function value(_value) {
54
- this._values[0] = _value;
55
- this._empty = false;
56
- }
57
- }, {
58
- key: SUBJECT_NEXT,
59
- value: function value(_value2, extra) {
60
- log(this._log, JSON.stringify(_value2));
61
- this._values[0] = _value2;
62
- this._empty = false;
63
- this._observers.forEach(function (observer) {
64
- return observer(_value2, extra);
65
- });
66
- }
67
- }, {
68
- key: SUBJECT_SUBSCRIBE,
69
- value: function value(observer) {
70
- if (this._values.length) {
71
- observer(this._values[0]);
72
- }
73
- this._observers.add(observer);
74
- }
75
- }, {
76
- key: SUBJECT_UNSUBSCRIBE,
77
- value: function value(observer) {
78
- this._observers.delete(observer);
79
- }
80
- }]);
81
- return Subject;
82
- }();
83
- function getValueNextByPath(params) {
84
- var value = params.value,
85
- path = params.path;
86
- var current = value;
87
- var _iterator = _createForOfIteratorHelper(path),
88
- _step;
89
- try {
90
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
91
- var key = _step.value;
92
- if (current === null || current === undefined) {
93
- return undefined;
94
- }
95
- current = current[key];
96
- }
97
- } catch (err) {
98
- _iterator.e(err);
99
- } finally {
100
- _iterator.f();
101
- }
102
- return current;
103
- }
104
- var SubjectNext = /*#__PURE__*/function (_Subject) {
105
- _inherits(SubjectNext, _Subject);
106
- var _super = _createSuper(SubjectNext);
107
- function SubjectNext(path) {
108
- var _this;
109
- _classCallCheck(this, SubjectNext);
110
- _this = _super.call(this);
111
- _defineProperty(_assertThisInitialized(_this), "_path", []);
112
- _this._path.push(path);
113
- return _possibleConstructorReturn(_this, new Proxy(_assertThisInitialized(_this), {
114
- get: function get(target, prop) {
115
- if (prop in target) {
116
- return target[prop];
117
- }
118
- target._path.push(prop);
119
- return target;
120
- }
121
- }));
122
- }
123
- _createClass(SubjectNext, [{
124
- key: SUBJECT_NEXT,
125
- value: function value(_value3, extra) {
126
- this._values[0] = _value3;
127
- this._empty = false;
128
- var nextValue = getValueNextByPath({
129
- value: _value3,
130
- path: this._path
131
- });
132
- this._observers.forEach(function (observer) {
133
- return observer(nextValue, extra);
134
- });
135
- }
136
- }, {
137
- key: SUBJECT_SUBSCRIBE,
138
- value: function value(observer) {
139
- if (this._values.length) {
140
- observer(getValueNextByPath({
141
- value: this._values[0],
142
- path: this._path
143
- }));
144
- }
145
- this._observers.add(observer);
146
- }
147
- }]);
148
- return SubjectNext;
149
- }(Subject);
@@ -1,18 +0,0 @@
1
- export var SUBJECT_NEXT = Symbol("SUBJECT_NEXT");
2
- export var SUBJECT_VALUE = Symbol("SUBJECT_VALUE");
3
- export var SUBJECT_SUBSCRIBE = Symbol("SUBJECT_SUBSCRIBE");
4
- export var SUBJECT_UNSUBSCRIBE = Symbol("SUBJECT_UNSUBSCRIBE");
5
- export var SUBJECT_EMPTY = Symbol("SUBJECT_EMPTY");
6
- export var SUBJECT_SETVALUE = Symbol("SUBJECT_SETVALUE");
7
- export var VARS_MARK = Symbol("VARS_MARK");
8
- export var BASECONTROLLER_MARK = Symbol("BASECONTROLLER_MARK");
9
- export var MYBRICKS_DESCRIPTOR = Symbol("MYBRICKS_DESCRIPTOR");
10
- export var EXE_TITLE_MAP = {
11
- output: "输出",
12
- input: "输入"
13
- };
14
- export var CONTROLLER_CONTEXT = Symbol("CONTROLLER_CONTEXT");
15
- export var EXCUTE_TYPE_KEY = Symbol("EXCUTE_TYPE_KEY");
16
- export var EXCUTE_TYPE_VALUE = {
17
- DATACHANGED: Symbol('DATACHANGED')
18
- };
@@ -1,5 +0,0 @@
1
- export var context = {
2
- /** [TODO] 记录API调用过程中变量的监听,调用回调后销毁 */
3
- apiRun: null,
4
- apiRunVariablesSubject: {}
5
- };
@@ -1,9 +0,0 @@
1
- import { CONTROLLER_CONTEXT } from "./constant";
2
- export var createEnv = function createEnv(params) {
3
- var _params$controller$CO;
4
- return (_params$controller$CO = params.controller[CONTROLLER_CONTEXT].appContext) === null || _params$controller$CO === void 0 ? void 0 : _params$controller$CO.env;
5
- };
6
- export var _createEnv = function _createEnv(params) {
7
- var _params$controller$CO2;
8
- return (_params$controller$CO2 = params.controller[CONTROLLER_CONTEXT].appContext) === null || _params$controller$CO2 === void 0 ? void 0 : _params$controller$CO2._env;
9
- };
@@ -1,189 +0,0 @@
1
- import { EXE_TITLE_MAP, SUBJECT_NEXT, SUBJECT_SUBSCRIBE } from "./constant";
2
- import { Subject } from "./Subject";
3
- import { log, logger } from "./log";
4
- import { createReactiveInputHandler } from "./createReactiveInputHandler";
5
-
6
- /** utils */
7
- /**
8
- * 判断是否js多输入
9
- */
10
- export var validateJsMultipleInputs = function validateJsMultipleInputs(input) {
11
- return input.match(/\./); // input.xxx 为多输入模式
12
- };
13
-
14
- // 全局缓存,用于防抖/节流等需要保持状态的组件
15
- var handleCache = new Map();
16
-
17
- /** 尝试从缓存获取 exe,命中时重置输出 Subject 状态 */
18
- var getFromCache = function getFromCache(handleKey) {
19
- if (!handleKey || !handleCache.has(handleKey)) return null;
20
- var cached = handleCache.get(handleKey);
21
- if (cached._rels) {
22
- Object.values(cached._rels).forEach(function (subject) {
23
- var _subject$_observers, _subject$_observers$c;
24
- (_subject$_observers = subject._observers) === null || _subject$_observers === void 0 || (_subject$_observers$c = _subject$_observers.clear) === null || _subject$_observers$c === void 0 || _subject$_observers$c.call(_subject$_observers);
25
- subject._values = [];
26
- subject._empty = true;
27
- });
28
- }
29
- return cached;
30
- };
31
-
32
- /** 将 exe 存入缓存 */
33
- var setToCache = function setToCache(handleKey, exe, rels, needsCache) {
34
- exe._rels = rels;
35
- if (handleKey && needsCache) {
36
- handleCache.set(handleKey, exe);
37
- }
38
- };
39
-
40
- // JS
41
- export var createJSHandle = function createJSHandle(fn, options, handleKey) {
42
- var props = options.props,
43
- appContext = options.appContext;
44
- var cached = getFromCache(handleKey);
45
- if (cached) return cached;
46
- var needsCache = fn.__useCache === true;
47
- var controller;
48
- var inputs = new Proxy({}, {
49
- getOwnPropertyDescriptor: function getOwnPropertyDescriptor() {
50
- return {
51
- enumerable: true,
52
- configurable: true
53
- };
54
- },
55
- ownKeys: function ownKeys() {
56
- return props.inputs;
57
- },
58
- get: function get() {
59
- return function (input) {
60
- // 约定只有一个输入
61
- controller = input;
62
- };
63
- }
64
- });
65
- var rels = {};
66
- var outputs = new Proxy({}, {
67
- getOwnPropertyDescriptor: function getOwnPropertyDescriptor() {
68
- return {
69
- enumerable: true,
70
- configurable: true
71
- };
72
- },
73
- ownKeys: function ownKeys() {
74
- return props.outputs;
75
- },
76
- get: function get(_, key) {
77
- return function (value) {
78
- (rels[key] || (rels[key] = new Subject({
79
- log: "".concat(EXE_TITLE_MAP["output"], " ").concat(props.title, " | ").concat(key)
80
- })))[SUBJECT_NEXT](value);
81
- };
82
- }
83
- });
84
- fn({
85
- data: props.data,
86
- inputs: inputs,
87
- outputs: outputs,
88
- logger: logger,
89
- env: appContext === null || appContext === void 0 ? void 0 : appContext.env,
90
- appContext: appContext
91
- });
92
- var isJsMultipleInputs = props.inputs[0] ? validateJsMultipleInputs(props.inputs[0]) : false;
93
-
94
- // 缓存 exeOutputs 的属性访问结果,避免每次访问 .trigger 等属性时创建新的 SubjectNext
95
- var exeOutputsCache = {};
96
- var exeOutputs = new Proxy({}, {
97
- get: function get(_, key) {
98
- if (!exeOutputsCache[key]) {
99
- var subject = rels[key] || (rels[key] = new Subject({
100
- log: "".concat(EXE_TITLE_MAP["output"], " ").concat(props.title, " | ").concat(key)
101
- }));
102
- exeOutputsCache[key] = subject;
103
- }
104
- return exeOutputsCache[key];
105
- }
106
- });
107
-
108
- // 记录已订阅的 Subject,避免重复订阅
109
- var subscribedSubjects = new Set();
110
- var exe = function exe() {
111
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
112
- args[_key] = arguments[_key];
113
- }
114
- if (args.length) {
115
- // 调用输入
116
- if (isJsMultipleInputs) {
117
- // 多输入模式
118
- var length = args.length;
119
- var valueAry = {};
120
- args.forEach(function (value, index) {
121
- if (value !== null && value !== void 0 && value[SUBJECT_SUBSCRIBE]) {
122
- // 如果已经订阅过这个 Subject,跳过
123
- if (subscribedSubjects.has(value)) {
124
- return;
125
- }
126
- subscribedSubjects.add(value);
127
- value[SUBJECT_SUBSCRIBE](function (value) {
128
- log("".concat(EXE_TITLE_MAP["input"], " ").concat(props.title, " | ").concat(props.inputs[index]), JSON.stringify(value));
129
- valueAry[props.inputs[index]] = value;
130
- if (Object.keys(valueAry).length === length) {
131
- createReactiveInputHandler({
132
- input: controller,
133
- value: valueAry,
134
- rels: rels,
135
- title: props.title
136
- });
137
- // 触发输入后清除
138
- valueAry = {};
139
- }
140
- });
141
- } else {
142
- log("".concat(EXE_TITLE_MAP["input"], " ").concat(props.title, " | ").concat(props.inputs[index]), JSON.stringify(value));
143
- valueAry[props.inputs[index]] = value;
144
- if (Object.keys(valueAry).length === length) {
145
- createReactiveInputHandler({
146
- input: controller,
147
- value: valueAry,
148
- rels: rels,
149
- title: props.title
150
- });
151
- // 触发输入后清除
152
- valueAry = {};
153
- }
154
- }
155
- });
156
- } else {
157
- // 非多输入
158
- var value = args[0];
159
- if (value !== null && value !== void 0 && value[SUBJECT_SUBSCRIBE]) {
160
- // 如果已经订阅过这个 Subject,跳过
161
- if (subscribedSubjects.has(value)) {
162
- return exeOutputs;
163
- }
164
- subscribedSubjects.add(value);
165
- value[SUBJECT_SUBSCRIBE](function (value) {
166
- log("".concat(EXE_TITLE_MAP["input"], " ").concat(props.title, " | ").concat(props.inputs[0]), JSON.stringify(value));
167
- createReactiveInputHandler({
168
- input: controller,
169
- value: value,
170
- rels: rels,
171
- title: props.title
172
- });
173
- });
174
- } else {
175
- log("".concat(EXE_TITLE_MAP["input"], " ").concat(props.title, " | ").concat(props.inputs[0]), JSON.stringify(value));
176
- createReactiveInputHandler({
177
- input: controller,
178
- value: value,
179
- rels: rels,
180
- title: props.title
181
- });
182
- }
183
- }
184
- }
185
- return exeOutputs;
186
- };
187
- setToCache(handleKey, exe, rels, needsCache);
188
- return exe;
189
- };
@@ -1,26 +0,0 @@
1
- import { SUBJECT_SUBSCRIBE } from "./constant";
2
-
3
- /** 处理区块事件 */
4
- export var createModuleEventsHandle = function createModuleEventsHandle(_ref) {
5
- var that = _ref.that,
6
- appContext = _ref.appContext;
7
- var uid = that.uid,
8
- events = that.events;
9
- return new Proxy(events, {
10
- get: function get(_, key) {
11
- var _appContext$comEvent;
12
- var event = uid ? (appContext === null || appContext === void 0 || (_appContext$comEvent = appContext.comEvent) === null || _appContext$comEvent === void 0 || (_appContext$comEvent = _appContext$comEvent[uid]) === null || _appContext$comEvent === void 0 ? void 0 : _appContext$comEvent[key]) || events[key] : events[key];
13
- if (event) {
14
- return function (value) {
15
- if (value !== null && value !== void 0 && value[SUBJECT_SUBSCRIBE]) {
16
- value[SUBJECT_SUBSCRIBE](function (value) {
17
- event(value);
18
- });
19
- } else {
20
- event(value);
21
- }
22
- };
23
- }
24
- }
25
- });
26
- };
@@ -1,40 +0,0 @@
1
- import { EXE_TITLE_MAP, SUBJECT_NEXT, SUBJECT_SUBSCRIBE } from "./constant";
2
- import { Subject } from "./Subject";
3
-
4
- /** 组件的输入 */
5
- export var createReactiveInputHandler = function createReactiveInputHandler(params) {
6
- var input = params.input,
7
- value = params.value,
8
- rels = params.rels,
9
- title = params.title;
10
- if (value !== null && value !== void 0 && value[SUBJECT_SUBSCRIBE]) {
11
- value[SUBJECT_SUBSCRIBE](function (value) {
12
- input(value, new Proxy({}, {
13
- get: function get(_, key) {
14
- return function (value) {
15
- (rels[key] || (rels[key] = new Subject({
16
- log: "".concat(EXE_TITLE_MAP["output"], " ").concat(title, " | ").concat(key)
17
- })))[SUBJECT_NEXT](value);
18
- };
19
- }
20
- }));
21
- });
22
- } else {
23
- input(value, new Proxy({}, {
24
- get: function get(_, key) {
25
- return function (value) {
26
- (rels[key] || (rels[key] = new Subject({
27
- log: "".concat(EXE_TITLE_MAP["output"], " ").concat(title, " | ").concat(key)
28
- })))[SUBJECT_NEXT](value);
29
- };
30
- }
31
- }));
32
- }
33
- return new Proxy({}, {
34
- get: function get(_, key) {
35
- return rels[key] || (rels[key] = new Subject({
36
- log: "".concat(EXE_TITLE_MAP["output"], " ").concat(title, " | ").concat(key)
37
- }));
38
- }
39
- });
40
- };
@@ -1,44 +0,0 @@
1
- import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
- import { Subject } from "./Subject";
3
- import { SUBJECT_NEXT, SUBJECT_SUBSCRIBE } from "./constant";
4
- export var transformEvents = function transformEvents(bus) {
5
- return function (newEvents) {
6
- Object.entries(newEvents).forEach(function (_ref) {
7
- var _ref2 = _slicedToArray(_ref, 2),
8
- key = _ref2[0],
9
- newEvent = _ref2[1];
10
- bus[key] = createEvent(newEvent);
11
- });
12
- };
13
- };
14
- export var createEvent = function createEvent(event) {
15
- return function (value) {
16
- var outputs = {};
17
- var callBack = new Proxy({}, {
18
- get: function get(_, key) {
19
- return function (value) {
20
- var output = outputs[key] || (outputs[key] = new Subject());
21
- if (value !== null && value !== void 0 && value[SUBJECT_SUBSCRIBE]) {
22
- value[SUBJECT_SUBSCRIBE](function (value) {
23
- output[SUBJECT_NEXT](value);
24
- });
25
- } else {
26
- output[SUBJECT_NEXT](value);
27
- }
28
- };
29
- }
30
- });
31
- if (value !== null && value !== void 0 && value[SUBJECT_SUBSCRIBE]) {
32
- value[SUBJECT_SUBSCRIBE](function (value) {
33
- event(value, callBack);
34
- });
35
- } else {
36
- event(value, callBack);
37
- }
38
- return new Proxy({}, {
39
- get: function get(_, key) {
40
- return outputs[key] || (outputs[key] = new Subject());
41
- }
42
- });
43
- };
44
- };