@aeternity/aepp-calldata
Version:
Aeternity data serialization library
26 lines (25 loc) • 944 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _FateList = _interopRequireDefault(require("../types/FateList.cjs"));
var _FateTypeError = _interopRequireDefault(require("../Errors/FateTypeError.cjs"));
var _BaseDataFactory = _interopRequireDefault(require("./BaseDataFactory.cjs"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
class ListDataFactory extends _BaseDataFactory.default {
supports({
name,
_valueTypes
}) {
return 'list' === name;
}
create(type, value) {
if (!Array.isArray(value)) {
throw new _FateTypeError.default(type.name, `Fate list must be an Array, got ${value} instead`);
}
const resolvedValues = value.map(v => this.valueFactory.create(type.valuesType, v));
return new _FateList.default(type.valuesType, resolvedValues);
}
}
var _default = exports.default = ListDataFactory;