{"_id":"f-async-resolver","_rev":"1-2e2cd14286c71eeccf4d751442fb0141","name":"f-async-resolver","dist-tags":{"latest":"0.0.1"},"versions":{"0.0.1":{"name":"f-async-resolver","version":"0.0.1","description":"Make your functions async without the need of doing it in the same Function","main":"index.js","scripts":{"test":"node index.js"},"keywords":["resolver","async","async function","f()","promise","promises","outside function"],"author":{"name":"yaxeldragon"},"license":"ISC","_id":"f-async-resolver@0.0.1","_nodeVersion":"13.12.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-W0+XgMkn1FffY/4WQPKFseyJR1lyZc2GBjtirPbSuobv8VWBwPEmp6g8kqkZ+3kDOby0yppvxBJH3D205uCQkA==","shasum":"5c182541140a8b67d049e76e6cddf695c1c64b80","tarball":"https://registry.npmjs.org/f-async-resolver/-/f-async-resolver-0.0.1.tgz","fileCount":3,"unpackedSize":6213,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe0+/yCRA9TVsSAnZWagAA2VkP/2gOKFjivRQy2t4SVd+7\nraPT1h/i/+CmoWADKTWuNgMAb1NUKNRjsrIdz42YC+AoCySAHItfAsOALd/c\nprYCzyk8VZbyJ4syf2gw0EUPOqlwZq2PZah9Xjynf23rxT2qr+gec4uMN5aG\nV0txw86jDRvoXe7f18nwlx4OLON8ceIQPnZl+7b0XvPZ+rrCySqMGzQRwVTP\n9DoXnj627+lzUqeNhE3rZ6SIWZkF8cEjkEThX+iRY2T4sMoVWo0R5Qg/SDLv\nMABag0w1CrUYkN0kw6KGenhgIl24JjpCayYQ+8ofy3L51/D3YeF9soFa/yFm\n6cp+Yc1Y2x4DTICphDquksjHUDyVzroavW8FxT9Hgc+6/VPMKy4yg8L3z7JK\nLs1JY1zYGC1wpS5cSboAzSqq8GageOr4KbrqJX7jRooHaxNKRHLmg1NYJ9zn\noZHOVrm8RjCmpISiq6Luw8L0aexe3M2YEXrJapehw7qCZZcyz7k5LqKJDCny\n4aA/rrJTU0I+SOwOjQsf0+OAGQ+59pe+Y0FeuGvbPEWf4+EWDG2/xswfsY37\nnL9ur6qdrqe5ROWtfNAHCahMz04ltH8a2xq3+RaVlrRPq+JjE9A9Wf/YlLFX\nLPOtWJuGYost7WZ40UyshQ2SxYJz6S3mBJOo65nKBUIhSiDwbs56c4btYYmU\n5fTR\r\n=dOGp\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICoi36HG6IOz7zjnPe0nwcy1vXkdyerODOTK0QhjMJHHAiAU7YYSprzIXNsttvQ3QedQGfhLoA7pkXXqtbVqbPodSw=="}]},"maintainers":[{"name":"yaxeldragon","email":"yaxelyt@gmail.com"}],"_npmUser":{"name":"yaxeldragon","email":"yaxelyt@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/f-async-resolver_0.0.1_1590947825887_0.8260053125762756"},"_hasShrinkwrap":false}},"time":{"created":"2020-05-31T17:57:05.887Z","0.0.1":"2020-05-31T17:57:06.044Z","modified":"2022-05-02T01:55:49.943Z"},"maintainers":[{"name":"yaxeldragon","email":"yaxelyt@gmail.com"}],"description":"Make your functions async without the need of doing it in the same Function","keywords":["resolver","async","async function","f()","promise","promises","outside function"],"author":{"name":"yaxeldragon"},"license":"ISC","readme":"# f-async-resolver\r\nMake your functionas **async**.\r\n\r\nThis module is made so you can **make your funcions async** and return a value **without the need of having it in the same function**. For example returning an answer from a server in a WebSocket connection.\r\n\r\n\r\n## Installing\r\n```\r\nnpm i f-async-resolver\r\n```\r\n\r\n## Initializing\r\n```js\r\nconst async = require('f-async-resolver').resolver;\r\nconst resolver = new async();\r\n```\r\n\r\n## Examples\r\nAwaiting for a Number\r\n```js\r\nconst async = require('f-async-resolver');\r\nconst resolver = new async.resolver();\r\nfunction number() {\r\n    return new Promise(solver => {\r\n        resolver.await('number', solver);\r\n    });\r\n}\r\n\r\nnumber.then(number => {\r\n    console.log(number);\r\n});\r\n\r\nsetTimeout(() => {\r\n    resolver.resolve('number', 15);\r\n}, 1000);\r\n\r\n/*\r\nOutput (1 Second after running the Code) \r\n> 15\r\n*/\r\n\r\n```\r\n\r\n\r\nAwaiting for **[WebSockets](https://www.npmjs.com/package/ws) message**.\r\n```js\r\nconst async = require('f-async-resolver');\r\nconst resolver = new async.resolver();\r\nconst WebSocket = require('ws');\r\n\r\n\r\nclass database {\r\n    constructor(IP) {\r\n        this.ws = new WebSocket('ws://127.0.0.1:4000');  // Connects to a Server.\r\n        this.ws.onopen = this.onopen.bind(this);         // Simple function Bind.\r\n        this.ws.onmessage = this.onmessage.bind(this);   // Simple function Bind.\r\n    }\r\n    onopen() {\r\n        console.log('Connected!');\r\n    }\r\n    get() {\r\n        return new Promise(solver => {                  // Returns a Promise and makes 'solver' to solve.\r\n            this.ws.send({\r\n                type: 'getDatabase'\r\n            });                                          // Sends a message to the Server\r\n            resolver.await('getDB', solver);             // Sets label and function to Solve.\r\n        });\r\n    }\r\n    onmessage(msg) {\r\n        resolver.resolve('getDB', msg);                  // Solves 'getDB' label with msg value.\r\n    }\r\n};\r\n\r\nconst connection = new database('ws://127.0.0.1:4000');\r\nconnection.get().then(msg => {\r\n    console.log('Awaited for ' + msg);                   // Shows the message Recieved.\r\n});\r\n```","readmeFilename":"README.md"}