{"_id":"@allnulled/superif","name":"@allnulled/superif","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@allnulled/superif","version":"1.0.0","description":"Class to support scalable IF-ELSE structures.","main":"dist/superif.unbundled.js","directories":{"test":"test"},"scripts":{"test":""},"keywords":[],"author":"","license":"ISC","gitHead":"5bcf5dae3a9b4af469a8c6af1a460b169e2ee18f","_id":"@allnulled/superif@1.0.0","_nodeVersion":"18.17.1","_npmVersion":"9.6.7","dist":{"integrity":"sha512-o6BST8N4davnSM6rU8DO92+QcAfb/WiLC5nHIsPyUXs8ipwT+x3rLwXw4gjC62WK/ROhHM2GrgIHQx/2Y5CGkg==","shasum":"9c7b1eb91df6764360424d8c89be38643d6759dd","tarball":"https://registry.npmjs.org/@allnulled/superif/-/superif-1.0.0.tgz","fileCount":11,"unpackedSize":47604,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHH9CZilCt2lyui18sQi7n/QfH5YaHwjxIZPIH5Z7xRYAiEAzIBU0ttH4iUR46TPVHX5DprLbdEXTZTlrmEjPlQ4txk="}]},"_npmUser":{"name":"allnulled","email":"todosanulados@gmail.com"},"maintainers":[{"name":"allnulled","email":"todosanulados@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/superif_1.0.0_1734347961057_0.7184722930911525"},"_hasShrinkwrap":false}},"time":{"created":"2024-12-16T11:19:20.956Z","1.0.0":"2024-12-16T11:19:21.211Z","modified":"2024-12-16T11:19:21.523Z"},"maintainers":[{"name":"allnulled","email":"todosanulados@gmail.com"}],"description":"Class to support scalable IF-ELSE structures.","keywords":[],"license":"ISC","readme":"# superif\n\nClase en JS para crear estructuras IF-ELSE complejas.\n\n## Instalación\n\n### Descargar la librería\n\n```\nnpm install -s @allnulled/superif\n```\n\n### Importar la librería\n\n#### Modos de importar la librería\n\nDado que usa otras librerías, y pueden quererse usar desde otros módulos o no, puedes usar el archivo:\n\n  - `superif.js`: este fichero tiene todas las APIs necesarias.\n  - `superif.unbundled.js`: este fichero solo tiene la parte que le es propia, y sobreentiende que cargarás las otras librerías necesarias por tu propia cuenta.\n\n**NOTA:** Por defecto, se usa `superif.unbundled.js`.\n\n#### En node.js\n\nPuedes usar `require` o `import` indistintamente para importar el módulo.\n\n#### En browser\n\n```html\n<script src=\"node_modules/@allnulled/superif/dist/superif.js\"></script>\n```\n\nO alternativamente:\n\n```html\n<script src=\"node_modules/@allnulled/superif/dist/lib/ufs.js\"></script>\n<script src=\"node_modules/@allnulled/superif/dist/superif.unbundled.js\"></script>\n```\n\n## API\n\n### Crear un superif\n\nPara crear un superif, desde node.js puedes:\n\n```js\nconst superif = require(\"@allnulled/superif\").create();\n```\n\nSi estás en browser y no usas módulos, o si estás en node.js y no quieres usar require, puedes:\n\n```js\nconst superif = Superif.create();\n```\n\n### Usar un superif\n\nEste es un ejemplo de uso:\n\n```js\nconst Superif = require(__dirname + \"/../dist/superif.js\");\n\n// Crear una instancia\nconst superif = new Superif();\n\n// Definir condiciones (IFs)\nsuperif\n  .setCondition(\"isGreaterThan10\", async (input) => input > 10)\n  .setCondition(\"isEven\", async (input) => input % 2 === 0)\n  .setCondition(\"isAnswer\", async (input) => input === 42);\n\n// Definir acciones (THENs)\nsuperif\n  .setAction(\"isGreaterThan10\", async (input) => { console.log(`${input} es mayor que 10.`); })\n  .setAction(\"isEven\", async (input) => { console.log(`${input} es par.`); })\n  .setAction(\"isAnswer\", async (input) => { console.log(`${input} es la respuesta a todo.`); });\n\n// Ejecutar\nconst input = 42;\nsuperif.execute(input);\n\n// Quitar una acción\nsuperif.removeAction(\"isEven\");\n\n// Ejecutar nuevamente con una acción menos\nsuperif.execute(44);\n```","readmeFilename":"README.md"}