提交 c1519099 编写于 作者: fxy060608's avatar fxy060608

wip(uts): runtime

上级 a7446b7d
import { isPlainObject, hasOwn, extend, capitalize, isStr as isString } from 'uni-shared'; import { isPlainObject, hasOwn, extend, capitalize, isString } from 'uni-shared';
let callbackId = 1; let callbackId = 1;
let proxy; let proxy;
...@@ -33,7 +33,7 @@ function resolveSyncResult(res, returnOptions, instanceId, proxy) { ...@@ -33,7 +33,7 @@ function resolveSyncResult(res, returnOptions, instanceId, proxy) {
res = JSON.parse(res); res = JSON.parse(res);
} }
if ((process.env.NODE_ENV !== 'production')) { if ((process.env.NODE_ENV !== 'production')) {
console.log('uts.invokeSync.result', res, returnOptions, instanceId, proxy); console.log('uts.invokeSync.result', res, returnOptions, instanceId, typeof proxy);
} }
if (res.errMsg) { if (res.errMsg) {
throw new Error(res.errMsg); throw new Error(res.errMsg);
...@@ -195,10 +195,11 @@ function initUTSProxyClass(options) { ...@@ -195,10 +195,11 @@ function initUTSProxyClass(options) {
//实例方法 //实例方法
name = parseClassMethodName(name, methods); name = parseClassMethodName(name, methods);
if (hasOwn(methods, name)) { if (hasOwn(methods, name)) {
const { async, params } = methods[name]; const { async, params, return: returnOptions } = methods[name];
target[name] = initUTSInstanceMethod(!!async, extend({ target[name] = initUTSInstanceMethod(!!async, extend({
name, name,
params, params,
return: returnOptions,
}, baseOptions), instanceId, proxy); }, baseOptions), instanceId, proxy);
} }
else if (props.includes(name)) { else if (props.includes(name)) {
...@@ -224,9 +225,9 @@ function initUTSProxyClass(options) { ...@@ -224,9 +225,9 @@ function initUTSProxyClass(options) {
name = parseClassMethodName(name, staticMethods); name = parseClassMethodName(name, staticMethods);
if (hasOwn(staticMethods, name)) { if (hasOwn(staticMethods, name)) {
if (!staticMethodCache[name]) { if (!staticMethodCache[name]) {
const { async, params } = staticMethods[name]; const { async, params, return: returnOptions } = staticMethods[name];
// 静态方法 // 静态方法
staticMethodCache[name] = initUTSStaticMethod(!!async, extend({ name, companion: true, params }, baseOptions)); staticMethodCache[name] = initUTSStaticMethod(!!async, extend({ name, companion: true, params, return: returnOptions }, baseOptions));
} }
return staticMethodCache[name]; return staticMethodCache[name];
} }
......
...@@ -15,6 +15,8 @@ export function isStr (str) { ...@@ -15,6 +15,8 @@ export function isStr (str) {
return typeof str === 'string' return typeof str === 'string'
} }
export const isString = isStr
export function isObject (obj) { export function isObject (obj) {
return obj !== null && typeof obj === 'object' return obj !== null && typeof obj === 'object'
} }
...@@ -27,7 +29,7 @@ export function hasOwn (obj, key) { ...@@ -27,7 +29,7 @@ export function hasOwn (obj, key) {
return hasOwnProperty.call(obj, key) return hasOwnProperty.call(obj, key)
} }
export function noop () { } export function noop () {}
export function toRawType (val) { export function toRawType (val) {
return _toString.call(val).slice(8, -1) return _toString.call(val).slice(8, -1)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册