{"_id":"@aminnairi/environment","_rev":"4-048eaaaa737799e4220116c9c24a17fe","name":"@aminnairi/environment","dist-tags":{"latest":"0.2.2"},"versions":{"0.1.0":{"author":{"name":"Amin NAIRI","url":"https://github.com/aminnairi"},"bugs":{"url":"https://github.com/aminnairi/environment/issues"},"description":"Easily parse your environment","homepage":"https://github.com/aminnairi/environment#readme","keywords":["env","dotenv","environment"],"license":"MIT","main":"environment.min.js","name":"@aminnairi/environment","repository":{"directory":".","type":"git","url":"git+https://github.com/aminnairi/environment.git"},"types":"environment.d.ts","version":"0.1.0","scripts":{"tests":"mocha environment.spec.js","build":"rollup --config rollup.config.js"},"devDependencies":{"chai":"^4.3.1","mocha":"^8.3.0","rollup":"^2.40.0","rollup-plugin-terser":"^7.0.2"},"gitHead":"740e02f4bf37374f2d6ab538352990f1b7a343f9","_id":"@aminnairi/environment@0.1.0","_nodeVersion":"15.10.0","_npmVersion":"7.5.3","dist":{"integrity":"sha512-EGBfqWcZl9LPZTTfsOzv5lXypIAk3W1LCurq8JL4a1VziuHdK4C8lGpM0YV+filycCTsNTD9GJLFz7WMs9NN9w==","shasum":"3db6233f6f4e024d54189060a5e35b0b07a93842","tarball":"https://registry.npmjs.org/@aminnairi/environment/-/environment-0.1.0.tgz","fileCount":6,"unpackedSize":8459,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgP9vbCRA9TVsSAnZWagAAw9QP/RRrTuydrm6OecLAaLYj\n1uhQIsMaAtR2aghvwV37CG+CtBVAlbC5K36L5uyxoAV6QZ9f6QAlQWN3cmnH\nBKN4H5nCucsdtNPY+T3lAK28slf8WxI1AX1QPjFbBr18XQ5QZe6xgeOihtnM\nsgF09hjwuYkcU7Z5+JMH6i688JPU/KNvaSOF9vLw8Zfs5g+Z8oSGi8uxpLgM\nXZmWUjYCVnMM8opNlr+IWU74YgJzTuh0OXDt3it0BDDWhW+wzCMiVmljQJOa\nKRJiBmc5XBAX9Ecz6/hd0+nmqYgcwUZaUbud13VyZD3oaXg+eklacE89mgCA\noAOd4yvgMLrFmQY/LC2Y/yV13an+7G7x6XD3vCyPc6YKKBKdEQSKRDsbmYc7\n4+j9WiyvHTIP16Q7/ETWDsIb72NzgiDFXt+BONtlay9rd4xp/SxoZVjOiDhA\nmpJj3v5no2kVJnrd7Z4BDcTPsPrpeO96Y1IH4yVzdOF5pDFrb+AU3JJafDjs\nziSZNPx/pR55Mh2h43xSOPP1SQyMku/j1vxUR/wpGwhxe3Axs9pciviQBGRl\nmjiNX6WzEly4ePci/eViAgG9Xlr57GEzZaiFFMYTRVds1jZit7iHldKG1OH+\niJ7GtCMk8/rBiZd9Y+rM1P0RwVNgeGwAvd6yxgw5NZ+1SyFu8d0Rt0mCWdOB\niKyF\r\n=4AFf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCtvagtCHcggXV2cj4lboBoBbQChhgFcCULXXZTa7ilowIhAIH/ZhTu+MinXysqRa2RpjPAbYsBzlvR5PO6IHleHsZc"}]},"_npmUser":{"name":"aminnairi","email":"nairi.amin@gmail.com"},"directories":{},"maintainers":[{"name":"aminnairi","email":"nairi.amin@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/environment_0.1.0_1614797787080_0.9760386447643727"},"_hasShrinkwrap":false},"0.2.0":{"author":{"name":"Amin NAIRI","url":"https://github.com/aminnairi"},"bugs":{"url":"https://github.com/aminnairi/environment/issues"},"description":"Easily parse your environment","homepage":"https://github.com/aminnairi/environment#readme","keywords":["env","dotenv","environment"],"license":"MIT","main":"environment.min.js","name":"@aminnairi/environment","engines":{"node":">=15.0.0"},"repository":{"directory":".","type":"git","url":"git+https://github.com/aminnairi/environment.git"},"types":"environment.d.ts","version":"0.2.0","scripts":{"tests":"mocha environment.spec.js","build":"rollup --config rollup.config.js"},"devDependencies":{"chai":"4.3.1","mocha":"8.3.0","rollup":"2.40.0","rollup-plugin-terser":"7.0.2"},"gitHead":"f036d66597c59dea95a4b5daa72c667f825c4b93","_id":"@aminnairi/environment@0.2.0","_nodeVersion":"15.11.0","_npmVersion":"7.6.0","dist":{"integrity":"sha512-fpVnFqnbHJYSE41me3H5AIYL5oR7TyOKKCKFSY3OMJ8vq9PnpBjKnQcdRnfKydwRhYIAL9pIQrmqPj7QvXLMkA==","shasum":"6450c0f77ced86a350ced32b5d36c6215bc458e8","tarball":"https://registry.npmjs.org/@aminnairi/environment/-/environment-0.2.0.tgz","fileCount":6,"unpackedSize":11257,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgQRxcCRA9TVsSAnZWagAAVsEQAIY0a89R4SqDbE4i/MNq\nZGpdNK3rBwcs/54eB5kZXij0bAP7RltHdupV1TnTsKoi1Xq+0EcwUxJ1fFE/\nnbMzT0+Hr8Tdwxnv03Ehi/PaY9OezvOupC45Ytt58bpkMM0w8efoLbGIPbds\nlwGbUPCPd+EY2AEv7gSr+nXqzSigQmSLwJl6vEqRYMo022xX7rv9VaCkiFpV\ndkFLpqTSo6rjhOvsk47dm9E33ZKYZY6KiRe5MB6DcmjczNurTLhZHo7tfRO8\nW3RMOHMhHrN3rksXBtQJDDjM+6YwIgNmz4+KUjLk7xKc1V8TTvxM1Z+vzIwE\ntGrrqjYwTm0qjwLn8ra+QYMvvA9SsuBlNat/rLeXkTmn3MDFPZVLSA7zPAec\nCg8wcCiyc/3tBl5r7Xk0dU/XxjZ+37J8YHbvYXFdf86LblluKBs09qjWeHG9\nEMKXqu+hsphF7hIlVfw/Xt/ALShHh0yc9JCxE9XZbERjQy4JBUSh2yEX256I\nYAiXzilAU6Wp46tA1tkunRLMiaHO7waKk94e4SArGsDsErPl2XHYmZ6LqGUC\nvEBZfSEYP4eEEw2Va/tgTVIco88qt3hpUnynxh3o35KRUUGTXCVzf3lpjRB4\nbMUn48wu1GybDR8qlBTkCYrw3Lxw6ZevjNn0x9m72x8o9fgy9dBxJ42GtYIv\nH8wE\r\n=zugb\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCVvIujy2S+2Y2dWb/XRZbcBttN8clz71zyAFQrBK1TlAIgepUAlP0ux7eTU9fmghkSQcOGIoxoXABdBpAYY0xcRIY="}]},"_npmUser":{"name":"aminnairi","email":"nairi.amin@gmail.com"},"directories":{},"maintainers":[{"name":"aminnairi","email":"nairi.amin@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/environment_0.2.0_1614879835571_0.6454997740847983"},"_hasShrinkwrap":false},"0.2.1":{"author":{"name":"Amin NAIRI","url":"https://github.com/aminnairi"},"bin":{"environment":"environment.min.js"},"bugs":{"url":"https://github.com/aminnairi/environment/issues"},"description":"Easily parse your environment","homepage":"https://github.com/aminnairi/environment#readme","keywords":["env","dotenv","environment"],"license":"MIT","main":"environment.min.js","name":"@aminnairi/environment","engines":{"node":">=15.0.0"},"repository":{"directory":".","type":"git","url":"git+https://github.com/aminnairi/environment.git"},"types":"environment.d.ts","version":"0.2.1","scripts":{"tests":"mocha environment.spec.js","build":"rollup --config rollup.config.js"},"devDependencies":{"chai":"4.3.1","mocha":"8.3.0","rollup":"2.40.0","rollup-plugin-terser":"7.0.2"},"gitHead":"211a39c26822978d942eeb9317771a661766f711","_id":"@aminnairi/environment@0.2.1","_nodeVersion":"15.11.0","_npmVersion":"7.6.0","dist":{"integrity":"sha512-z1jwA4PNe8UOKivpxvPQ0UbLOg8wxbDyzlSEJR428MzGyVY+3JXcrR/1TqbM93czpn0MbTARAETtGUhRri2+Bg==","shasum":"298390ee9a295f74d4fc2f628588e0ac5e24e1d8","tarball":"https://registry.npmjs.org/@aminnairi/environment/-/environment-0.2.1.tgz","fileCount":6,"unpackedSize":11486,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgQSLcCRA9TVsSAnZWagAAcsEP/A0szGbNs6/vs7bqPH8B\nCUL8XX391/0zq4FJzAx9lBzy/PrkUK7dlULG2eiylxWUqLwtCO8/Y7aubSfa\noXrmcCHvO2Dex6QXm1jULkGhVxn/6pE2oSEIJ7TgXJvb8CN6vROPBmcMa8pD\n5LSXeP3ncg5jq03eb3Y089Tw0wCCfhYy0sKPvpc6FGQIFKL2sQXUk5rB6NFl\nKxN9MgnYCYFx+z37IvhID5tm/SWjByX8H9MY2DJ4GfZJjDa3XgHV74HLwaX7\nf/a5slHiBbR0qUIGI22Xy2/czTwci79Lq6fR4uyXMENJgIhgVEb9YYbQpT8j\ntfFiotVQ39iDtya6Eg/iaCcYFuomgQjLNbpJIqimhuBcq3bpS5s/X9dZOj6L\nrfbx7+a/UziX0RdAhHMzK/3gocNRP2yc0o1adDXpkmV6NZmi4bfbTkxew+bJ\ngtq4goHGIJrsFh3TxsFWbzUgdSVVZBV+TEvRYFpHiUjlir+uh7sci3z8tPQ1\nk25eUGGXsuvQvsDBC7Uhe5bFclCwd9WUb+6yiPSSMxpQzcsUcvfODQEvqpGC\n+2+IAniUMf1jG1mCrQyCsCXGds/bIsax1faSt3KyXu2sZbqpn1FG59nnTbxW\nwmCDZ8rl3dVLi3eO8HwM/Yy/13rj1+qn4eZpTgB1NgSJAxRtlRN0gyluHWor\neYrg\r\n=3zJB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICcmR2VcyLdDuAJrVXam6y7hV44UZ/HpGUT7CkGvksIPAiEAuM10SoQ5yz0qvoZ+2sDxZRvWPcTZSkoKwEoHnhEHIpQ="}]},"_npmUser":{"name":"aminnairi","email":"nairi.amin@gmail.com"},"directories":{},"maintainers":[{"name":"aminnairi","email":"nairi.amin@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/environment_0.2.1_1614881499887_0.48143061788405506"},"_hasShrinkwrap":false},"0.2.2":{"author":{"name":"Amin NAIRI","url":"https://github.com/aminnairi"},"bin":{"environment":"environment.min.js"},"bugs":{"url":"https://github.com/aminnairi/environment/issues"},"description":"Easily parse your environment","homepage":"https://github.com/aminnairi/environment#readme","keywords":["env","dotenv","environment"],"license":"MIT","main":"environment.min.js","name":"@aminnairi/environment","engines":{"node":">=15.0.0"},"repository":{"directory":".","type":"git","url":"git+https://github.com/aminnairi/environment.git"},"types":"environment.d.ts","version":"0.2.2","scripts":{"tests":"mocha environment.spec.js","build":"rollup --config rollup.config.js"},"devDependencies":{"chai":"4.3.1","mocha":"8.3.0","rollup":"2.40.0","rollup-plugin-terser":"7.0.2"},"gitHead":"a18c0a05ba1f14def0993505cd550f9beec76e2f","_id":"@aminnairi/environment@0.2.2","_nodeVersion":"15.11.0","_npmVersion":"7.6.0","dist":{"integrity":"sha512-tmW63g6SVuMYHdXjSKOe8QqnKAT1tvX9BXE62XnCuYW0FAIjQq0NVImntsWRrl/3EyuP94SVnX8ee566XA/Pyg==","shasum":"5b860d912c5b29e12095ec243ed15a875f305953","tarball":"https://registry.npmjs.org/@aminnairi/environment/-/environment-0.2.2.tgz","fileCount":6,"unpackedSize":11625,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgQSdPCRA9TVsSAnZWagAA9GkP/14FRXIJ6Zx1kATMBYZP\nswWlu258mb3YvCnfqItTRB2R9ZT3OPQOldTumH8j+N8Woxeb+YdxVxkipXT4\nC7C/dJXZFObxTHTqTSerbse0AqGRlZUswm7K4aJkR0i1jMwB/qeJhynXH29x\nL7CQmCUV9kKOpudsvMLL625n4N2v9L3cuU7xP78nqdTmNEZpWoJrgzduUp8r\nfm2ucyln8tRr6OYOkC9cc7gpz+bNjeJlYVIOu9NIxyL3kayTBYijrFtZvXQL\nkJfxzqChbudcdXc1xpHV7h6IGgebakaIbPSKbIK13+ZHoLSYrEs9n+1rGwT9\nAQOQFDIhGXFIiyo3d1LJiblCdjRczGLex4193El4PC1QPKBU2tusvuyS9LFE\n2umh8UaYvpmlSgs6d3U8Y5KCRlgiFZL5FKa4YmkdxXywMYAKE46Rlz+JqdHM\nGszsXQ5EkE8Qfsn0SWrlt7xuVwuc/cDWaX9WsKElizqTUP6NJNi/recaMex7\nGjZPUh6IzK3SuBMbMPAUISlNixybxY7SADyB0lWAq3jv84vOrmM2Jy5DYyjq\ntNgSUjujuin1Smf6oedpqJMVaC6+8ddHygJ9ufk3Kfif7xcFK4cp5/3kO6hC\naJGrZ2+8p7ahi+aBGmLHLdd532nvdTOXkaUNpozUZfr9ctBlXJ5lim+Ku4uD\nClWE\r\n=j2oq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICgIIEVkBWEhhDnAfxfuncyp7189LokK5oqsL1SsUXTTAiEA4PKQfn1MUjjRqaZoerJpWJUiHMQ7XDmskwmPvT+x6dw="}]},"_npmUser":{"name":"aminnairi","email":"nairi.amin@gmail.com"},"directories":{},"maintainers":[{"name":"aminnairi","email":"nairi.amin@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/environment_0.2.2_1614882638374_0.777255636418972"},"_hasShrinkwrap":false}},"time":{"created":"2021-03-03T18:56:27.036Z","0.1.0":"2021-03-03T18:56:27.297Z","modified":"2022-04-04T13:49:18.618Z","0.2.0":"2021-03-04T17:43:55.747Z","0.2.1":"2021-03-04T18:11:40.077Z","0.2.2":"2021-03-04T18:30:38.802Z"},"maintainers":[{"name":"aminnairi","email":"nairi.amin@gmail.com"}],"description":"Easily parse your environment","homepage":"https://github.com/aminnairi/environment#readme","keywords":["env","dotenv","environment"],"repository":{"directory":".","type":"git","url":"git+https://github.com/aminnairi/environment.git"},"author":{"name":"Amin NAIRI","url":"https://github.com/aminnairi"},"bugs":{"url":"https://github.com/aminnairi/environment/issues"},"license":"MIT","readme":"# @aminnairi/environment\n\nEasily parse your environment\n\n![minified size of the package](https://img.shields.io/bundlephobia/minzip/@aminnairi/environment) ![vulnerability count according to Snyk.io](https://img.shields.io/snyk/vulnerabilities/github/aminnairi/environment) ![NPM package's download count per month](https://img.shields.io/npm/dw/@aminnairi/environment) ![support of TypeScript](https://img.shields.io/npm/types/@aminnairi/environment)\n\n## Summary\n\n- [Requirements](#requirements)\n- [Installation](#installation)\n- [Usage](#usage)\n  - [Simple](#simple)\n  - [Fancy](#fancy)\n  - [Interpollation](#interpollation)\n  - [Non-interpollation](#non-interpollation)\n  - [Multiline](#multiline)\n  - [Comments](#comments)\n  - [Undefined environment variables](#undefined-environment-variables)\n  - [Multiple environments](#multiple-environments)\n  - [Preview](#preview)\n  - [Error handling (async/await)](#error-handling-(async/await))\n  - [Error handling (Promise)](#error-handling-(promise))\n- [CHANGELOG](#changelog)\n- [CONTRIBUTING](#contributing)\n- [LICENSE](#license)\n\n## Requirements\n\n- [Node](https://nodejs.org/en/)\n- [NPM](https://www.npmjs.com/)\n- [NPX](https://www.npmjs.com/)\n\n## Installation\n\n```console\n$ npm install --save-exact @aminnairi/environment@0.2.2\n```\n\n## Usage\n\n### Simple\n\n```console\n$ touch .env\n```\n\n```\nUSER=johndoe\n```\n\n```console\n$ touch index.js\n```\n\n```javascript\nconst {Environment} = require(\"@aminnairi/environment\");\n\nconst main = async () => {\n    const environment = await Environment.from(\".env\");\n\n    console.log(environment.USER); // johndoe\n};\n\nmain().catch(error => console.error(error.message));\n```\n\n### Fancy\n\n```console\n$ touch .env\n```\n\n```\nUSER        =   johndoe\nPASSWORD    =   robustpassword\n```\n\n```console\n$ touch index.js\n```\n\n```javascript\nconst {Environment} = require(\"@aminnairi/environment\");\n\nconst main = async () => {\n    const environment = await Environment.from(\".env\");\n\n    console.log(environment.USER); // johndoe\n    console.log(environment.PASSWORD); // robustpassword\n};\n\nmain().catch(error => console.error(error.message));\n```\n\n### Interpollation\n\n```console\n$ touch .env\n```\n\n```\nUSER        =   johndoe\nPASSWORD    =   robustpassword\nHOST        =   domain\nDATBASE     =   database\nURL         =   \"$USER:$PASSWORD@$DOMAIN/$DATABASE\"\n```\n\n```console\n$ touch index.js\n```\n\n```javascript\nconst {Environment} = require(\"@aminnairi/environment\");\n\nconst main = async () => {\n    const environment = await Environment.from(\".env\");\n\n    console.log(environment.USER); // johndoe\n    console.log(environment.PASSWORD); // robustpassword\n    console.log(environment.DOMAIN); // domain\n    console.log(environment.DATABASE); // database\n    console.log(environment.URL); // johndoe:robustpassword@domain/database\n};\n\nmain().catch(error => console.error(error.message));\n```\n\n### Non-interpollation\n\n```console\n$ touch .env\n```\n\n```\nUSER        =   johndoe\nPASSWORD    =   robustpassword\nHOST        =   domain\nDATBASE     =   database\nURL         =   '$USER:$PASSWORD@$DOMAIN/$DATABASE'\n```\n\n```console\n$ touch index.js\n```\n\n```javascript\nconst {Environment} = require(\"@aminnairi/environment\");\n\nconst main = async () => {\n    const environment = await Environment.from(\".env\");\n\n    console.log(environment.USER); // johndoe\n    console.log(environment.PASSWORD); // robustpassword\n    console.log(environment.DOMAIN); // domain\n    console.log(environment.DATABASE); // database\n    console.log(environment.URL); // $USER:$PASSWORD@$DOMAIN/$DATABASE\n};\n\nmain().catch(error => console.error(error.message));\n```\n\n### Multiline\n\n```console\n$ touch .env\n```\n\n```\nMOTD = Hello everyone \\\n        I Hope that you are okay today because \\\n        I'm felling great!\n```\n\n```console\n$ touch index.js\n```\n\n```javascript\nconst {Environment} = require(\"@aminnairi/environment\");\n\nconst main = async () => {\n    const environment = await Environment.from(\".env\");\n\n    console.log(environment.MOTD); // Hello everyone I Hope that you are okay today because I'm felling great!\n};\n\nmain().catch(error => console.error(error.message));\n```\n\n### Comments\n\n```console\n$ touch .env\n```\n\n```\n# This is our guild's name\nGUILD_NAME = Outlawed\n\n# This is our guild's main goal\nGUILD_MAIN_OBJECTIVE = PVP\n\n# This is our guild's secondary goal\nGUILD_SECONDARY_OBJECTIVE = MM/HM\n```\n\n```console\n$ touch index.js\n```\n\n```javascript\nconst {Environment} = require(\"@aminnairi/environment\");\n\nconst main = async () => {\n    const environment = await Environment.from(\".env\");\n\n    console.log(environment.GUILD_NAME); // Outlawed\n    console.log(environment.GUILD_MAIN_OBJECTIVE); // PVP\n    console.log(environment.GUILD_SECONDARY_OBJECTIVE); // MM/HM\n};\n\nmain().catch(error => console.error(error.message));\n```\n\n### Undefined environment variables\n\n```console\n$ touch .env\n```\n\n```\nUSER = johndoe\nEMAIL = johndoe@noreply.users.github.com\n```\n\n```console\n$ touch index.js\n```\n\n```javascript\nconst {Environment} = require(\"@aminnairi/environment\");\n\nconst main = async () => {\n    const environment = await Environment.from(\".env\");\n\n    console.log(environment.USER_NAME); // undefined\n    console.log(environment.USER_EMAIL); // undefined\n};\n\nmain().catch(error => console.error(error.message));\n```\n\n### Multiple environments\n\n```console\n$ touch index.js\n```\n\n```javascript\nconst {Environment} = require(\"./environment.min.js\");\n\nconst main = async () => {\n    const [local, prod, test] = await Promise.all([\n        Environment.from(\".env.local\"),\n        Environment.from(\".env.prod\"),\n        Environment.from(\".env.test\")\n    ]);\n\n    console.log(local);\n    console.log(prod);\n    console.log(test);\n};\n\nmain().catch(error => console.error(error.message));\n```\n\n### Preview\n\n```console\n$ touch .env\n```\n\n```env\nUSER=johndoe\nPASSWORD=password\nHOST=host\nDATABASE=database\nURL=\"$USER:$PASSWORD@$HOST/$DATABASE\"\n```\n\n```console\n$ npx @aminnairi/environment .env\n\"USER\" \"johndoe\"\n\"PASSWORD\" \"password\"\n\"HOST\" \"host\"\n\"DATABASE\" \"database\"\n\"URL\" \"johndoe:password@host/database\"\n```\n\n### Error handling (async/await)\n\n```console\n$ touch index.js\n```\n\n```javascript\nconst {Environment} = require(\"@aminnairi/environment\");\n\nconst main = async () => {\n    try {\n        const environment = await Environment.from(\"not-a-file.env\");\n\n        console.log(environment);\n    } catch (error) {\n        console.log(\"Something went wrong\");\n        console.error(error.message);\n    }\n};\n\nmain();\n```\n\n### Error handling (Promise)\n\n```console\n$ touch index.js\n```\n\n```javascript\nconst {Environment} = require(\"@aminnairi/environment\");\n\nEnvironment.from(\"not-a-file.env\").then(environment => {\n    console.log(environment);\n}).catch(error => {\n    console.log(\"Something went wrong\");\n    console.error(error.message);\n});\n```\n\n## CHANGELOG\n\nSee [`CHANGELOG.md`](./CHANGELOG.md).\n\n## CONTRIBUTING\n\nSee [`CONTRIBUTING.md`](./CONTRIBUTING.md).\n\n## LICENSE\n\nSee [`LICENSE`](./LICENSE).","readmeFilename":"README.md"}