@mybricks/to-code-taro 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/abstractEventTypeDef.d.ts +11 -0
- package/dist/cjs/abstractEventTypeDef.js +93 -0
- package/dist/cjs/core/comlib/Index.js +45 -0
- package/dist/cjs/core/comlib/_ScanQrcode.js +60 -0
- package/dist/cjs/core/comlib/_SetStorage.js +76 -0
- package/dist/cjs/core/comlib/_ShowToast.js +96 -0
- package/dist/cjs/core/mybricks/MyBricksDescriptor.js +213 -0
- package/dist/cjs/core/mybricks/Subject.js +115 -0
- package/dist/cjs/core/mybricks/constant.js +70 -0
- package/dist/cjs/core/mybricks/context.js +33 -0
- package/dist/cjs/core/mybricks/createEnv.js +39 -0
- package/dist/cjs/core/mybricks/createJSHandle.js +150 -0
- package/dist/cjs/core/mybricks/createModuleEventsHandle.js +49 -0
- package/dist/cjs/core/mybricks/createReactiveInputHandler.js +63 -0
- package/dist/cjs/core/mybricks/event.js +70 -0
- package/dist/cjs/core/mybricks/index.js +871 -0
- package/dist/cjs/core/mybricks/log.js +38 -0
- package/dist/cjs/core/mybricks/utils.js +69 -0
- package/dist/cjs/core/mybricks/variables.js +217 -0
- package/dist/cjs/core/utils/ComContext.js +39 -0
- package/dist/cjs/core/utils/index.js +88 -0
- package/dist/cjs/core/utils/useContext.js +53 -0
- package/dist/cjs/core/utils/with.js +84 -0
- package/dist/cjs/generate/generateTaroProjectJson.d.ts +24 -0
- package/dist/cjs/generate/generateTaroProjectJson.js +101 -0
- package/dist/cjs/generate/generateTaroTempalteJson.d.ts +15 -0
- package/dist/cjs/generate/generateTaroTempalteJson.js +103 -0
- package/dist/cjs/generate/utils/appConfig.d.ts +21 -0
- package/dist/cjs/generate/utils/appConfig.js +47 -0
- package/dist/cjs/generate/utils/commonDir.d.ts +21 -0
- package/dist/cjs/generate/utils/commonDir.js +50 -0
- package/dist/cjs/generate/utils/fileNode.d.ts +17 -0
- package/dist/cjs/generate/utils/fileNode.js +57 -0
- package/dist/cjs/generate/utils/index.d.ts +7 -0
- package/dist/cjs/generate/utils/index.js +29 -0
- package/dist/cjs/generate/utils/tabBarImages.d.ts +14 -0
- package/dist/cjs/generate/utils/tabBarImages.js +36 -0
- package/dist/cjs/handleCom.d.ts +31 -0
- package/dist/cjs/handleCom.js +260 -0
- package/dist/cjs/handleDom.d.ts +19 -0
- package/dist/cjs/handleDom.js +86 -0
- package/dist/cjs/handleExtension.d.ts +10 -0
- package/dist/cjs/handleExtension.js +300 -0
- package/dist/cjs/handleGlobal.d.ts +21 -0
- package/dist/cjs/handleGlobal.js +155 -0
- package/dist/cjs/handleModule.d.ts +15 -0
- package/dist/cjs/handleModule.js +108 -0
- package/dist/cjs/handleSlot.d.ts +27 -0
- package/dist/cjs/handleSlot.js +197 -0
- package/dist/cjs/index.d.ts +3 -0
- package/dist/cjs/index.js +44 -0
- package/dist/cjs/taro-template.json +5370 -0
- package/dist/cjs/toCodeTaro.d.ts +130 -0
- package/dist/cjs/toCodeTaro.js +427 -0
- package/dist/cjs/utils/code/component.d.ts +19 -0
- package/dist/cjs/utils/code/component.js +85 -0
- package/dist/cjs/utils/code/index.d.ts +18 -0
- package/dist/cjs/utils/code/index.js +71 -0
- package/dist/cjs/utils/code/renderManager.d.ts +22 -0
- package/dist/cjs/utils/code/renderManager.js +80 -0
- package/dist/cjs/utils/code/scene.d.ts +19 -0
- package/dist/cjs/utils/code/scene.js +82 -0
- package/dist/cjs/utils/convertNamespace.d.ts +11 -0
- package/dist/cjs/utils/convertNamespace.js +43 -0
- package/dist/cjs/utils/genJSModules.d.ts +12 -0
- package/dist/cjs/utils/genJSModules.js +116 -0
- package/dist/cjs/utils/getComponentClassName.d.ts +16 -0
- package/dist/cjs/utils/getComponentClassName.js +47 -0
- package/dist/cjs/utils/handlePageConfig.d.ts +24 -0
- package/dist/cjs/utils/handlePageConfig.js +73 -0
- package/dist/cjs/utils/handleProcess.d.ts +9 -0
- package/dist/cjs/utils/handleProcess.js +370 -0
- package/dist/cjs/utils/index.d.ts +62 -0
- package/dist/cjs/utils/index.js +321 -0
- package/dist/cjs/utils/pageConfig/converter.d.ts +17 -0
- package/dist/cjs/utils/pageConfig/converter.js +83 -0
- package/dist/cjs/utils/pageConfig/index.d.ts +10 -0
- package/dist/cjs/utils/pageConfig/index.js +33 -0
- package/dist/cjs/utils/pageConfig/pageConfig.d.ts +10 -0
- package/dist/cjs/utils/pageConfig/pageConfig.js +87 -0
- package/dist/cjs/utils/pageConfig/saveBase64Image.d.ts +14 -0
- package/dist/cjs/utils/pageConfig/saveBase64Image.js +81 -0
- package/dist/cjs/utils/pageConfig/tabBarConfig.d.ts +13 -0
- package/dist/cjs/utils/pageConfig/tabBarConfig.js +74 -0
- package/dist/cjs/utils/pageConfig/types.d.ts +68 -0
- package/dist/cjs/utils/pageConfig/types.js +17 -0
- package/dist/cjs/utils/pageConfig/validator.d.ts +13 -0
- package/dist/cjs/utils/pageConfig/validator.js +67 -0
- package/dist/cjs/utils/pxtransform.d.ts +28 -0
- package/dist/cjs/utils/pxtransform.js +102 -0
- package/dist/esm/abstractEventTypeDef.d.ts +11 -0
- package/dist/esm/abstractEventTypeDef.js +63 -0
- package/dist/esm/core/comlib/Index.js +3 -0
- package/dist/esm/core/comlib/_ScanQrcode.js +27 -0
- package/dist/esm/core/comlib/_SetStorage.js +52 -0
- package/dist/esm/core/comlib/_ShowToast.js +68 -0
- package/dist/esm/core/mybricks/MyBricksDescriptor.js +232 -0
- package/dist/esm/core/mybricks/Subject.js +143 -0
- package/dist/esm/core/mybricks/constant.js +18 -0
- package/dist/esm/core/mybricks/context.js +5 -0
- package/dist/esm/core/mybricks/createEnv.js +9 -0
- package/dist/esm/core/mybricks/createJSHandle.js +138 -0
- package/dist/esm/core/mybricks/createModuleEventsHandle.js +26 -0
- package/dist/esm/core/mybricks/createReactiveInputHandler.js +40 -0
- package/dist/esm/core/mybricks/event.js +44 -0
- package/dist/esm/core/mybricks/index.js +952 -0
- package/dist/esm/core/mybricks/log.js +12 -0
- package/dist/esm/core/mybricks/utils.js +41 -0
- package/dist/esm/core/mybricks/variables.js +190 -0
- package/dist/esm/core/utils/ComContext.js +10 -0
- package/dist/esm/core/utils/index.js +57 -0
- package/dist/esm/core/utils/useContext.js +24 -0
- package/dist/esm/core/utils/with.js +67 -0
- package/dist/esm/generate/generateTaroProjectJson.d.ts +24 -0
- package/dist/esm/generate/generateTaroProjectJson.js +102 -0
- package/dist/esm/generate/generateTaroTempalteJson.d.ts +15 -0
- package/dist/esm/generate/generateTaroTempalteJson.js +94 -0
- package/dist/esm/generate/utils/appConfig.d.ts +21 -0
- package/dist/esm/generate/utils/appConfig.js +30 -0
- package/dist/esm/generate/utils/commonDir.d.ts +21 -0
- package/dist/esm/generate/utils/commonDir.js +36 -0
- package/dist/esm/generate/utils/fileNode.d.ts +17 -0
- package/dist/esm/generate/utils/fileNode.js +49 -0
- package/dist/esm/generate/utils/index.d.ts +7 -0
- package/dist/esm/generate/utils/index.js +8 -0
- package/dist/esm/generate/utils/tabBarImages.d.ts +14 -0
- package/dist/esm/generate/utils/tabBarImages.js +15 -0
- package/dist/esm/handleCom.d.ts +31 -0
- package/dist/esm/handleCom.js +297 -0
- package/dist/esm/handleDom.d.ts +19 -0
- package/dist/esm/handleDom.js +63 -0
- package/dist/esm/handleExtension.d.ts +10 -0
- package/dist/esm/handleExtension.js +243 -0
- package/dist/esm/handleGlobal.d.ts +21 -0
- package/dist/esm/handleGlobal.js +117 -0
- package/dist/esm/handleModule.d.ts +15 -0
- package/dist/esm/handleModule.js +78 -0
- package/dist/esm/handleSlot.d.ts +27 -0
- package/dist/esm/handleSlot.js +205 -0
- package/dist/esm/index.d.ts +3 -0
- package/dist/esm/index.js +3 -0
- package/dist/esm/taro-template.json +5370 -0
- package/dist/esm/toCodeTaro.d.ts +130 -0
- package/dist/esm/toCodeTaro.js +452 -0
- package/dist/esm/utils/code/component.d.ts +19 -0
- package/dist/esm/utils/code/component.js +54 -0
- package/dist/esm/utils/code/index.d.ts +18 -0
- package/dist/esm/utils/code/index.js +51 -0
- package/dist/esm/utils/code/renderManager.d.ts +22 -0
- package/dist/esm/utils/code/renderManager.js +62 -0
- package/dist/esm/utils/code/scene.d.ts +19 -0
- package/dist/esm/utils/code/scene.js +47 -0
- package/dist/esm/utils/convertNamespace.d.ts +11 -0
- package/dist/esm/utils/convertNamespace.js +27 -0
- package/dist/esm/utils/genJSModules.d.ts +12 -0
- package/dist/esm/utils/genJSModules.js +44 -0
- package/dist/esm/utils/getComponentClassName.d.ts +16 -0
- package/dist/esm/utils/getComponentClassName.js +37 -0
- package/dist/esm/utils/handlePageConfig.d.ts +24 -0
- package/dist/esm/utils/handlePageConfig.js +68 -0
- package/dist/esm/utils/handleProcess.d.ts +9 -0
- package/dist/esm/utils/handleProcess.js +379 -0
- package/dist/esm/utils/index.d.ts +62 -0
- package/dist/esm/utils/index.js +345 -0
- package/dist/esm/utils/pageConfig/converter.d.ts +17 -0
- package/dist/esm/utils/pageConfig/converter.js +105 -0
- package/dist/esm/utils/pageConfig/index.d.ts +10 -0
- package/dist/esm/utils/pageConfig/index.js +11 -0
- package/dist/esm/utils/pageConfig/pageConfig.d.ts +10 -0
- package/dist/esm/utils/pageConfig/pageConfig.js +60 -0
- package/dist/esm/utils/pageConfig/saveBase64Image.d.ts +14 -0
- package/dist/esm/utils/pageConfig/saveBase64Image.js +105 -0
- package/dist/esm/utils/pageConfig/tabBarConfig.d.ts +13 -0
- package/dist/esm/utils/pageConfig/tabBarConfig.js +82 -0
- package/dist/esm/utils/pageConfig/types.d.ts +68 -0
- package/dist/esm/utils/pageConfig/types.js +1 -0
- package/dist/esm/utils/pageConfig/validator.d.ts +13 -0
- package/dist/esm/utils/pageConfig/validator.js +64 -0
- package/dist/esm/utils/pxtransform.d.ts +28 -0
- package/dist/esm/utils/pxtransform.js +121 -0
- package/package.json +74 -0
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
import { VARS_MARK, SUBJECT_VALUE, BASECONTROLLER_MARK, MYBRICKS_DESCRIPTOR, CONTROLLER_CONTEXT } from "./constant";
|
|
2
|
+
import { createModuleEventsHandle } from "./createModuleEventsHandle";
|
|
3
|
+
import { log } from "./log";
|
|
4
|
+
var DEFAULT_GETVAR_RESULT = {
|
|
5
|
+
setValue: function setValue(value) {
|
|
6
|
+
log("setValue - 变量未定义,请检查");
|
|
7
|
+
},
|
|
8
|
+
getValue: function getValue() {
|
|
9
|
+
log("getValue - 变量未定义,请检查");
|
|
10
|
+
return;
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
var getVar = function getVar(_ref) {
|
|
14
|
+
var that = _ref.that,
|
|
15
|
+
varName = _ref.varName;
|
|
16
|
+
var myBricksDescriptor = that[MYBRICKS_DESCRIPTOR];
|
|
17
|
+
if (!myBricksDescriptor) {
|
|
18
|
+
return DEFAULT_GETVAR_RESULT;
|
|
19
|
+
}
|
|
20
|
+
var vars = myBricksDescriptor.vars,
|
|
21
|
+
params = myBricksDescriptor.params,
|
|
22
|
+
parent = myBricksDescriptor.parent;
|
|
23
|
+
var var0 = vars === null || vars === void 0 ? void 0 : vars[varName];
|
|
24
|
+
if (var0) {
|
|
25
|
+
return var0.ext();
|
|
26
|
+
}
|
|
27
|
+
if (["page", "popup", "module"].includes(params.type)) {
|
|
28
|
+
var _params$appContext;
|
|
29
|
+
// 模块、页面、弹窗是最上层,不再继续向上查
|
|
30
|
+
var _var = (_params$appContext = params.appContext) === null || _params$appContext === void 0 || (_params$appContext = _params$appContext.globalVars) === null || _params$appContext === void 0 ? void 0 : _params$appContext[varName];
|
|
31
|
+
if (_var) {
|
|
32
|
+
return _var.ext();
|
|
33
|
+
}
|
|
34
|
+
return DEFAULT_GETVAR_RESULT;
|
|
35
|
+
}
|
|
36
|
+
return getVar({
|
|
37
|
+
that: parent,
|
|
38
|
+
varName: varName
|
|
39
|
+
});
|
|
40
|
+
};
|
|
41
|
+
var DEFAULT_GETOUTPUT_RESULT = {
|
|
42
|
+
setValue: function setValue(value) {
|
|
43
|
+
log("setValue - 输出未定义,请检查");
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
var getOutput = function getOutput(_ref2) {
|
|
47
|
+
var that = _ref2.that,
|
|
48
|
+
outputName = _ref2.outputName;
|
|
49
|
+
var myBricksDescriptor = that[MYBRICKS_DESCRIPTOR];
|
|
50
|
+
if (!myBricksDescriptor) {
|
|
51
|
+
return DEFAULT_GETOUTPUT_RESULT;
|
|
52
|
+
}
|
|
53
|
+
var params = myBricksDescriptor.params,
|
|
54
|
+
controller = myBricksDescriptor.controller,
|
|
55
|
+
parent = myBricksDescriptor.parent;
|
|
56
|
+
var type = params.type,
|
|
57
|
+
outputNameMap = params.outputNameMap,
|
|
58
|
+
pageId = params.pageId;
|
|
59
|
+
var outputKey = outputNameMap ? outputNameMap[outputName] || outputName : outputName;
|
|
60
|
+
if (type === "module") {
|
|
61
|
+
var _controller$events;
|
|
62
|
+
if ((_controller$events = controller.events) !== null && _controller$events !== void 0 && _controller$events[outputKey]) {
|
|
63
|
+
return {
|
|
64
|
+
setValue: function setValue(value) {
|
|
65
|
+
var _controller$events2;
|
|
66
|
+
(_controller$events2 = controller.events) === null || _controller$events2 === void 0 || _controller$events2[outputKey](value);
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
} else if (type === "popup") {
|
|
71
|
+
if (["commit", "apply", "cancel", "close"].includes(outputKey)) {
|
|
72
|
+
return {
|
|
73
|
+
setValue: function setValue(value) {
|
|
74
|
+
var _params$appContext2;
|
|
75
|
+
(_params$appContext2 = params.appContext) === null || _params$appContext2 === void 0 || (_params$appContext2 = _params$appContext2.page) === null || _params$appContext2 === void 0 || _params$appContext2[outputKey](pageId, value);
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
} else if (type === "slot") {
|
|
80
|
+
if (that.params.outputs && outputKey in that.params.outputs) {
|
|
81
|
+
return {
|
|
82
|
+
setValue: function setValue(value) {
|
|
83
|
+
that.params.outputs[outputKey](value);
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
if (["page", "popup", "module"].includes(type)) {
|
|
89
|
+
// 模块、页面、弹窗是最上层,不再继续向上查
|
|
90
|
+
return DEFAULT_GETOUTPUT_RESULT;
|
|
91
|
+
}
|
|
92
|
+
return getOutput({
|
|
93
|
+
that: parent,
|
|
94
|
+
outputName: outputName
|
|
95
|
+
});
|
|
96
|
+
};
|
|
97
|
+
var DEFAULT_GETINPUT_RESULT = {
|
|
98
|
+
getValue: function getValue(value) {
|
|
99
|
+
log("getValue - 输入未定义,请检查");
|
|
100
|
+
}
|
|
101
|
+
};
|
|
102
|
+
var getInput = function getInput(_ref3) {
|
|
103
|
+
var that = _ref3.that,
|
|
104
|
+
inputName = _ref3.inputName;
|
|
105
|
+
var myBricksDescriptor = that[MYBRICKS_DESCRIPTOR];
|
|
106
|
+
if (!myBricksDescriptor) {
|
|
107
|
+
return DEFAULT_GETINPUT_RESULT;
|
|
108
|
+
}
|
|
109
|
+
var params = myBricksDescriptor.params,
|
|
110
|
+
controller = myBricksDescriptor.controller,
|
|
111
|
+
parent = myBricksDescriptor.parent;
|
|
112
|
+
var type = params.type,
|
|
113
|
+
inputNameMap = params.inputNameMap,
|
|
114
|
+
pageId = params.pageId;
|
|
115
|
+
var inputKey = (inputNameMap ? inputNameMap[inputName] : inputName) || inputName;
|
|
116
|
+
if (type === "slot") {
|
|
117
|
+
if (inputKey in that.params.inputValues) {
|
|
118
|
+
return {
|
|
119
|
+
getValue: function getValue() {
|
|
120
|
+
return that.params.inputValues[inputKey];
|
|
121
|
+
}
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
} else if (type === "page" || type === "popup") {
|
|
125
|
+
if (inputKey === "open") {
|
|
126
|
+
return {
|
|
127
|
+
getValue: function getValue() {
|
|
128
|
+
var _params$appContext3;
|
|
129
|
+
return (_params$appContext3 = params.appContext) === null || _params$appContext3 === void 0 || (_params$appContext3 = _params$appContext3.page) === null || _params$appContext3 === void 0 || (_params$appContext3 = _params$appContext3.getParams(pageId)) === null || _params$appContext3 === void 0 ? void 0 : _params$appContext3[SUBJECT_VALUE];
|
|
130
|
+
}
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
return DEFAULT_GETINPUT_RESULT;
|
|
134
|
+
} else if (type === "module") {
|
|
135
|
+
return {
|
|
136
|
+
getValue: function getValue() {
|
|
137
|
+
var _controller$controlle;
|
|
138
|
+
if (inputKey in controller.data) {
|
|
139
|
+
return controller.data[inputKey];
|
|
140
|
+
}
|
|
141
|
+
return (_controller$controlle = controller.controller) === null || _controller$controlle === void 0 || (_controller$controlle = _controller$controlle[inputKey]) === null || _controller$controlle === void 0 ? void 0 : _controller$controlle[SUBJECT_VALUE];
|
|
142
|
+
}
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
if (["page", "popup", "module"].includes(type)) {
|
|
146
|
+
// 模块、页面、弹窗是最上层,不再继续向上查
|
|
147
|
+
return DEFAULT_GETINPUT_RESULT;
|
|
148
|
+
}
|
|
149
|
+
return getInput({
|
|
150
|
+
that: parent,
|
|
151
|
+
inputName: inputName
|
|
152
|
+
});
|
|
153
|
+
};
|
|
154
|
+
export function MyBricksDescriptor(params) {
|
|
155
|
+
return function (target, key, descriptor) {
|
|
156
|
+
var originalMethod = descriptor.value;
|
|
157
|
+
descriptor.value = function () {
|
|
158
|
+
var _this = this;
|
|
159
|
+
var controller = null;
|
|
160
|
+
var vars = null;
|
|
161
|
+
Object.keys(this.__proto__).filter(function (key) {
|
|
162
|
+
return !key.startsWith("__ob_");
|
|
163
|
+
}).forEach(function (key) {
|
|
164
|
+
// 过滤出当前组件自身声明的Provider
|
|
165
|
+
var value = _this[key];
|
|
166
|
+
if (value !== null && value !== void 0 && value[BASECONTROLLER_MARK]) {
|
|
167
|
+
var _descriptor = Object.getOwnPropertyDescriptor(_this, key);
|
|
168
|
+
if (!(_descriptor !== null && _descriptor !== void 0 && _descriptor.get)) {
|
|
169
|
+
controller = value;
|
|
170
|
+
}
|
|
171
|
+
} else if (value !== null && value !== void 0 && value[VARS_MARK]) {
|
|
172
|
+
var _descriptor2 = Object.getOwnPropertyDescriptor(_this, key);
|
|
173
|
+
if (!(_descriptor2 !== null && _descriptor2 !== void 0 && _descriptor2.get)) {
|
|
174
|
+
vars = value;
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
});
|
|
178
|
+
this[MYBRICKS_DESCRIPTOR] = {
|
|
179
|
+
controller: controller,
|
|
180
|
+
vars: vars,
|
|
181
|
+
params: params,
|
|
182
|
+
parent: this.getParent()
|
|
183
|
+
};
|
|
184
|
+
if (controller) {
|
|
185
|
+
if (this.events) {
|
|
186
|
+
controller.events = createModuleEventsHandle({
|
|
187
|
+
that: this,
|
|
188
|
+
appContext: params.appContext
|
|
189
|
+
});
|
|
190
|
+
}
|
|
191
|
+
if (this.data) {
|
|
192
|
+
controller.data = this.data;
|
|
193
|
+
}
|
|
194
|
+
if (this.controller) {
|
|
195
|
+
controller.controller = this.controller;
|
|
196
|
+
}
|
|
197
|
+
var classController = controller;
|
|
198
|
+
Object.getOwnPropertyNames(classController).forEach(function (key) {
|
|
199
|
+
var controllerContext = classController[key][CONTROLLER_CONTEXT];
|
|
200
|
+
if (controllerContext) {
|
|
201
|
+
controllerContext["this"] = _this;
|
|
202
|
+
controllerContext['getVar'] = function (varName) {
|
|
203
|
+
return getVar({
|
|
204
|
+
that: _this,
|
|
205
|
+
varName: varName
|
|
206
|
+
});
|
|
207
|
+
};
|
|
208
|
+
controllerContext['getOutput'] = function (outputName) {
|
|
209
|
+
return getOutput({
|
|
210
|
+
that: _this,
|
|
211
|
+
outputName: outputName
|
|
212
|
+
});
|
|
213
|
+
};
|
|
214
|
+
controllerContext['getInput'] = function (inputName) {
|
|
215
|
+
return getInput({
|
|
216
|
+
that: _this,
|
|
217
|
+
inputName: inputName
|
|
218
|
+
});
|
|
219
|
+
};
|
|
220
|
+
controllerContext['appContext'] = params.appContext;
|
|
221
|
+
}
|
|
222
|
+
});
|
|
223
|
+
}
|
|
224
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
225
|
+
args[_key] = arguments[_key];
|
|
226
|
+
}
|
|
227
|
+
var result = originalMethod.apply(this, args);
|
|
228
|
+
return result;
|
|
229
|
+
};
|
|
230
|
+
return descriptor;
|
|
231
|
+
};
|
|
232
|
+
}
|
|
@@ -0,0 +1,143 @@
|
|
|
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
|
+
return new Proxy(this, {
|
|
23
|
+
get: function get(target, prop) {
|
|
24
|
+
if (prop in target) {
|
|
25
|
+
return target[prop];
|
|
26
|
+
}
|
|
27
|
+
var subjectNext = new SubjectNext(prop);
|
|
28
|
+
target[SUBJECT_SUBSCRIBE](function (value, extra) {
|
|
29
|
+
subjectNext[SUBJECT_NEXT](value, extra);
|
|
30
|
+
});
|
|
31
|
+
return subjectNext;
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
_createClass(Subject, [{
|
|
36
|
+
key: SUBJECT_VALUE,
|
|
37
|
+
get: function get() {
|
|
38
|
+
return this._values[0];
|
|
39
|
+
}
|
|
40
|
+
}, {
|
|
41
|
+
key: SUBJECT_EMPTY,
|
|
42
|
+
get: function get() {
|
|
43
|
+
return this._empty;
|
|
44
|
+
}
|
|
45
|
+
}, {
|
|
46
|
+
key: SUBJECT_SETVALUE,
|
|
47
|
+
value: function value(_value) {
|
|
48
|
+
this._values[0] = _value;
|
|
49
|
+
this._empty = false;
|
|
50
|
+
}
|
|
51
|
+
}, {
|
|
52
|
+
key: SUBJECT_NEXT,
|
|
53
|
+
value: function value(_value2, extra) {
|
|
54
|
+
log(this._log, JSON.stringify(_value2));
|
|
55
|
+
this._values[0] = _value2;
|
|
56
|
+
this._empty = false;
|
|
57
|
+
this._observers.forEach(function (observer) {
|
|
58
|
+
return observer(_value2, extra);
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
}, {
|
|
62
|
+
key: SUBJECT_SUBSCRIBE,
|
|
63
|
+
value: function value(observer) {
|
|
64
|
+
if (this._values.length) {
|
|
65
|
+
observer(this._values[0]);
|
|
66
|
+
}
|
|
67
|
+
this._observers.add(observer);
|
|
68
|
+
}
|
|
69
|
+
}, {
|
|
70
|
+
key: SUBJECT_UNSUBSCRIBE,
|
|
71
|
+
value: function value(observer) {
|
|
72
|
+
this._observers.delete(observer);
|
|
73
|
+
}
|
|
74
|
+
}]);
|
|
75
|
+
return Subject;
|
|
76
|
+
}();
|
|
77
|
+
function getValueNextByPath(params) {
|
|
78
|
+
var value = params.value,
|
|
79
|
+
path = params.path;
|
|
80
|
+
var current = value;
|
|
81
|
+
var _iterator = _createForOfIteratorHelper(path),
|
|
82
|
+
_step;
|
|
83
|
+
try {
|
|
84
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
85
|
+
var key = _step.value;
|
|
86
|
+
if (current === null || current === undefined) {
|
|
87
|
+
return undefined;
|
|
88
|
+
}
|
|
89
|
+
current = current[key];
|
|
90
|
+
}
|
|
91
|
+
} catch (err) {
|
|
92
|
+
_iterator.e(err);
|
|
93
|
+
} finally {
|
|
94
|
+
_iterator.f();
|
|
95
|
+
}
|
|
96
|
+
return current;
|
|
97
|
+
}
|
|
98
|
+
var SubjectNext = /*#__PURE__*/function (_Subject) {
|
|
99
|
+
_inherits(SubjectNext, _Subject);
|
|
100
|
+
var _super = _createSuper(SubjectNext);
|
|
101
|
+
function SubjectNext(path) {
|
|
102
|
+
var _this;
|
|
103
|
+
_classCallCheck(this, SubjectNext);
|
|
104
|
+
_this = _super.call(this);
|
|
105
|
+
_defineProperty(_assertThisInitialized(_this), "_path", []);
|
|
106
|
+
_this._path.push(path);
|
|
107
|
+
return _possibleConstructorReturn(_this, new Proxy(_assertThisInitialized(_this), {
|
|
108
|
+
get: function get(target, prop) {
|
|
109
|
+
if (prop in target) {
|
|
110
|
+
return target[prop];
|
|
111
|
+
}
|
|
112
|
+
target._path.push(prop);
|
|
113
|
+
return target;
|
|
114
|
+
}
|
|
115
|
+
}));
|
|
116
|
+
}
|
|
117
|
+
_createClass(SubjectNext, [{
|
|
118
|
+
key: SUBJECT_NEXT,
|
|
119
|
+
value: function value(_value3, extra) {
|
|
120
|
+
this._values[0] = _value3;
|
|
121
|
+
this._empty = false;
|
|
122
|
+
var nextValue = getValueNextByPath({
|
|
123
|
+
value: _value3,
|
|
124
|
+
path: this._path
|
|
125
|
+
});
|
|
126
|
+
this._observers.forEach(function (observer) {
|
|
127
|
+
return observer(nextValue, extra);
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
}, {
|
|
131
|
+
key: SUBJECT_SUBSCRIBE,
|
|
132
|
+
value: function value(observer) {
|
|
133
|
+
if (this._values.length) {
|
|
134
|
+
observer(getValueNextByPath({
|
|
135
|
+
value: this._values[0],
|
|
136
|
+
path: this._path
|
|
137
|
+
}));
|
|
138
|
+
}
|
|
139
|
+
this._observers.add(observer);
|
|
140
|
+
}
|
|
141
|
+
}]);
|
|
142
|
+
return SubjectNext;
|
|
143
|
+
}(Subject);
|
|
@@ -0,0 +1,18 @@
|
|
|
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
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
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
|
+
};
|
|
@@ -0,0 +1,138 @@
|
|
|
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
|
+
// JS
|
|
15
|
+
export var createJSHandle = function createJSHandle(fn, options) {
|
|
16
|
+
var controller;
|
|
17
|
+
var props = options.props,
|
|
18
|
+
appContext = options.appContext;
|
|
19
|
+
var inputs = new Proxy({}, {
|
|
20
|
+
getOwnPropertyDescriptor: function getOwnPropertyDescriptor() {
|
|
21
|
+
return {
|
|
22
|
+
enumerable: true,
|
|
23
|
+
configurable: true
|
|
24
|
+
};
|
|
25
|
+
},
|
|
26
|
+
ownKeys: function ownKeys() {
|
|
27
|
+
return props.inputs;
|
|
28
|
+
},
|
|
29
|
+
get: function get() {
|
|
30
|
+
return function (input) {
|
|
31
|
+
// 约定只有一个输入
|
|
32
|
+
controller = input;
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
var rels = {};
|
|
37
|
+
var outputs = new Proxy({}, {
|
|
38
|
+
getOwnPropertyDescriptor: function getOwnPropertyDescriptor() {
|
|
39
|
+
return {
|
|
40
|
+
enumerable: true,
|
|
41
|
+
configurable: true
|
|
42
|
+
};
|
|
43
|
+
},
|
|
44
|
+
ownKeys: function ownKeys() {
|
|
45
|
+
return props.outputs;
|
|
46
|
+
},
|
|
47
|
+
get: function get(_, key) {
|
|
48
|
+
return function (value) {
|
|
49
|
+
(rels[key] || (rels[key] = new Subject({
|
|
50
|
+
log: "".concat(EXE_TITLE_MAP["output"], " ").concat(props.title, " | ").concat(key)
|
|
51
|
+
})))[SUBJECT_NEXT](value);
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
fn({
|
|
56
|
+
data: props.data,
|
|
57
|
+
inputs: inputs,
|
|
58
|
+
outputs: outputs,
|
|
59
|
+
logger: logger,
|
|
60
|
+
env: appContext === null || appContext === void 0 ? void 0 : appContext.env
|
|
61
|
+
});
|
|
62
|
+
var isJsMultipleInputs = props.inputs[0] ? validateJsMultipleInputs(props.inputs[0]) : false;
|
|
63
|
+
var exeOutputs = new Proxy({}, {
|
|
64
|
+
get: function get(_, key) {
|
|
65
|
+
return rels[key] || (rels[key] = new Subject({
|
|
66
|
+
log: "".concat(EXE_TITLE_MAP["output"], " ").concat(props.title, " | ").concat(key)
|
|
67
|
+
}));
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
var exe = function exe() {
|
|
71
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
72
|
+
args[_key] = arguments[_key];
|
|
73
|
+
}
|
|
74
|
+
if (args.length) {
|
|
75
|
+
// 调用输入
|
|
76
|
+
if (isJsMultipleInputs) {
|
|
77
|
+
// 多输入模式
|
|
78
|
+
var length = args.length;
|
|
79
|
+
var valueAry = {};
|
|
80
|
+
args.forEach(function (value, index) {
|
|
81
|
+
if (value !== null && value !== void 0 && value[SUBJECT_SUBSCRIBE]) {
|
|
82
|
+
value[SUBJECT_SUBSCRIBE](function (value) {
|
|
83
|
+
log("".concat(EXE_TITLE_MAP["input"], " ").concat(props.title, " | ").concat(props.inputs[index]), JSON.stringify(value));
|
|
84
|
+
valueAry[props.inputs[index]] = value;
|
|
85
|
+
if (Object.keys(valueAry).length === length) {
|
|
86
|
+
createReactiveInputHandler({
|
|
87
|
+
input: controller,
|
|
88
|
+
value: valueAry,
|
|
89
|
+
rels: rels,
|
|
90
|
+
title: props.title
|
|
91
|
+
});
|
|
92
|
+
// 触发输入后清除
|
|
93
|
+
valueAry = {};
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
} else {
|
|
97
|
+
log("".concat(EXE_TITLE_MAP["input"], " ").concat(props.title, " | ").concat(props.inputs[index]), JSON.stringify(value));
|
|
98
|
+
valueAry[props.inputs[index]] = value;
|
|
99
|
+
if (Object.keys(valueAry).length === length) {
|
|
100
|
+
createReactiveInputHandler({
|
|
101
|
+
input: controller,
|
|
102
|
+
value: valueAry,
|
|
103
|
+
rels: rels,
|
|
104
|
+
title: props.title
|
|
105
|
+
});
|
|
106
|
+
// 触发输入后清除
|
|
107
|
+
valueAry = {};
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
});
|
|
111
|
+
} else {
|
|
112
|
+
// 非多输入
|
|
113
|
+
var value = args[0];
|
|
114
|
+
if (value !== null && value !== void 0 && value[SUBJECT_SUBSCRIBE]) {
|
|
115
|
+
value[SUBJECT_SUBSCRIBE](function (value) {
|
|
116
|
+
log("".concat(EXE_TITLE_MAP["input"], " ").concat(props.title, " | ").concat(props.inputs[0]), JSON.stringify(value));
|
|
117
|
+
createReactiveInputHandler({
|
|
118
|
+
input: controller,
|
|
119
|
+
value: value,
|
|
120
|
+
rels: rels,
|
|
121
|
+
title: props.title
|
|
122
|
+
});
|
|
123
|
+
});
|
|
124
|
+
} else {
|
|
125
|
+
log("".concat(EXE_TITLE_MAP["input"], " ").concat(props.title, " | ").concat(props.inputs[0]), JSON.stringify(value));
|
|
126
|
+
createReactiveInputHandler({
|
|
127
|
+
input: controller,
|
|
128
|
+
value: value,
|
|
129
|
+
rels: rels,
|
|
130
|
+
title: props.title
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
return exeOutputs;
|
|
136
|
+
};
|
|
137
|
+
return exe;
|
|
138
|
+
};
|
|
@@ -0,0 +1,26 @@
|
|
|
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
|
+
};
|
|
@@ -0,0 +1,40 @@
|
|
|
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
|
+
};
|
|
@@ -0,0 +1,44 @@
|
|
|
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
|
+
};
|