UNPKG

@darkpay/dark-types

Version:

JavaScript type definitions for Darkdot blockchain.

59 lines (58 loc) 1.72 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.ProductExtension = exports.Comment = exports.SharedProduct = exports.RegularProduct = void 0; /* eslint-disable @typescript-eslint/adjacent-overload-signatures */ const types_1 = require("@polkadot/types"); const registry_1 = __importDefault(require("../registry")); class RegularProduct extends types_1.Null { } exports.RegularProduct = RegularProduct; class SharedProduct extends types_1.u64 { } exports.SharedProduct = SharedProduct; class Comment extends types_1.Struct { constructor(value) { super(registry_1.default, { parent_id: 'Option<u64>', root_product_id: 'u64' }, value); } get parent_id() { return this.get('parent_id'); } get root_product_id() { return this.get('root_product_id'); } } exports.Comment = Comment; class ProductExtension extends types_1.Enum { constructor(value) { super(registry_1.default, { RegularProduct, Comment: Comment, SharedProduct }, value); } get isComment() { return this.type === 'Comment'; } get asComment() { return this.value; } get isRegularProduct() { return this.type === 'RegularProduct'; } get isSharedProduct() { return this.type === 'SharedProduct'; } get isSharedComment() { return this.type === 'SharedComment'; } get asSharedProduct() { return this.value; } } exports.ProductExtension = ProductExtension;