@airgap/coinlib-core
Version:
The @airgap/coinlib-core is a protocol agnostic library to prepare, sign and broadcast cryptocurrency transactions.
29 lines • 1.57 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.RemoteDataFactory = void 0;
var HttpRemoteData_1 = require("./HttpRemoteData");
var IpfsRemoteData_1 = require("./IpfsRemoteData");
var Sha256RemoteData_1 = require("./Sha256RemoteData");
var RemoteDataFactory = /** @class */ (function () {
function RemoteDataFactory(extraFactoriesWithValidators) {
var _a;
if (extraFactoriesWithValidators === void 0) { extraFactoriesWithValidators = []; }
this.factoriesWithValidators = [
[HttpRemoteData_1.HttpRemoteData.validate, function (uri, _extra) { return HttpRemoteData_1.HttpRemoteData.from(uri); }],
[IpfsRemoteData_1.IpfsRemoteData.validate, function (uri, _extra) { return IpfsRemoteData_1.IpfsRemoteData.from(uri); }],
[Sha256RemoteData_1.Sha256RemoteData.validate, function (uri, _extra) { return Sha256RemoteData_1.Sha256RemoteData.from(uri); }]
];
(_a = this.factoriesWithValidators).push.apply(_a, extraFactoriesWithValidators);
}
RemoteDataFactory.prototype.create = function (uri, extra) {
var _a;
var _b = (_a = this.factoriesWithValidators.find(function (_a) {
var validator = _a[0], _ = _a[1];
return validator(uri);
})) !== null && _a !== void 0 ? _a : [undefined, undefined], factory = _b[1];
return factory ? factory(uri, extra) : undefined;
};
return RemoteDataFactory;
}());
exports.RemoteDataFactory = RemoteDataFactory;
//# sourceMappingURL=RemoteDataFactory.js.map