@arcblock/bridge 2.11.29 → 2.11.31
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/lib/index.js +68 -0
- package/package.json +2 -2
- package/src/index.js +58 -0
package/lib/index.js
CHANGED
|
@@ -6,6 +6,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _dsbridge = _interopRequireDefault(require("./dsbridge"));
|
|
8
8
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
10
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
11
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
12
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
13
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
14
|
+
const BRIDGE_VERSION = '1';
|
|
9
15
|
var _default = exports.default = {
|
|
10
16
|
register() {
|
|
11
17
|
if (_dsbridge.default.canUseBridge()) {
|
|
@@ -142,5 +148,67 @@ var _default = exports.default = {
|
|
|
142
148
|
fail(result);
|
|
143
149
|
}
|
|
144
150
|
});
|
|
151
|
+
},
|
|
152
|
+
/**
|
|
153
|
+
* 带有 arc 命名空间的方法调用
|
|
154
|
+
* @param {string} eventName 目标的方法名
|
|
155
|
+
* @param {object} [params] 调用的参数,只能为 object
|
|
156
|
+
* @returns {Promise<any>}
|
|
157
|
+
*/
|
|
158
|
+
callArc(eventName) {
|
|
159
|
+
let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
160
|
+
return new Promise((resolve, reject) => {
|
|
161
|
+
const namespace = 'arc';
|
|
162
|
+
const fnName = [namespace, eventName].join('__');
|
|
163
|
+
const mergedParams = _objectSpread(_objectSpread({}, params), {}, {
|
|
164
|
+
_version: BRIDGE_VERSION
|
|
165
|
+
});
|
|
166
|
+
_dsbridge.default.call(fnName, mergedParams, resString => {
|
|
167
|
+
try {
|
|
168
|
+
const result = JSON.parse(resString);
|
|
169
|
+
if ((result === null || result === void 0 ? void 0 : result._version) === BRIDGE_VERSION) {
|
|
170
|
+
if (result.code === 0) {
|
|
171
|
+
try {
|
|
172
|
+
const data = JSON.parse(result.data);
|
|
173
|
+
resolve(data);
|
|
174
|
+
} catch (_unused2) {
|
|
175
|
+
console.warn('Failed to parse result.data');
|
|
176
|
+
resolve(result.data);
|
|
177
|
+
}
|
|
178
|
+
} else {
|
|
179
|
+
reject(new Error(result.error));
|
|
180
|
+
}
|
|
181
|
+
} else {
|
|
182
|
+
// DEPRECATED: @zhanghan 兼容旧版本的 native 响应
|
|
183
|
+
resolve(result);
|
|
184
|
+
}
|
|
185
|
+
} catch (_unused3) {
|
|
186
|
+
console.warn('Failed to parse resString');
|
|
187
|
+
resolve(resString);
|
|
188
|
+
}
|
|
189
|
+
});
|
|
190
|
+
});
|
|
191
|
+
},
|
|
192
|
+
registerBlocklet(eventName) {
|
|
193
|
+
let cb = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : () => {};
|
|
194
|
+
if (_dsbridge.default.canUseBridge()) {
|
|
195
|
+
const namespace = 'blocklet';
|
|
196
|
+
const cbName = [namespace, eventName].join('__');
|
|
197
|
+
_dsbridge.default.registerAsyn(cbName, function () {
|
|
198
|
+
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
199
|
+
args[_key2] = arguments[_key2];
|
|
200
|
+
}
|
|
201
|
+
const parsedArgs = args.map(x => {
|
|
202
|
+
try {
|
|
203
|
+
return JSON.parse(x);
|
|
204
|
+
} catch (_unused4) {
|
|
205
|
+
return x;
|
|
206
|
+
}
|
|
207
|
+
});
|
|
208
|
+
cb(...parsedArgs);
|
|
209
|
+
});
|
|
210
|
+
} else {
|
|
211
|
+
console.warn('dsbridge is not available');
|
|
212
|
+
}
|
|
145
213
|
}
|
|
146
214
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@arcblock/bridge",
|
|
3
|
-
"version": "2.11.
|
|
3
|
+
"version": "2.11.31",
|
|
4
4
|
"description": "a bridge sdk support all js api from DID Wallet.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"bridge",
|
|
@@ -38,5 +38,5 @@
|
|
|
38
38
|
"eslint-plugin-react-hooks": "^4.6.0",
|
|
39
39
|
"jest": "^29.7.0"
|
|
40
40
|
},
|
|
41
|
-
"gitHead": "
|
|
41
|
+
"gitHead": "31368d3bf32245481ff96e7946ade7062df01e6e"
|
|
42
42
|
}
|
package/src/index.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import dsbridge from './dsbridge';
|
|
2
2
|
|
|
3
|
+
const BRIDGE_VERSION = '1';
|
|
4
|
+
|
|
3
5
|
export default {
|
|
4
6
|
register(...args) {
|
|
5
7
|
if (dsbridge.canUseBridge()) {
|
|
@@ -112,4 +114,60 @@ export default {
|
|
|
112
114
|
}
|
|
113
115
|
});
|
|
114
116
|
},
|
|
117
|
+
|
|
118
|
+
/**
|
|
119
|
+
* 带有 arc 命名空间的方法调用
|
|
120
|
+
* @param {string} eventName 目标的方法名
|
|
121
|
+
* @param {object} [params] 调用的参数,只能为 object
|
|
122
|
+
* @returns {Promise<any>}
|
|
123
|
+
*/
|
|
124
|
+
callArc(eventName, params = {}) {
|
|
125
|
+
return new Promise((resolve, reject) => {
|
|
126
|
+
const namespace = 'arc';
|
|
127
|
+
const fnName = [namespace, eventName].join('__');
|
|
128
|
+
const mergedParams = { ...params, _version: BRIDGE_VERSION };
|
|
129
|
+
dsbridge.call(fnName, mergedParams, (resString) => {
|
|
130
|
+
try {
|
|
131
|
+
const result = JSON.parse(resString);
|
|
132
|
+
if (result?._version === BRIDGE_VERSION) {
|
|
133
|
+
if (result.code === 0) {
|
|
134
|
+
try {
|
|
135
|
+
const data = JSON.parse(result.data);
|
|
136
|
+
resolve(data);
|
|
137
|
+
} catch {
|
|
138
|
+
console.warn('Failed to parse result.data');
|
|
139
|
+
resolve(result.data);
|
|
140
|
+
}
|
|
141
|
+
} else {
|
|
142
|
+
reject(new Error(result.error));
|
|
143
|
+
}
|
|
144
|
+
} else {
|
|
145
|
+
// DEPRECATED: @zhanghan 兼容旧版本的 native 响应
|
|
146
|
+
resolve(result);
|
|
147
|
+
}
|
|
148
|
+
} catch {
|
|
149
|
+
console.warn('Failed to parse resString');
|
|
150
|
+
resolve(resString);
|
|
151
|
+
}
|
|
152
|
+
});
|
|
153
|
+
});
|
|
154
|
+
},
|
|
155
|
+
registerBlocklet(eventName, cb = () => {}) {
|
|
156
|
+
if (dsbridge.canUseBridge()) {
|
|
157
|
+
const namespace = 'blocklet';
|
|
158
|
+
const cbName = [namespace, eventName].join('__');
|
|
159
|
+
dsbridge.registerAsyn(cbName, (...args) => {
|
|
160
|
+
const parsedArgs = args.map((x) => {
|
|
161
|
+
try {
|
|
162
|
+
return JSON.parse(x);
|
|
163
|
+
} catch {
|
|
164
|
+
return x;
|
|
165
|
+
}
|
|
166
|
+
});
|
|
167
|
+
cb(...parsedArgs);
|
|
168
|
+
});
|
|
169
|
+
} else {
|
|
170
|
+
console.warn('dsbridge is not available');
|
|
171
|
+
}
|
|
172
|
+
},
|
|
115
173
|
};
|