UNPKG

ccxt

Version:

A JavaScript / TypeScript / Python / C# / PHP cryptocurrency trading library with support for 100+ exchanges

70 lines (64 loc) 2.12 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); // ---------------------------------------------------------------------------- // PLEASE DO NOT EDIT THIS FILE, IT IS GENERATED AND WILL BE OVERWRITTEN: // https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code // EDIT THE CORRESPONDENT .ts FILE INSTEAD exports.CairoResultVariant = void 0; (function (CairoResultVariant) { CairoResultVariant[CairoResultVariant["Ok"] = 0] = "Ok"; CairoResultVariant[CairoResultVariant["Err"] = 1] = "Err"; })(exports.CairoResultVariant || (exports.CairoResultVariant = {})); /** * Class to handle Cairo Result * @param variant CairoResultVariant.Ok or CairoResultVariant.Err * @param resultContent value of type T or U. * @returns an instance representing a Cairo Result. * @example * ```typescript * const myOption = new CairoResult<BigNumberish, CustomError>(CairoResultVariant.Ok, "0x54dda8"); * ``` */ class CairoResult { constructor(variant, resultContent) { if (!(variant in exports.CairoResultVariant)) { throw new Error('Wrong variant : should be CairoResultVariant.Ok or .Err.'); } if (variant === exports.CairoResultVariant.Ok) { this.Ok = resultContent; this.Err = undefined; } else { this.Ok = undefined; this.Err = resultContent; } } /** * * @returns the content of the valid variant of a Cairo Result. */ unwrap() { if (typeof this.Ok !== 'undefined') { return this.Ok; } if (typeof this.Err !== 'undefined') { return this.Err; } throw new Error('Both Result.Ok and .Err are undefined. Not authorized.'); } /** * * @returns true if the valid variant is 'Ok'. */ isOk() { return !(typeof this.Ok === 'undefined'); } /** * * @returns true if the valid variant is 'isErr'. */ isErr() { return !(typeof this.Err === 'undefined'); } } exports.CairoResult = CairoResult;