@oap75/types
Version:
JavaScript type definitions for Subsocial blockchain.
42 lines (41 loc) • 1.61 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.OptionEntity = exports.OptionOptionText = exports.OptionText = exports.OptionBool = exports.OptionId = void 0;
/* eslint-disable @typescript-eslint/adjacent-overload-signatures */
const types_1 = require("@polkadot/types");
const utils_1 = require("@subsocial/utils");
const registry_1 = __importDefault(require("../registry"));
class OptionId extends types_1.Option {
constructor(value) {
const textOrNull = value || new types_1.Null(registry_1.default);
super(registry_1.default, 'u64', textOrNull);
}
}
exports.OptionId = OptionId;
class OptionBool extends types_1.Option {
constructor(value) {
const boolOrNull = typeof value === 'boolean' ? value : new types_1.Null(registry_1.default);
super(registry_1.default, 'bool', boolOrNull);
}
}
exports.OptionBool = OptionBool;
class OptionText extends types_1.Option {
constructor(value) {
const textOrNull = (0, utils_1.nonEmptyStr)(value) ? value : new types_1.Null(registry_1.default);
super(registry_1.default, 'Text', textOrNull);
}
}
exports.OptionText = OptionText;
class OptionOptionText extends types_1.Option {
constructor(value) {
super(registry_1.default, 'Option<Text>', new OptionText(value));
}
}
exports.OptionOptionText = OptionOptionText;
function OptionEntity(value) {
return value || null;
}
exports.OptionEntity = OptionEntity;