UNPKG

easy-api.ts

Version:

A powerful library to create your own API with ease.

1 lines 1.46 kB
Object.defineProperty(exports,"__esModule",{value:!0}),exports.convertionNames=exports.convertionConstants=void 0;let APIFunction_1=require("../../classes/structures/APIFunction"),Error_1=require("../../classes/structures/Error");function unparseDigital(e){var r=e.split(":").reverse();if(r.length<2)throw new Error('Digital format must be formed by "mm:ss" at least!');if(r.length>exports.convertionNames.length)throw new Error(`Digital format must be formed by "${exports.convertionNames.join(":")}" at most!`);let t=0;for(let e=0;e<r.length;e++){var n=parseInt(r[e]);if(isNaN(n))throw new Error(`Invalid time "${r[e]}" provided.`);t+=exports.convertionConstants[e](n)}return t}async function run(e,[r]){try{return unparseDigital(r)}catch(r){throw new Error_1.InvalidField("duration",e.function)}}exports.convertionConstants={0:e=>1e3*e,1:e=>60*e*1e3,2:e=>60*e*60*1e3,3:e=>24*e*60*60*1e3,4:e=>7*e*24*60*60*1e3},exports.convertionNames=["ss","mm","hh","dd","ww"].reverse();class UnparseDigitalFormat extends APIFunction_1.APIFunction{name="$unparseDigitalFormat";description="Unparses a digital duration text to milliseconds.";parameters=[{name:"Duration",description:"The duration text to unparse.",type:APIFunction_1.ParamType.String,required:!0,rest:!1,defaultValue:null}];returns=APIFunction_1.ParamType.Number;compile=!0;aliases=[];usage="$unparseDigitalFormat[duration]";example="$unparseDigitalFormat[02:00]";run=run}exports.default=UnparseDigitalFormat;