UNPKG

@aeternity/aepp-sdk

Version:
148 lines (134 loc) 6.28 kB
import _Object$keys from "@babel/runtime-corejs3/core-js-stable/object/keys"; import _Object$getOwnPropertySymbols from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols"; import _Object$getOwnPropertyDescriptor from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor"; import _forEachInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/for-each"; import _Object$getOwnPropertyDescriptors from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors"; import _Object$defineProperties from "@babel/runtime-corejs3/core-js-stable/object/define-properties"; import _Object$defineProperty from "@babel/runtime-corejs3/core-js-stable/object/define-property"; import _typeof from "@babel/runtime-corejs3/helpers/typeof"; import _asyncToGenerator from "@babel/runtime-corejs3/helpers/asyncToGenerator"; import _defineProperty from "@babel/runtime-corejs3/helpers/defineProperty"; import _filterInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/filter"; import _findInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/find"; import _regeneratorRuntime from "@babel/runtime-corejs3/regenerator"; function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); if (enumerableOnly) symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { var _context3; _forEachInstanceProperty(_context3 = ownKeys(Object(source), true)).call(_context3, function (key) { _defineProperty(target, key, source[key]); }); } else if (_Object$getOwnPropertyDescriptors) { _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)); } else { var _context4; _forEachInstanceProperty(_context4 = ownKeys(Object(source))).call(_context4, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } } return target; } /** * Browser helper functions */ import { isAccountBase } from '../../account/base'; export var getBrowserAPI = function getBrowserAPI() { var force = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; var _window = window, chrome = _window.chrome, browser = _window.browser; // Chrome, Opera support if (typeof chrome !== 'undefined' && chrome === Object(chrome)) return chrome; // Firefox support if (typeof browser !== 'undefined' && browser === Object(browser)) return browser; if (!force) throw new Error('Browser is not detected'); return {}; }; export var isInIframe = function isInIframe() { return window !== window.parent; }; /** * RPC helper functions */ export var sendMessage = function sendMessage(connection) { var messageId = 0; return function (_ref) { var id = _ref.id, method = _ref.method, params = _ref.params, result = _ref.result, error = _ref.error; var isNotificationOrResponse = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; // Increment id for each request isNotificationOrResponse || (messageId += 1); id = isNotificationOrResponse ? id || null : messageId; var msgData = params ? { params: params } : result ? { result: result } : { error: error }; connection.sendMessage(_objectSpread(_objectSpread({ jsonrpc: '2.0' }, id ? { id: id } : {}), {}, { method: method }, msgData)); return id; }; }; export var getHandler = function getHandler(schema, msg) { var _ref2 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}, _ref2$debug = _ref2.debug, debug = _ref2$debug === void 0 ? false : _ref2$debug; var handler = schema[msg.method]; if (!handler || typeof handler !== 'function') { debug && console.log("Unknown message method ".concat(msg.method)); return function () { return /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() { return _regeneratorRuntime.wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: return _context.abrupt("return", true); case 1: case "end": return _context.stop(); } } }, _callee); })); }; } return handler; }; export var message = function message(method) { var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; return { method: method, params: params }; }; export var responseMessage = function responseMessage(id, method) { var _ref4 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}, error = _ref4.error, result = _ref4.result; return _objectSpread({ id: id, method: method }, error ? { error: error } : { result: result }); }; export var sendResponseMessage = function sendResponseMessage(client) { return function (id, method, data) { return client.sendMessage(responseMessage(id, method, data), true); }; }; export var voidFn = function voidFn() { return undefined; }; export var isValidAccounts = function isValidAccounts(accounts) { var _context2; return _filterInstanceProperty(_context2 = ['', 'connected', 'current']).call(_context2, function (k) { return _typeof(k ? accounts[k] : accounts) === 'object'; }).length === 3; }; export var resolveOnAccount = function resolveOnAccount(addresses, onAccount) { var opt = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; if (!_findInstanceProperty(addresses).call(addresses, function (a) { return a === onAccount; })) { if (_typeof(opt.onAccount) !== 'object' || !isAccountBase(opt.onAccount)) throw new Error('Provided onAccount should be an AccountBase'); onAccount = opt.onAccount; } return onAccount; }; //# sourceMappingURL=helpers.js.map