3.0.0-beta2 - renamed "argument" to "parameter" + added more exports

This commit is contained in:
mmacierzanka committed 2021-08-04 00:18:48 +02:00
1 parent aea31d26ca
commit 8d114eb726
6 files changed
+50 -45

No files matched your search

+42
View File
@@ -0,0 +1,42 @@
import { ParameterTypeError } from "./Error.js";
export type ParameterType = "STRING" | "BOOLEAN" | "INTEGER" | "FLOAT";
export type ParameterResolvable = string | boolean | number;
export interface Parameter {
name: string;
optional: boolean;
type: ParameterType;
}
export const ProcessArgument = (
a: string,
type: ParameterType
): ParameterResolvable => {
switch (type) {
case "STRING":
return a;
case "INTEGER":
const numI = parseInt(a);
if (isNaN(numI)) {
throw new ParameterTypeError(a, type);
} else {
return numI;
}
case "FLOAT":
const numF = parseFloat(a);
if (isNaN(numF)) {
throw new ParameterTypeError(a, type);
} else {
return numF;
}
case "BOOLEAN":
if (a.toLowerCase() == "true") {
return true;
} else if (a.toLowerCase() == "false") {
return false;
} else {
throw new ParameterTypeError(a, type);
}
default:
throw new TypeError("Invalied type specified");
}
};