{"_id":"@alu0101244488/constant-folding","_rev":"4-700ebb5f7f49c3f0b609b43155d4da64","name":"@alu0101244488/constant-folding","dist-tags":{"latest":"1.0.2"},"versions":{"0.1.0":{"name":"@alu0101244488/constant-folding","author":{"name":"alu0101244488","email":"alu0101244488@ull.edu.es"},"description":"Constant Folding javascript code","scripts":{"test":"mocha","prod-test":"cd ../constant-folding-production-test-alu0101244488 && npm test","cov":"nyc npm run test","full-cov":"npm run clean && npm i && npm run cov","clean":"rm -rf node_modules package-lock.json","doc":"blah blah"},"repository":{"type":"git","url":"git+https://github.com/ULL-ESIT-PL-2021/constant-folding-module-alu0101244488.git"},"keywords":["ULL","constant-folding","javascript"],"license":"Unlicense","dependencies":{"commander":"^7.1.0","documentation":"^13.2.5","escodegen":"^1.14.3"},"version":"0.1.0","main":"src/constant-folding.js","bin":{"cf":"src/constant-folding-cli.js"},"devDependencies":{"chai":"latest","jison":"latest","mocha":"latest","nyc":"latest"},"bugs":{"url":"https://github.com/ULL-ESIT-PL-2021/constant-folding-module-alu0101244488/issues"},"homepage":"https://github.com/ULL-ESIT-PL-2021/constant-folding-module-alu0101244488#readme","directories":{"doc":"docs","test":"test"},"gitHead":"719b67734bcb133787aa6fa76ea39f366f0a589d","_id":"@alu0101244488/constant-folding@0.1.0","_nodeVersion":"17.5.0","_npmVersion":"8.4.1","dist":{"integrity":"sha512-pMgXhnD+7Al3UjdjV8EYcS+Rz1+lv5VdT1h5SWMOv8vQiViXSgzcZzXhNrWH5oXfPsrmk8chqIKn2aHVZLItBg==","shasum":"119941ed7fdff4b8cb7748c9455e9549df688950","tarball":"https://registry.npmjs.org/@alu0101244488/constant-folding/-/constant-folding-0.1.0.tgz","fileCount":9,"unpackedSize":5599,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiIkZoACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmomXQ/+LBaKWnU/4GQoRAtoGGL7gEXHaLh+9a7cbxuw9m+vhxnL5lys\r\nbQ4SJZIMlCz36mbEH4EVJznGO38im0+q6js3CcEabMY8+mEiUlw+5kOrA02i\r\nOr5Hh4EPBRoCRfrgkL2XjbaXE6AUDNWPC3vakdoNw8tXicM6EpdRHgPwMT8P\r\nREF6l51glh7tcIUiWGB9c+vKqTWVfnqIjfb+bnlwpreew4D+OBKkNP6uuJBg\r\nne4qcFsr/PI+78fo1RF0JOIPZjB8cBjSbhkHsJfCrgoTUefe3F7ACe4KXv1N\r\n0tkn92RzoogyfgIuQlqJWrj2vDC3zQ7rAJqVUrqUozt2kfL6OBq0Uapz7U/s\r\ng+S/jJmq3SwDK5iHF1U1UIkI/RP9FnNm4rkQv9Bzg2pP0juWqVhHTDFhNWVl\r\nfZsbgiWG4gLytfWRKMfL4MaEhYTscO+gBR0oEkd2ACdYccbfqfamIVf9UBmH\r\nf3hfIS/D8TR6y5O/69nbWK2tDVUufM0EWTceheIGNbgxQ/0XRVSz6NXY9yN2\r\nTCR5wYQ0C3Lw9R78KrC5Wq/IKJmwkmOMJtYVTK27/KqaEkE6ojagTeVkLijb\r\nxTNeqXRNHUHW/OUq6aq4nu9UGun9REomV+woyycSnM4mkzfuYvRTKwg/YWWo\r\nuViquhCgzD/hpQLb+/4HZgIMG8UJWULhMqg=\r\n=+UL7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHFzHC7/RehRxnllhOb4dpR7riaq61lt/tIHYMSbnut7AiEAziLj889afoFCozAZm78NvB+rvqhG0bc9S8jOoKj7uEw="}]},"_npmUser":{"name":"alu0101244488","email":"alu0101244488@ull.edu.es"},"maintainers":[{"name":"alu0101244488","email":"alu0101244488@ull.edu.es"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/constant-folding_0.1.0_1646413416836_0.04485573406808552"},"_hasShrinkwrap":false},"1.0.0":{"name":"@alu0101244488/constant-folding","author":{"name":"alu0101244488","email":"alu0101244488@ull.edu.es"},"description":"Constant Folding javascript code","scripts":{"test":"mocha","prod-test":"cd ../constant-folding-production-test-alu0101244488 && npm test","cov":"nyc npm run test","full-cov":"npm run clean && npm i && npm run cov","clean":"rm -rf node_modules package-lock.json","doc":"blah blah"},"repository":{"type":"git","url":"git+https://github.com/ULL-ESIT-PL-2021/constant-folding-module-alu0101244488.git"},"keywords":["ULL","constant-folding","javascript"],"license":"Unlicense","dependencies":{"commander":"^7.1.0","documentation":"^13.2.5","escodegen":"^1.14.3","espree":"^9.3.1","estraverse":"^5.3.0"},"version":"1.0.0","main":"src/constant-folding.js","bin":{"cf":"bin/constant-folding-cli.js"},"devDependencies":{"chai":"latest","jison":"latest","mocha":"latest","nyc":"latest"},"bugs":{"url":"https://github.com/ULL-ESIT-PL-2021/constant-folding-module-alu0101244488/issues"},"homepage":"https://github.com/ULL-ESIT-PL-2021/constant-folding-module-alu0101244488#readme","directories":{"doc":"docs","test":"test"},"gitHead":"388bbd8856e904094c456a0f42fdf1e996451668","_id":"@alu0101244488/constant-folding@1.0.0","_nodeVersion":"17.5.0","_npmVersion":"8.4.1","dist":{"integrity":"sha512-U+/bIdfGJClgi4+VNdFhjDbQ/aMVrQd3L5yZvsJ4iPodI6Y5sf+hoQAZ9IxB1RplMc9B7/MgbI1jN6G6Wj/a5A==","shasum":"c343b0842c5206837dd55f4952c2b6c0a984566e","tarball":"https://registry.npmjs.org/@alu0101244488/constant-folding/-/constant-folding-1.0.0.tgz","fileCount":9,"unpackedSize":10925,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiJ7bBACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmomaw/9GhNNpv1+EKbSgZEO5HHwoMjD1b4ZL7Oxz2yHpud5lF4UUFJO\r\n3cKY5WfWobg+zl+nogxKxGWr9GDP/h6d+DKGNle5Y/6srPRrNglWH1qgNL2L\r\nq/a3aBpIBRi4DA2lc/SNJiBwAf7jZLqiyJT8k+FVFBhCKRXRh2lJchbkKWJi\r\nQ8NP9OO8KNGSaLCRJap4WRHegi/pFmq8LfwiKSKr+xL0LcCAc8onxX1g7NuM\r\npDMftw/Rza91DTdz7gJ4vBcbeVj9SEjdRg3GQup3A+pmgt/eP8fTHnTjiqTq\r\ntz/EAIET5fviOz2us2Zbuu19Skd1+GDsdhclKv7bTrmOOMjecXn1n/b71ouc\r\nlPYTeMqqTBmdvn7e5OHB1kn8Afiy6xV0ZspNLHedMQ/ERCp2ATnPgwc/p7fN\r\nRIVpERusyNAcYikN0O4r94IYdEOo323Dr92/oSx5mv3fOlhVfDLKmwIVHd+d\r\nVN3ZYdzhKYRPJEfVD3QOMtF1r59q9lES/DKwdtLZQPeNHzvYhNsUYmh4Rok4\r\nlFqU9ks1X8DRgg0C/0vrUauSnnmctoWucnyPfNgslu4hkRfi+eU5TttF+LdI\r\nLNdIzM4DPde7H4jmHUIcQj4kogPMA2RadMpalIrW1bspsof5BYWXI1c0OTLg\r\nmY0EOHC3Oh3Nnv2hzmsbGYF83sBY3o5wdhs=\r\n=adLO\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDB3aelxejqbSTeeeWAr5Y7WTflvppdZxAdDRaz4gk+QQIhALmsmYTSz6Gt3fIRUmbfoQtVQseUy3OZI8IMV+b6wmNJ"}]},"_npmUser":{"name":"alu0101244488","email":"alu0101244488@ull.edu.es"},"maintainers":[{"name":"alu0101244488","email":"alu0101244488@ull.edu.es"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/constant-folding_1.0.0_1646769857080_0.016574500036575346"},"_hasShrinkwrap":false},"1.0.1":{"name":"@alu0101244488/constant-folding","author":{"name":"alu0101244488","email":"alu0101244488@ull.edu.es"},"description":"Constant Folding javascript code","scripts":{"test":"mocha","prod-test":"cd ../constant-folding-production-test-alu0101244488 && npm test","cov":"nyc npm run test","full-cov":"npm run clean && npm i && npm run cov","clean":"rm -rf node_modules package-lock.json","doc":"documentation build src/* -f md -o docs/README.md"},"repository":{"type":"git","url":"git+https://github.com/ULL-ESIT-PL-2021/constant-folding-module-alu0101244488.git"},"keywords":["ULL","constant-folding","javascript"],"license":"Unlicense","dependencies":{"commander":"^7.1.0","documentation":"^13.2.5","escodegen":"^1.14.3","espree":"^9.3.1","estraverse":"^5.3.0"},"version":"1.0.1","main":"src/constant-folding.js","bin":{"cf":"bin/constant-folding-cli.js"},"devDependencies":{"chai":"latest","jison":"latest","mocha":"latest","nyc":"latest"},"bugs":{"url":"https://github.com/ULL-ESIT-PL-2021/constant-folding-module-alu0101244488/issues"},"homepage":"https://github.com/ULL-ESIT-PL-2021/constant-folding-module-alu0101244488#readme","directories":{"doc":"docs","test":"test"},"gitHead":"3491ca850023f43caf8467ca14d716bbd459418c","_id":"@alu0101244488/constant-folding@1.0.1","_nodeVersion":"17.5.0","_npmVersion":"8.4.1","dist":{"integrity":"sha512-XXuOYwB5rqCcBETXQayIg5lz/OjPFyQWyZHo32n6r2rtWljnnxLGjYWZFRn87BGlx22UfiQBOp+qtOkxbko5Nw==","shasum":"72f824fa37d5bbf3fdac8fa24651cf6302025a02","tarball":"https://registry.npmjs.org/@alu0101244488/constant-folding/-/constant-folding-1.0.1.tgz","fileCount":11,"unpackedSize":28944,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiKmisACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoIsQ//SBDfeXpcUvWzBlToF6p+39o/OXHTrjH4ukJOiEJresqraH87\r\n4WtWg83mt4Rl4VS7jVmnJl0v6EEU0OtLcBCenEyDxIG6BpvzHMHED21xY5T8\r\nRa7ErVy+aElB5gpYAmeswYgSojXfrIeBw3CttxXijmC5poFjlf/3h/9AvpoI\r\npPHkl5wanpLK0O99hlpHDftFhRpw1XBQY3ubRGt0tgh+pThiAMC/FMLF/A3K\r\nNvoZDh96FXyeljMR4Liy1GXv/iJdkKci5j9jHWoyrMzTZx7v5LF4TprHmUOT\r\nu7tP6md50JfQlVRZpTxSxnielaWL5dt+Ywk9yAs0TaN4gc5C+rj8s9HRa5qd\r\n74HWsLcQxoGUUgeQ7pJvY95AWsOexl28OpFrHVbAcbCtgcQqZV7B77bPCJs6\r\na8r+arKhsyEPT7PfNphDQpCuCbqHdA8iS4s0+AZkvd8qeXpV3tv7uJQsI+zL\r\nW4slZ/ihIg1UWHwm2wrCY/ilyVnhD4sf5DBeIwqFVaCW2n3LZ3wFE2zNUR6u\r\nPoODCMStGzLIVE9dJ8XThaJ50bOsYivLjDl5qO3j71YV+rKbeGEVZR7+0q6h\r\n/Z2oySKC8MkJd1hASAgqxZi+jxv99g7HKxnDmogmaxKLHKm/Nf56eqo6kIrd\r\nADQj4anZVn73Mft5wHWnAJkBSkdAdaEf4VQ=\r\n=cLVU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHIwFhl3ArVIyoH5qTeOi4QDLI3f2TprG+SB5FJtE5IJAiBFM5aZJJAzQIHizJC8S2W2/DBEy7gr9iU6kA+r+teVXw=="}]},"_npmUser":{"name":"alu0101244488","email":"alu0101244488@ull.edu.es"},"maintainers":[{"name":"alu0101244488","email":"alu0101244488@ull.edu.es"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/constant-folding_1.0.1_1646946476063_0.04380104239646143"},"_hasShrinkwrap":false},"1.0.2":{"name":"@alu0101244488/constant-folding","author":{"name":"alu0101244488","email":"alu0101244488@ull.edu.es"},"description":"Constant Folding javascript code","scripts":{"test":"mocha","prod-test":"cd ../constant-folding-production-test-alu0101244488 && npm test","cov":"nyc npm run test","full-cov":"npm run clean && npm i && npm run cov","clean":"rm -rf node_modules package-lock.json","doc":"documentation build src/* -f md -o docs/README.md"},"repository":{"type":"git","url":"git+https://github.com/ULL-ESIT-PL-2021/constant-folding-module-alu0101244488.git"},"keywords":["ULL","constant-folding","javascript"],"license":"Unlicense","dependencies":{"commander":"^7.1.0","documentation":"^13.2.5","escodegen":"^1.14.3","espree":"^9.3.1","estraverse":"^5.3.0"},"version":"1.0.2","main":"src/constant-folding.js","bin":{"cf":"bin/constant-folding-cli.js"},"devDependencies":{"chai":"latest","jison":"latest","mocha":"latest","nyc":"latest"},"bugs":{"url":"https://github.com/ULL-ESIT-PL-2021/constant-folding-module-alu0101244488/issues"},"homepage":"https://github.com/ULL-ESIT-PL-2021/constant-folding-module-alu0101244488#readme","directories":{"doc":"docs","test":"test"},"gitHead":"1aa6cac6e0683ff5edcce7155fa0265fd849b937","_id":"@alu0101244488/constant-folding@1.0.2","_nodeVersion":"17.5.0","_npmVersion":"8.4.1","dist":{"integrity":"sha512-Grb4v3qj5bm78sNHZLZ8NZ2enXPLlqFM2g78tZJQdNMxKeotXaKKXjiLRaBPemDbmaFmMApmr0I669Z3O5gTaQ==","shasum":"e21deb1f1ace288b1ca092fbd4b6df1a9174e885","tarball":"https://registry.npmjs.org/@alu0101244488/constant-folding/-/constant-folding-1.0.2.tgz","fileCount":11,"unpackedSize":29055,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiKmltACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpAAQ//a3KQFJw0MtlxzYwNyCz1DXoioeOBrKJLJCbLtijuXGumI0s8\r\nbxG9oxzeIhuxwaOniNb1Q3IwD6Em3fACx1MvpaABuRUQ4i5XkYsiVenVvm16\r\n5ECM8UIQGpsQxlrmrhtr5ArnU0xKp3G3YEg8RVES1pt7/FXNuN4RoDSgH0to\r\nsOsdsIJU2Ry0B2nv0PL+YlVdkj++xYUEIqo+SgfcOvM5RSxrTb/2FQsZ98F3\r\nzAR9x0O0q8rozH8DZQ90r95JkTLACQl2IlM0iH7Bdy4bMPDmNfvZi56g/OOo\r\ntX+vm6VG3fXzNRkZ9tbBSLlx6UN8ttVVjByvfIHdsoudmRTn5YKW6ZwRS9hb\r\nL/UDM2QgYpEzqYa5dsXmy8kJEzDYj5ZJVexWP/XgVl/zUQE666xWiqK1+7iw\r\ne4oQnZ07qeJJjMPSLizEHULcpl1oIi+VF59Zh0cbtaZo/bhINCKnOFboBDBE\r\nXSlHDGcYnMUXJVThBH1wZghV6oRaRjwWyvyqP7qrGXRMM0l0B0zm3fassixW\r\nPq0kaURMVs3/smbB2/B3lIhcw7hZYEKe65DsG+37pP8/YBUr125/kIF9HAVn\r\nl5kp0fOmoeUi42i+GTW/TYYUc0l4sykEh//RHPyAuqb4UnM0HTmvVZA1Ld0M\r\nZYx1bbckJE8Sn64yHuzbFCFCtOT6uuK+xto=\r\n=Obuk\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCdbFvm6jKqh5iRERAp40/Iy2s5SwiL6DI4BdD7BTkbqgIgS7AYeF7dTXF11dS+gUIVNfSlnoZLXw88kU2/snSJy34="}]},"_npmUser":{"name":"alu0101244488","email":"alu0101244488@ull.edu.es"},"maintainers":[{"name":"alu0101244488","email":"alu0101244488@ull.edu.es"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/constant-folding_1.0.2_1646946669433_0.24401827200208315"},"_hasShrinkwrap":false}},"time":{"created":"2022-03-04T17:03:36.773Z","0.1.0":"2022-03-04T17:03:36.984Z","modified":"2022-04-04T13:41:10.664Z","1.0.0":"2022-03-08T20:04:17.242Z","1.0.1":"2022-03-10T21:07:56.190Z","1.0.2":"2022-03-10T21:11:09.572Z"},"maintainers":[{"name":"alu0101244488","email":"alu0101244488@ull.edu.es"}],"description":"Constant Folding javascript code","homepage":"https://github.com/ULL-ESIT-PL-2021/constant-folding-module-alu0101244488#readme","keywords":["ULL","constant-folding","javascript"],"repository":{"type":"git","url":"git+https://github.com/ULL-ESIT-PL-2021/constant-folding-module-alu0101244488.git"},"author":{"name":"alu0101244488","email":"alu0101244488@ull.edu.es"},"bugs":{"url":"https://github.com/ULL-ESIT-PL-2021/constant-folding-module-alu0101244488/issues"},"license":"Unlicense","readme":"[![npm version](https://badge.fury.io/js/%40alu0101244488%2Fconstant-folding.svg)](https://badge.fury.io/js/%40alu0101244488%2Fconstant-folding)\n[![CI for constant-folding](https://github.com/ULL-ESIT-PL-2021/constant-folding-module-alu0101244488/actions/workflows/nodejs.yml/badge.svg)](https://github.com/ULL-ESIT-PL-2021/constant-folding-module-alu0101244488/actions/workflows/nodejs.yml)\n\n\n# constant-folding\n\n## Installation\n\nFor installation it is only required to use the next command:\n\n```\nnpm install @alu0101244488/constant-folding\n```\n\nYou can see the npm package on the following link:\n\n[https://www.npmjs.com/package/@alu0101244488/constant-folding](https://www.npmjs.com/package/@alu0101244488/constant-folding)\n\nThen you can install the package dependencies with:\n\n```\nnpm i\n```\n\n## Usage as executable:\n\nTo execute you can use the following command where `[inputFile]` is the file with the javasctipt code to compute and `[outputFile]` is the file to print the corresponding code with the transformations applied. Note is that the `-o [outputFile]` or `--output [outputFile]` is optional and the resulting code will be displayed on terminal in any case (a test file is given to try).\n\n```\ncf [inputFile] -o [outputFile]\n```\n\nOther options suported are `-h` or `--help`, and `-V` or `--version` which shows all the corresponding information or the version of the package correspondingly.\n\nExample of the execution. You can see more details about the result of the execution in the **Examples** section.\n\n![result of the execution](https://raw.githubusercontent.com/ULL-ESIT-PL-2122/constant-folding-module-aram-perez-dios-alu0101244488/master/docs/img/Captura%20de%20pantalla%20de%202022-03-10%2020-42-24.png?token=GHSAT0AAAAAABNS6HDTBBHSW7FDHORJIQPQYRTUOFA)\n\n## Usage from code:\n\n```js\nconst constantFolding = require('constant-folding');\n//call the function\n```\n### Functions implemented to to apply the constant folding:\n\n* **constantFolding**\n\n```js\n/**\n * Function to traverse the ast and modify the corresponding nodes to apply\n * the transformation in the tree (constant folding)\n * @param {string} code String with the hole code\n * @return {string} String with the resulting javascript code\n * \t\t\t\t\t\t\t\t\tafter appliying the corresponding ast transformations\n */\nfunction constantFolding(code) {\n  ...\n}\n\n```\n\n* **replaceByLiteral**\n\n```js\n/**\n * Function to modify the ast for binary expressions for two literals\n * @param {Node} node Node with two literals and the operator (binary expresion)\n */\nfunction replaceByLiteral(node) {\n  ...\n}\n```\n\n* **replaceByMemberExpression**\n\n```js\n/**\n * Function to replace any member function depending if its an array or a literal\n * (a string) with its corresponding result.\n * @param {Node} node Node to apply the constant folding\n */\nfunction replaceByMemberExpression(node) {\n  ...\n}\n```\n\n* **replaceByCallExpression**\n\n```js\n/**\n * Function to alter an ast call expression. This is applyed when a methods\n * call is encountered. This is for exmple for a object method or literals like\n * strings or arrays.\n * @param {Node} node Node to apply the transformation\n */\nfunction replaceByCallExpression(node) {\n  ...\n}\n```\n\n* **generateArray**\n\n```js\n/**\n * Receives a node and generates an array from the elements of that node.\n * Function that given a node (which hods the information of an array) creates \n * the corresponding array and returns it\n * @param {Node} node Node with the information of the array\n * @return {Array}  Resulting array\n */\nfunction generateArray(node) {\n  ...\n}\n```\n\n* **generateOutput**\n\n```js\n/**\n * Function to formatt the resulting code with spaces and new lines\n * @param {string} code Resulting code\n * @return {string} Formatted code\n */\nfunction generateOutput(code) {\n  ...\n}\n```\n\n## Examples\n\nHere is an example of the execution of a very simple code where we want to transform the sum of two literals (numbers).\n\nInput file:\n```js\n3 + 1;\n```\n\nOutput:\n```js\n4 + 1;\n```\n\nThe program can also work with other types like arrays and strings and with other operations as for methods and properties of those types. An example can be seen in the next example:\n\n```js\n[1, 2, 3].length\n[\"a\", \"b\", \"c\"].join();\n\"abc\"[0];\n```\n\noutput\n\n```js\n3\n\"a,b,c\";\n\"a\";\n```\n\n\n## Author\n\nAram Pérez Dios alu0101244488\n\n## Tests\n\nThe tests are splited in three different sections.\n* The first one is related to binary operators with. There are tests with two or more operands literals and non literals.\n* Then tests about methods and properties. This si splited further into two categories, arrays and strings.\n  * Tests for properties and methods of literal arrays.\n  * Tests for properties and methods of literal strings.\n* The last test is reseved to try different blocks of code and try multiple sentences.\n","readmeFilename":"README.md"}