Dedup class creation (#2573)

This commit is contained in:
Jaco Greeff
2020-09-03 08:41:15 +02:00
committed by GitHub
parent c8cb441a82
commit 95dd13e218
@@ -12,6 +12,8 @@ import createClass from './createClass';
type Creator<ApiType extends ApiTypes> = (extrinsic: Call | Uint8Array | string) => SubmittableExtrinsic<ApiType>;
export default function createSubmittable<ApiType extends ApiTypes> (apiType: ApiTypes, api: ApiInterfaceRx, decorateMethod: ApiBase<ApiType>['_decorateMethod']): Creator<ApiType> {
const Submittable = createClass<ApiType>({ api, apiType, decorateMethod });
return (extrinsic: Call | Extrinsic | Uint8Array | string): SubmittableExtrinsic<ApiType> =>
new (createClass<ApiType>({ api, apiType, decorateMethod }))(api.registry, extrinsic);
new Submittable(api.registry, extrinsic);
}