UNPKG

routeros-api

Version:

Mikrotik Routerboard RouterOS API for NodeJS

74 lines 4.37 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.dashedCaseToSnakeCase = exports.dashedCaseToCamelCase = exports.camelCaseOrSnakeCaseToDashedCase = exports.lookForIdParameterAndReturnItsValue = exports.debounce = void 0; exports.debounce = (callback, timeout = 0) => { let timeoutObj = null; return { run: (...args) => { const context = this; clearTimeout(timeoutObj); timeoutObj = setTimeout(() => callback.apply(context, args), timeout); }, cancel: () => { clearTimeout(timeoutObj); }, }; }; /** * For for any .id search on the query and return it * * @param queries array of transformed query */ function lookForIdParameterAndReturnItsValue(queries) { let val = null; for (const query of queries) { if (query.includes("numbers=") || query.includes(".id=")) { val = query.split("=").pop(); } } return val; } exports.lookForIdParameterAndReturnItsValue = lookForIdParameterAndReturnItsValue; /** * Transform camelCase or snake_case to dashed-case, * so the routerboard can understand the parameters used * on this wrapper * * @param val to string to transform */ function camelCaseOrSnakeCaseToDashedCase(val) { // Clean any empty space left return val.replace(/ /g, "") // Convert camelCase to dashed .replace(/([a-z][A-Z])/g, (g, w) => { return g[0] + "-" + g[1].toLowerCase(); }) // Replace any underline to hiphen if used .replace(/_/g, "-"); } exports.camelCaseOrSnakeCaseToDashedCase = camelCaseOrSnakeCaseToDashedCase; /** * Transform routerboard's dashed-case to camelCase * so we can use objects properties without having to wrap * around quotes * * @param val the string to transform */ function dashedCaseToCamelCase(val) { return val.replace(/-([a-z])/g, (g) => { return g[1].toUpperCase(); }); } exports.dashedCaseToCamelCase = dashedCaseToCamelCase; /** * Transform routerboard's dashed-case to snake_case * so we can use objects properties without having to wrap * around quotes * * @param val the string to transform */ function dashedCaseToSnakeCase(val) { return val.replace(/-/g, "_"); } exports.dashedCaseToSnakeCase = dashedCaseToSnakeCase; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQWEsUUFBQSxRQUFRLEdBQUcsQ0FBQyxRQUFRLEVBQUUsT0FBTyxHQUFHLENBQUMsRUFBRSxFQUFFO0lBQzlDLElBQUksVUFBVSxHQUFHLElBQUksQ0FBQztJQUV0QixPQUFPO1FBQ0gsR0FBRyxFQUFFLENBQUMsR0FBRyxJQUFTLEVBQUUsRUFBRTtZQUNsQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUM7WUFDckIsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ3pCLFVBQVUsR0FBRyxVQUFVLENBQ25CLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxFQUNuQyxPQUFPLENBQ1YsQ0FBQztRQUNOLENBQUM7UUFFRCxNQUFNLEVBQUUsR0FBRyxFQUFFO1lBQ1QsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzdCLENBQUM7S0FDSixDQUFDO0FBQ04sQ0FBQyxDQUFDO0FBRUY7Ozs7R0FJRztBQUNILFNBQWdCLG1DQUFtQyxDQUFDLE9BQWlCO0lBQ2pFLElBQUksR0FBRyxHQUFHLElBQUksQ0FBQztJQUNmLEtBQUssTUFBTSxLQUFLLElBQUksT0FBTyxFQUFFO1FBQ3pCLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3RELEdBQUcsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO1NBQ2hDO0tBQ0o7SUFDRCxPQUFPLEdBQUcsQ0FBQztBQUNmLENBQUM7QUFSRCxrRkFRQztBQUVEOzs7Ozs7R0FNRztBQUNILFNBQWdCLGdDQUFnQyxDQUFDLEdBQVc7SUFDeEQsNkJBQTZCO0lBQzdCLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO1FBQ3hCLDhCQUE4QjtTQUM3QixPQUFPLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1FBQy9CLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDM0MsQ0FBQyxDQUFDO1FBQ0YsMENBQTBDO1NBQ3pDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7QUFDNUIsQ0FBQztBQVRELDRFQVNDO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsU0FBZ0IscUJBQXFCLENBQUMsR0FBVztJQUM3QyxPQUFPLEdBQUcsQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7UUFDbEMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDOUIsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDO0FBSkQsc0RBSUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxTQUFnQixxQkFBcUIsQ0FBQyxHQUFXO0lBQzdDLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7QUFDbEMsQ0FBQztBQUZELHNEQUVDIn0=