@polkadot/react-api
Version:
A collection of RxJs React components the Polkadot JS API
40 lines (30 loc) • 1.28 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = withApi;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _react = _interopRequireDefault(require("react"));
var _util = require("@polkadot/util");
var _ApiContext = require("../ApiContext");
// Copyright 2017-2020 @polkadot/react-api authors & contributors
// This software may be modified and distributed under the terms
// of the Apache-2.0 license. See the LICENSE file for details.
function withApi(Inner, defaultProps = {}) {
var _temp;
return _temp = class WithApi extends _react.default.PureComponent {
constructor(...args) {
super(...args);
this.component = _react.default.createRef();
}
render() {
return _react.default.createElement(_ApiContext.ApiConsumer, null, apiProps => {
(0, _util.assert)(apiProps && apiProps.api, 'Application root must be wrapped inside \'react-api/Api\' to provide API context');
return _react.default.createElement(Inner, (0, _extends2.default)({}, defaultProps, apiProps, this.props, {
ref: this.component
}));
});
}
}, _temp;
}