UNPKG

routeros-api

Version:

Mikrotik Routerboard RouterOS API for NodeJS

54 lines 2.74 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.RosApiMenu = void 0; const RosApiCommands_1 = require("./RosApiCommands"); const RosApiModel_1 = require("./RosApiModel"); class RosApiMenu { /** * Creates a handler for the menus * and creates Models * * @param rosApi The raw api */ constructor(rosApi) { /** * Toggles snake_case mode, defaults to camelCase */ this.snakeCase = false; this.rosApi = rosApi; } /** * Returns a set of operations to do over * the menu provided * * @param path The menu you want to do actions */ menu(path) { return new RosApiCommands_1.RosApiCommands(this.rosApi, path, this.snakeCase); } /** * Instead of transforming the routeros properties * to camelCase, transforms to snake_case */ useSnakeCase() { this.snakeCase = true; } /** * Creates a model of pre-made actions to do * with an item from any menu that has lists * * @param item The item of a menu (Ex: a single firewall rule, or an IP address) */ model(item) { if (Array.isArray(item)) { const items = []; for (const i of item) { items.push(new RosApiModel_1.RosApiModel(this.rosApi, i, this.snakeCase)); } return items; } return new RosApiModel_1.RosApiModel(this.rosApi, item, this.snakeCase); } } exports.RosApiMenu = RosApiMenu; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUm9zQXBpTWVudS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9Sb3NBcGlNZW51LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFEQUFrRDtBQUNsRCwrQ0FBNEM7QUFHNUMsTUFBYSxVQUFVO0lBWW5COzs7OztPQUtHO0lBQ0gsWUFBWSxNQUFtQjtRQVgvQjs7V0FFRztRQUNLLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFTL0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDekIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksSUFBSSxDQUFDLElBQVk7UUFDcEIsT0FBTyxJQUFJLCtCQUFjLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRDs7O09BR0c7SUFDSSxZQUFZO1FBQ2YsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7SUFDMUIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksS0FBSyxDQUFDLElBQVM7UUFDbEIsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3JCLE1BQU0sS0FBSyxHQUFrQixFQUFFLENBQUM7WUFDaEMsS0FBSyxNQUFNLENBQUMsSUFBSSxJQUFJLEVBQUU7Z0JBQ2xCLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSx5QkFBVyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO2FBQy9EO1lBQ0QsT0FBTyxLQUFLLENBQUM7U0FDaEI7UUFDRCxPQUFPLElBQUkseUJBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDOUQsQ0FBQztDQUNKO0FBeERELGdDQXdEQyJ9