@sega-so/sega-sdk
Version:
An SDK for building applications on top of SEGA.
2 lines • 4.04 kB
JavaScript
"use strict";var w=Object.create;var g=Object.defineProperty;var S=Object.getOwnPropertyDescriptor;var y=Object.getOwnPropertyNames;var U=Object.getPrototypeOf,O=Object.prototype.hasOwnProperty;var v=(e,r)=>{for(var i in r)g(e,i,{get:r[i],enumerable:!0})},W=(e,r,i,o)=>{if(r&&typeof r=="object"||typeof r=="function")for(let t of y(r))!O.call(e,t)&&t!==i&&g(e,t,{get:()=>r[t],enumerable:!(o=S(r,t))||o.enumerable});return e};var m=(e,r,i)=>(i=e!=null?w(U(e)):{},W(r||!e||!e.__esModule?g(i,"default",{value:e,enumerable:!0}):i,e)),x=e=>W(g({},"__esModule",{value:!0}),e);var E={};v(E,{Fraction:()=>h});module.exports=x(E);var s=m(require("big.js")),L=m(require("bn.js")),F=m(require("decimal.js-light"));var p=require("lodash");var l=class{constructor(r){this.logLevel=r.logLevel!==void 0?r.logLevel:0,this.name=r.name}set level(r){this.logLevel=r}get time(){return Date.now().toString()}get moduleName(){return this.name}isLogLevel(r){return r<=this.logLevel}error(...r){return this.isLogLevel(0)?(console.error(this.time,this.name,"sdk logger error",...r),this):this}logWithError(...r){let i=r.map(o=>typeof o=="object"?JSON.stringify(o):o).join(", ");throw new Error(i)}warning(...r){return this.isLogLevel(1)?(console.warn(this.time,this.name,"sdk logger warning",...r),this):this}info(...r){return this.isLogLevel(2)?(console.info(this.time,this.name,"sdk logger info",...r),this):this}debug(...r){return this.isLogLevel(3)?(console.debug(this.time,this.name,"sdk logger debug",...r),this):this}},D={},C={};function c(e){let r=(0,p.get)(D,e);if(!r){let i=(0,p.get)(C,e);r=new l({name:e,logLevel:i}),(0,p.set)(D,e,r)}return r}var a=m(require("bn.js"));var B=9007199254740991;function n(e){let r=c("Sega_parseBigNumberish");if(e instanceof a.default)return e;if(typeof e=="string"){if(e.match(/^-?[0-9]+$/))return new a.default(e);r.logWithError(`invalid BigNumberish string: ${e}`)}return typeof e=="number"?(e%1&&r.logWithError(`BigNumberish number underflow: ${e}`),(e>=B||e<=-B)&&r.logWithError(`BigNumberish number overflow: ${e}`),new a.default(String(e))):typeof e=="bigint"?new a.default(e.toString()):(r.error(`invalid BigNumberish value: ${e}`),new a.default(0))}var N=m(require("toformat")),R=N.default,f=R;var d=c("module/fraction"),b=f(s.default),u=f(F.default),P={0:u.ROUND_DOWN,1:u.ROUND_HALF_UP,2:u.ROUND_UP},k={0:s.default.roundDown,1:s.default.roundHalfUp,2:s.default.roundUp},h=class e{constructor(r,i=new L.default(1)){this.numerator=n(r),this.denominator=n(i)}get quotient(){return this.numerator.div(this.denominator)}invert(){return new e(this.denominator,this.numerator)}add(r){let i=r instanceof e?r:new e(n(r));return this.denominator.eq(i.denominator)?new e(this.numerator.add(i.numerator),this.denominator):new e(this.numerator.mul(i.denominator).add(i.numerator.mul(this.denominator)),this.denominator.mul(i.denominator))}sub(r){let i=r instanceof e?r:new e(n(r));return this.denominator.eq(i.denominator)?new e(this.numerator.sub(i.numerator),this.denominator):new e(this.numerator.mul(i.denominator).sub(i.numerator.mul(this.denominator)),this.denominator.mul(i.denominator))}mul(r){let i=r instanceof e?r:new e(n(r));return new e(this.numerator.mul(i.numerator),this.denominator.mul(i.denominator))}div(r){let i=r instanceof e?r:new e(n(r));return new e(this.numerator.mul(i.denominator),this.denominator.mul(i.numerator))}toSignificant(r,i={groupSeparator:""},o=1){Number.isInteger(r)||d.logWithError(`${r} is not an integer.`),r<=0&&d.logWithError(`${r} is not positive.`),u.set({precision:r+1,rounding:P[o]});let t=new u(this.numerator.toString()).div(this.denominator.toString()).toSignificantDigits(r);return t.toFormat(t.decimalPlaces(),i)}toFixed(r,i={groupSeparator:""},o=1){return Number.isInteger(r)||d.logWithError(`${r} is not an integer.`),r<0&&d.logWithError(`${r} is negative.`),b.DP=r,b.RM=k[o]||1,new b(this.numerator.toString()).div(this.denominator.toString()).toFormat(r,i)}isZero(){return this.numerator.isZero()}};0&&(module.exports={Fraction});
//# sourceMappingURL=fraction.js.map