@aeternity/aepp-calldata
Version:
Aeternity data serialization library
60 lines (59 loc) • 2.68 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _FateInt = _interopRequireDefault(require("../types/FateInt.cjs"));
var _FateBool = _interopRequireDefault(require("../types/FateBool.cjs"));
var _FateString = _interopRequireDefault(require("../types/FateString.cjs"));
var _FateHash = _interopRequireDefault(require("../types/FateHash.cjs"));
var _FateSignature = _interopRequireDefault(require("../types/FateSignature.cjs"));
var _FateBytes = _interopRequireDefault(require("../types/FateBytes.cjs"));
var _FateBits = _interopRequireDefault(require("../types/FateBits.cjs"));
var _FateAccountAddress = _interopRequireDefault(require("../types/FateAccountAddress.cjs"));
var _FateContractAddress = _interopRequireDefault(require("../types/FateContractAddress.cjs"));
var _FateChannelAddress = _interopRequireDefault(require("../types/FateChannelAddress.cjs"));
var _FateOracleAddress = _interopRequireDefault(require("../types/FateOracleAddress.cjs"));
var _FateOracleQueryAddress = _interopRequireDefault(require("../types/FateOracleQueryAddress.cjs"));
var _BaseDataFactory = _interopRequireDefault(require("./BaseDataFactory.cjs"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
const TYPES = ['int', 'bool', 'string', 'bits', 'hash', 'bytes', 'signature', 'account_pubkey', 'contract_pubkey', 'channel', 'oracle_pubkey', 'oracle_query_id'];
class PrimitiveDataFactory extends _BaseDataFactory.default {
supports({
name,
_valueTypes
}) {
return TYPES.includes(name);
}
create(type, value) {
switch (type.name) {
case 'int':
return new _FateInt.default(value);
case 'bool':
return new _FateBool.default(value);
case 'string':
return new _FateString.default(value);
case 'bits':
return new _FateBits.default(value);
case 'hash':
return new _FateHash.default(value);
case 'bytes':
return new _FateBytes.default(value, type.valueTypes);
case 'signature':
return new _FateSignature.default(value);
case 'account_pubkey':
return new _FateAccountAddress.default(value);
case 'contract_pubkey':
return new _FateContractAddress.default(value);
case 'channel':
return new _FateChannelAddress.default(value);
case 'oracle_pubkey':
return new _FateOracleAddress.default(value);
case 'oracle_query_id':
return new _FateOracleQueryAddress.default(value);
default:
throw new Error(`Unsupported type "${type.name}"`);
}
}
}
var _default = exports.default = PrimitiveDataFactory;