@aeternity/aepp-calldata
Version:
Aeternity data serialization library
34 lines (33 loc) • 2.12 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _assert = _interopRequireDefault(require("../utils/assert.cjs"));
var _zip = _interopRequireDefault(require("../utils/zip.cjs"));
var _PrimitiveDataFactory = _interopRequireDefault(require("./PrimitiveDataFactory.cjs"));
var _ListDataFactory = _interopRequireDefault(require("./ListDataFactory.cjs"));
var _SetDataFactory = _interopRequireDefault(require("./SetDataFactory.cjs"));
var _MapDataFactory = _interopRequireDefault(require("./MapDataFactory.cjs"));
var _TupleDataFactory = _interopRequireDefault(require("./TupleDataFactory.cjs"));
var _RecordDataFactory = _interopRequireDefault(require("./RecordDataFactory.cjs"));
var _VariantDataFactory = _interopRequireDefault(require("./VariantDataFactory.cjs"));
var _EventDataFactory = _interopRequireDefault(require("./EventDataFactory.cjs"));
var _Bls12381DataFactory = _interopRequireDefault(require("./Bls12381DataFactory.cjs"));
var _CallDataFactory = _interopRequireDefault(require("./CallDataFactory.cjs"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
class CompositeDataFactory {
constructor() {
this._factories = [new _PrimitiveDataFactory.default(this), new _ListDataFactory.default(this), new _SetDataFactory.default(this), new _MapDataFactory.default(this), new _TupleDataFactory.default(this), new _RecordDataFactory.default(this), new _EventDataFactory.default(this), new _VariantDataFactory.default(this), new _Bls12381DataFactory.default(this), new _CallDataFactory.default(this)];
}
createMultiple(types, values) {
(0, _assert.default)(values.length === types.length, `Number of types (${types.length}) and values (${values.length}) should match`);
return (0, _zip.default)(types, values).map(el => this.create(...el));
}
create(type, value) {
const factory = this._factories.find(f => f.supports(type));
(0, _assert.default)(factory, `Unsupported type "${type.name}"`);
return factory.create(type, value);
}
}
var _default = exports.default = CompositeDataFactory;