UNPKG

@aeternity/aepp-calldata

Version:
34 lines (33 loc) 2.12 kB
"use strict"; 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;