{"_id":"@alu0101130507/constant-folding","_rev":"5-000f708ae740fd73d925949499ee57c7","name":"@alu0101130507/constant-folding","dist-tags":{"latest":"1.3.1"},"versions":{"1.0.0":{"name":"@alu0101130507/constant-folding","author":{"name":"alu0101130507","email":"alu0101130507@ull.edu.es"},"description":"Constant Folding javascript code","scripts":{"test":"mocha","prod-test":"cd ../constant-folding-production-test-alu0101130507 && 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-alu0101130507.git"},"keywords":["ULL","constant-folding","javascript"],"license":"Unlicense","dependencies":{"commander":"^7.1.0","escodegen":"^1.14.3"},"version":"1.0.0","main":"src/constant-folding.js","bin":{"cf":"src/constant-folding-cli.js"},"devDependencies":{"chai":"latest","espree":"^9.3.1","jison":"latest","mocha":"latest","nyc":"latest"},"gitHead":"57778a9ce2150f91c1ab263e79aeaec76e3aea31","bugs":{"url":"https://github.com/ULL-ESIT-PL-2021/constant-folding-module-alu0101130507/issues"},"homepage":"https://github.com/ULL-ESIT-PL-2021/constant-folding-module-alu0101130507#readme","_id":"@alu0101130507/constant-folding@1.0.0","_nodeVersion":"17.5.0","_npmVersion":"8.4.1","dist":{"integrity":"sha512-18LqgmhJ1uacW1krhA2XWzBY2rTBOwxyWk5UiRAhGetDd06kfvQycjh4ytxf3rTI7jhvE4rQF4xZGUJPYyCy0g==","shasum":"8964f19627816519e6068dda43d664a63fe2d0cb","tarball":"https://registry.npmjs.org/@alu0101130507/constant-folding/-/constant-folding-1.0.0.tgz","fileCount":10,"unpackedSize":6410,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiJfrxACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrSoQ/9EGwrU2T07fueE+V2Syo2LQgE7Z99ofmHV7JL4zJvUXg1mvxO\r\n39Icu+6ZSXroB8ezu65AT4HyRvIB8jdRX4SSIDBkq1N9H3oKIk94x9fHYTBk\r\nQhtc8BnsBHTGkteui8QNP7ich6UglguwppzPB8kpC6d6YNvJwhoAak1JyaJG\r\n3vIhF4liibJlp6xz2af9aCHOxGzcvdhsP48V1UCuOeDyJn+AnYsfNkQseKFs\r\ngHwmixAKUlymVn4KvCbMMdUlAnDz1y6d1qtgWdedRqxGpd66+EpfbyAIIksf\r\njcbqLm3HuFxJaxqKZJG4NLvrCKK2lJahC8R/12CxSXVjTu8aqozXG3mY9CKC\r\nWnNrd4i2zf7gA/vUftLmjqnmdf2JOYM94Pt764jwtqruq9EUJ3mKO3QbepIQ\r\nKEwnXm2uOwGa7now4lIitZ4gGnzrJCJWkMUQYa00dSXPFbr7l3TleqDRVqiW\r\n4yY0b0YPrs8zMEy9VskET/iu5nhlmi6UDDNl1z3Bc7xY5FDiCgj/FOAOwWH0\r\nbuOH84fmi6IEu0oN2mco93poc92EBrqcug6ngVLI1ZMNLQqc8fY//NEvvqKl\r\nAvupGiu21U28jzRBAmLIfIwp6CNTVcaS9smXz2qvRfkMzBmE5rctRjM+iFVY\r\nHRh2ujOYmv0dhH7YkjHawbLX0a2aFBCmQPA=\r\n=Myra\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDkfdwP7oq5HOrjndPdnLSQ2WaD1vsChNMOixlY+nqvMQIhAK55a2delEE7tgXt8FkJbcWnttaB1QmWA0E6PYj9Xvsq"}]},"_npmUser":{"name":"alu0101130507","email":"alu0101130507@ull.edu.es"},"directories":{},"maintainers":[{"name":"alu0101130507","email":"alu0101130507@ull.edu.es"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/constant-folding_1.0.0_1646656241549_0.545690736929769"},"_hasShrinkwrap":false},"1.1.0":{"name":"@alu0101130507/constant-folding","author":{"name":"alu0101130507","email":"alu0101130507@ull.edu.es"},"description":"Constant Folding javascript code","scripts":{"test":"mocha","prod-test":"cd ../constant-folding-production-test-alu0101130507 && 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-alu0101130507.git"},"keywords":["ULL","constant-folding","javascript"],"license":"Unlicense","dependencies":{"commander":"^7.1.0","escodegen":"^1.14.3"},"version":"1.1.0","main":"src/constant-folding.js","bin":{"cf":"src/constant-folding-cli.js"},"devDependencies":{"chai":"latest","espree":"^9.3.1","jison":"latest","jsdoc-to-markdown":"^7.1.1","mocha":"latest","nyc":"latest"},"gitHead":"57778a9ce2150f91c1ab263e79aeaec76e3aea31","bugs":{"url":"https://github.com/ULL-ESIT-PL-2021/constant-folding-module-alu0101130507/issues"},"homepage":"https://github.com/ULL-ESIT-PL-2021/constant-folding-module-alu0101130507#readme","_id":"@alu0101130507/constant-folding@1.1.0","_nodeVersion":"17.5.0","_npmVersion":"8.4.1","dist":{"integrity":"sha512-+yrxsSuoxc20bPthLacgebJSeO3loqpizKmJSa5DftMR+j5ykH8KXw1pNTUX9n7IRvaShZgtE0s8PU4go2STEg==","shasum":"3ef9a818691c33a001a9db95f5ea272d70a5711c","tarball":"https://registry.npmjs.org/@alu0101130507/constant-folding/-/constant-folding-1.1.0.tgz","fileCount":10,"unpackedSize":7596,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiJf0eACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrYTA/+O0FQFZ4gybR5ayWJ6xi5Xjz1xkqyQNjKAfAUR2yNIbMD88WQ\r\nNPC+VfxYlY1uu378lsPoTmY9UXOVSGo0dRWn19f8itOoZavp9ij1X6tGGd3C\r\n1ezTZY+1lOydgnO3TcLFof8UXpY+4e8+b+2fMiGuynTY2f8w+KjfTMBBN6qv\r\nJs43hiP1w2C119W5/cokPcnHI5PVQr/d6sxlVEB1VjdD6zXMzXkjwtJSyNiU\r\nsMbud26YkU2bWJBO3afrEBXHtKfDpcF35F8/B5r46GmvZyFiRgqj+mxyJTXR\r\noaoFX1u7GBlqolLCyBDTjULD/SyZvjZcQvDac+p09OJAOWACKWaQs3UWnKZD\r\nQkOExcZ1bLpO5u+wZttvGWmRNU/MXDP7S1YmUNXkNh2HI+4PdftmGA6X/1fo\r\nhBGjr+CX8bjS03HOrObTpAMhQnKtxtYlXZru1AIeUeQMQW6S4mkyqb8HIK0A\r\ns9T9Xd7jbjpluQN/XZvJDd2CwGp+gS1MY/a4odwtZl+DA+BNMipjASBsk8Cf\r\nFDd1lDkXlKNQwu4fEj9d3EloAWjNFHDMGyvcI6GjYSpykqQRm4nECmc8t6Wk\r\nOtTXC8N1Ht0yJUUepRB0qOwqInatt5Gw35SsbUj+nZ2lKVjjNBjyqu9PEGO3\r\nbf920wYkUdmNeQk83eMGaDJ5UVNo23+jozM=\r\n=8dns\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC3m/BTHLyXLlbJ4orE0WNdUap/dah/5Xe9FUKkytYu8gIhAJKwESM3lN2GTqb3Cr3BzzNJRnIDN3nRX8yTkUKu1IJu"}]},"_npmUser":{"name":"alu0101130507","email":"alu0101130507@ull.edu.es"},"directories":{},"maintainers":[{"name":"alu0101130507","email":"alu0101130507@ull.edu.es"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/constant-folding_1.1.0_1646656798612_0.07273846318106614"},"_hasShrinkwrap":false},"1.1.1":{"name":"@alu0101130507/constant-folding","author":{"name":"alu0101130507","email":"alu0101130507@ull.edu.es"},"description":"Constant Folding javascript code","scripts":{"test":"mocha","prod-test":"cd ../constant-folding-production-test-alu0101130507 && 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-alu0101130507.git"},"keywords":["ULL","constant-folding","javascript"],"licenses":[{"type":"MIT","url":"https://github.com/brentertz/scapegoat/blob/master/LICENSE-MIT"}],"dependencies":{"commander":"^7.1.0","escodegen":"^1.14.3"},"version":"1.1.1","main":"src/constant-folding.js","bin":{"cf":"src/constant-folding-cli.js"},"devDependencies":{"chai":"latest","espree":"^9.3.1","jison":"latest","jsdoc-to-markdown":"^7.1.1","mocha":"latest","nyc":"latest"},"gitHead":"57778a9ce2150f91c1ab263e79aeaec76e3aea31","bugs":{"url":"https://github.com/ULL-ESIT-PL-2021/constant-folding-module-alu0101130507/issues"},"homepage":"https://github.com/ULL-ESIT-PL-2021/constant-folding-module-alu0101130507#readme","_id":"@alu0101130507/constant-folding@1.1.1","_nodeVersion":"17.5.0","_npmVersion":"8.4.1","dist":{"integrity":"sha512-WncBYh8/OQk6UaAPOy47jAyW8p7umm6uimOFL5YGBoj5CEXMnWOLL/ILcHvNr5rnL35PrityuNNY0Otk/FHEoA==","shasum":"af6170e82ad2fb53db3f57bc21b54d66f64fe6ae","tarball":"https://registry.npmjs.org/@alu0101130507/constant-folding/-/constant-folding-1.1.1.tgz","fileCount":10,"unpackedSize":7724,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiJf7xACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq2ChAAnJlX8gFaWV0VgDRcvyLpoZZHYOMWGRNlDecbNx2JXaxhR1Wa\r\nNnpxhnCcDMqNzD+gw4hJmPGoOx+Uc0iXq0Py3fDky6hYXRINXSQNng4Fgt1w\r\nxflychssQLXR5K7x7uLgfjonwbMzAFlwIzu8wimxSIFdpUgLlAMp3q1lbYaS\r\nuAUK2WuNjiVZSDdlu+sAKJEJNWTn4zyjXPBEGfkPKaFVv1QCnDrWawDkuUK5\r\nt52CeFM3U2yDeSc5vc6wyYJyTKWNBmQe2m5VUtPhY3DRr7CLraLNp8xRyhS6\r\n+Kb/D37N3f9U3N2MpK5XbRyPTy6UjEqu+qke3YkLjHv6NRkdkPbJWYqr7LjV\r\nXooyJiKTzSm11suytxpTe1cdAsGWTSwOxSaJgUm1G4gm5C/xYBMyXW1k+wCg\r\nr3JcWHeSa290Nn9fUgGt4v09sOjPt9MGzuk0zYF6p7rGi7VUiewMxNrPwUEv\r\nym/gL0AxiqjEliO9K29d26Dk9dOZUD5GpHMO5GRNSs3F4v3xEiclbvnDaM/f\r\nfCQ5LYZ/u9FG3iNjsh8JqdkBBYvkj6YhyZvnNcWkOA3CVB0oHM3TyCFMsJUk\r\nDOflmMJG7XBzioAjjQIPCVm7C45oQ2R6lcWjv+lTsA2vUsZ2BRsBZCLbLmJp\r\na5iSertlP+r8r/fTyfmacPiLl384+goq2UE=\r\n=GsNW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCgiA+lj1r7AHUd0gbKRYb2/+74wkNxQmwm3sfoPBYOQwIhAJKEk/+831bP+74lt1+OhzLPWNF4qb6rulBybbI6o3G1"}]},"_npmUser":{"name":"alu0101130507","email":"alu0101130507@ull.edu.es"},"directories":{},"maintainers":[{"name":"alu0101130507","email":"alu0101130507@ull.edu.es"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/constant-folding_1.1.1_1646657265643_0.39947415692882093"},"_hasShrinkwrap":false},"1.1.2":{"name":"@alu0101130507/constant-folding","author":{"name":"alu0101130507","email":"alu0101130507@ull.edu.es"},"description":"Constant Folding javascript code","scripts":{"test":"mocha","prod-test":"cd ../constant-folding-production-test-alu0101130507 && 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-alu0101130507.git"},"keywords":["ULL","constant-folding","javascript"],"licenses":[{"type":"MIT","url":"https://github.com/brentertz/scapegoat/blob/master/LICENSE-MIT"}],"dependencies":{"commander":"^7.1.0","escodegen":"^1.14.3"},"version":"1.1.2","main":"src/constant-folding.js","bin":{"cf":"bin/constant-folding-cli.js"},"devDependencies":{"chai":"latest","espree":"^9.3.1","jison":"latest","jsdoc-to-markdown":"^7.1.1","mocha":"latest","nyc":"latest"},"gitHead":"57778a9ce2150f91c1ab263e79aeaec76e3aea31","bugs":{"url":"https://github.com/ULL-ESIT-PL-2021/constant-folding-module-alu0101130507/issues"},"homepage":"https://github.com/ULL-ESIT-PL-2021/constant-folding-module-alu0101130507#readme","_id":"@alu0101130507/constant-folding@1.1.2","_nodeVersion":"17.5.0","_npmVersion":"8.4.1","dist":{"integrity":"sha512-tTN8a3hcgmjqlxyLt76X9k1sCssE5KaqwcKXo1OQ5YniQzKR+SisTkJaaLjw2UkGap4Vwwqpag/CGfPXGzHiRA==","shasum":"50373d497d46fcaa3dfa0d73885c097b3c8187af","tarball":"https://registry.npmjs.org/@alu0101130507/constant-folding/-/constant-folding-1.1.2.tgz","fileCount":11,"unpackedSize":8755,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiJg7KACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqMPQ//YAejNet+tvlmA7U3oeqSBun612l9jBg0HFALcS1n7SrehLm/\r\nUspvFFNw9Dr0OfSmdHcu2PpYX0IFWFbBKJ2RB0JGWCEBX6xXyaO8BLsWL5zI\r\nRSWa7INUNk5x9Hq/vMBQcFg/cihPLRnTurwz/f8ZSqdci/WugwkcVmQ5YQ9X\r\nBAkkZS4zTL1Jgwe/s31BQ0JMXLo58rLnOC66aWJj4M6EpXJt7yyGS6EJWQ0p\r\n4YBCvbvikeEYBr/SuvRxEy05l07a9D6V6ahJFScFpTlY+X3wSefM6EUw8ZEs\r\n89Bt7CHdduaf2RfXTmui2GTpNJX3lEaBydbyz9fDYyZIxjF0MSNXvIqyDF3E\r\n2YqMyV6lN4An4pDGn9dhMUwlr1Ek4mQO7orMzzznhARds/De/BEPCDqnDuxi\r\nyfg8gyNE4CpMyHCAB4//uzlrDRQMynPmkPvmMnn8DrZCa/JKBII0RKGDHIy8\r\n8I0+U3lN/WhpTiQwBgo9U8slZsZDGDXtv+/uay7OQQLe0uAkllZzfFyoiQCZ\r\nCgKBPj+xZTmcp1ygEXDhoAesU9S+I86zymPc7SrcSvTi4eMsZYArW8zA0Uh5\r\nfuicJhgj253PF5F4RiA9kwCXBqOQA0D41vgG7miF2P5Qn08GaPd4Bmk/U9+4\r\nskupdsGoBYenVfHAocAa5iFW37JvMc8clmA=\r\n=m+M7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE6M5lmYnDJ+4PAh4kXH26OhqlcHhIumYUUPfAShUuI+AiBtpQuJX7cCdUxvTSU0K4KfQFvogCPK8SQqUp+tpi8vdQ=="}]},"_npmUser":{"name":"alu0101130507","email":"alu0101130507@ull.edu.es"},"directories":{},"maintainers":[{"name":"alu0101130507","email":"alu0101130507@ull.edu.es"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/constant-folding_1.1.2_1646661322612_0.5211696002193138"},"_hasShrinkwrap":false},"1.3.1":{"name":"@alu0101130507/constant-folding","author":{"name":"alu0101130507","email":"alu0101130507@ull.edu.es"},"description":"Constant Folding javascript code","scripts":{"test":"mocha","prod-test":"cd ../constant-folding-production-test-alu0101130507 && 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":{"url":"git+https://github.com/ULL-ESIT-PL-2122/constant-folding-module-markus-schuller-perdigon-alu0101130507.git"},"keywords":["ULL","constant-folding","javascript"],"licenses":[{"type":"MIT","url":"https://github.com/brentertz/scapegoat/blob/master/LICENSE-MIT"}],"dependencies":{"commander":"^7.1.0","escodegen":"^1.14.3"},"version":"1.3.1","main":"src/constant-folding.js","bin":{"cf":"bin/constant-folding-cli.js"},"devDependencies":{"chai":"latest","espree":"^9.3.1","jison":"latest","jsdoc-to-markdown":"^7.1.1","mocha":"latest","nyc":"latest"},"gitHead":"57778a9ce2150f91c1ab263e79aeaec76e3aea31","bugs":{"url":"https://github.com/ULL-ESIT-PL-2122/constant-folding-module-markus-schuller-perdigon-alu0101130507/issues"},"homepage":"https://github.com/ULL-ESIT-PL-2122/constant-folding-module-markus-schuller-perdigon-alu0101130507#readme","_id":"@alu0101130507/constant-folding@1.3.1","_nodeVersion":"17.5.0","_npmVersion":"8.4.1","dist":{"integrity":"sha512-gcP42CJsr/kKmkF2oauaRL15+/0wzF5nefiTZgZVpqV1Q11/cOwEdjHDDlSVJb92LfrFcUUiYluSMUFXBQ4HPg==","shasum":"448d06d2a2c6d65dd027fe71e24d16b07ae3f690","tarball":"https://registry.npmjs.org/@alu0101130507/constant-folding/-/constant-folding-1.3.1.tgz","fileCount":22,"unpackedSize":91145,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiJ1G8ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq86hAAgoKjD8IMvT2obJ1+ZhjmIPw1/g6jGH/Zf7e2MMniLvLdi2i5\r\njm/Ych+enaO9bjLXCenRE4w3o1fYqQn3cMlrzOVAoUeJRDypFY4JXOJrkaOU\r\n0NOgfY2W3Kd/DK41boOcwopmMKildXCpXDTgKZjhRf/ZKbUmNC+oSbacrS14\r\nHrh6Tp054QSuD3xKe7QOXhpnkSN3VHeZSeDSf+buvCalZlMqIc1PZNlP0xwR\r\n1cSvuazCy+2P+WBi3VYT2OIrQLr5BENAlzDercLcLbZ8PBkgvtC/uabanK+Y\r\n5QED2c29CjWCdnb69+wg4U0TVoZ7aUN/1ZClvpxwNvrcdqzB7s6+h/VEoDK7\r\n3N5WjhaPOhHqrqC1kmkMQ1HrniiFQYHZ6eWU/hdmqtgsaR2mod6u0bkZHsN6\r\nrQASIaHGl7AvOYe+JotfehxxNHGFp8p4dMalApJXIdiWCZHfvKaO8I7uiobV\r\nYdcNPtsW25je7+0lW/kSVNJGbx51XXmM7+X1YSbH7cJg3LBobZn334OLXDnk\r\nghLKBOfYyYMILdTgtnyX6KkD7djCowH1GZHfRHcuXuVDh3Z5w3XVKtAdNHlr\r\nXYeE23JTqmWvIFZV3rwMEbhP2aFmgpr3XgdteQev5O72gfA30803erwjfpEN\r\nfhQFNqly2NqvQS5rquGMMDI++3WkJFFp9Dw=\r\n=TtIk\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGE+Me5eu6A43HA/Uc4eu74mTwxWES8UYBMQQItKWsmbAiAX+DxD/CqnMDMAWAbjt0lYodiz7yyMXoFDx/APMztObQ=="}]},"_npmUser":{"name":"alu0101130507","email":"alu0101130507@ull.edu.es"},"directories":{},"maintainers":[{"name":"alu0101130507","email":"alu0101130507@ull.edu.es"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/constant-folding_1.3.1_1646743995934_0.2784930198265878"},"_hasShrinkwrap":false}},"time":{"created":"2022-03-07T12:30:41.491Z","1.0.0":"2022-03-07T12:30:41.691Z","modified":"2022-04-04T13:41:04.129Z","1.1.0":"2022-03-07T12:39:58.734Z","1.1.1":"2022-03-07T12:47:45.737Z","1.1.2":"2022-03-07T13:55:22.765Z","1.3.1":"2022-03-08T12:53:16.150Z"},"maintainers":[{"name":"alu0101130507","email":"alu0101130507@ull.edu.es"}],"description":"Constant Folding javascript code","homepage":"https://github.com/ULL-ESIT-PL-2122/constant-folding-module-markus-schuller-perdigon-alu0101130507#readme","keywords":["ULL","constant-folding","javascript"],"repository":{"url":"git+https://github.com/ULL-ESIT-PL-2122/constant-folding-module-markus-schuller-perdigon-alu0101130507.git"},"author":{"name":"alu0101130507","email":"alu0101130507@ull.edu.es"},"bugs":{"url":"https://github.com/ULL-ESIT-PL-2122/constant-folding-module-markus-schuller-perdigon-alu0101130507/issues"},"readme":"[![npm version](https://badge.fury.io/js/@alu0101130507%2Fconstant-folding.svg)](https://badge.fury.io/js/@alu0101130507%2Fconstant-folding.svg)\n[![CI for constant-folding](https://github.com/ULL-ESIT-PL-2122/constant-folding-module-markus-schuller-perdigon-alu0101130507/actions/workflows/nodejs.yml/badge.svg)](https://github.com/ULL-ESIT-PL-2122/constant-folding-module-markus-schuller-perdigon-alu0101130507/actions/workflows/nodejs.yml)\n\n# Constant folding\nThis module provides functionalities to perform the transformation of the constant folding for a JavaScript input, producing an output\nwhich has the same code as the input but with some of the constants in methods, arrays or operations are folded.\n## Functions\n\n<dl>\n<dt><a href=\"#constantFolding\">constantFolding(code)</a> ⇒ <code>string</code></dt>\n<dd><p>A function that receives a piece of code and returns the same code but with\nits constants folded.</p>\n</dd>\n<dt><a href=\"#replaceByLiteral\">replaceByLiteral(n)</a></dt>\n<dd><p>Replaces a node that represents the operation between two children literals\nwith a single node that has the result of said operation</p>\n</dd>\n<dt><a href=\"#replaceConcat\">replaceConcat(n)</a></dt>\n<dd><p>Replaces a node that represents the concat() method of an array\nwith a single node that has the result of said method</p>\n</dd>\n<dt><a href=\"#replaceJoin\">replaceJoin(n)</a></dt>\n<dd><p>Replaces a node that represents the join() method of an array\nwith a single node that has the result of said method</p>\n</dd>\n<dt><a href=\"#replaceLength\">replaceLength(n)</a></dt>\n<dd><p>Replaces a node that represents the length member expression of an array\nwith a single node that has the result of that length.</p>\n</dd>\n<dt><a href=\"#replaceBracketOperator\">replaceBracketOperator(n)</a></dt>\n<dd><p>Replaces a node that represents the bracket operator [] member expression of an array\nwith a single node that has the result of that operator.</p>\n</dd>\n<dt><a href=\"#replaceShift\">replaceShift(n)</a></dt>\n<dd><p>Replaces a node that represents the shift method of an array\nwith a single node that has the result of that method.</p>\n</dd>\n<dt><a href=\"#replaceSlice\">replaceSlice(n)</a></dt>\n<dd><p>Replaces a node that represents the slice method of an array\nwith a single node that has the result of that method.</p>\n</dd>\n<dt><a href=\"#replacePop\">replacePop(n)</a></dt>\n<dd><p>Replaces a node that represents the pop method of an array\nwith a single node that has the result of that method.</p>\n</dd>\n<dt><a href=\"#replaceReverse\">replaceReverse(n)</a></dt>\n<dd><p>Replaces a node that represents the reverse method of an array\nwith a single node that has the result of that method.</p>\n</dd>\n</dl>\n\n<a name=\"constantFolding\"></a>\n\n## constantFolding(code) ⇒ <code>string</code>\nA function that receives a piece of code and returns the same code but with\nits constants folded.\n\n**Kind**: global function\n**Returns**: <code>string</code> - The modified code with its constants folded\n\n| Param | Type | Description |\n| --- | --- | --- |\n| code | <code>string</code> | The code to receive |\n\n<a name=\"replaceByLiteral\"></a>\n\n## replaceByLiteral(n)\nReplaces a node that represents the operation between two children literals\nwith a single node that has the result of said operation\n\n**Kind**: global function\n\n| Param | Type | Description |\n| --- | --- | --- |\n| n | <code>ASTnode</code> | The AST father node. |\n\n<a name=\"replaceConcat\"></a>\n\n## replaceConcat(n)\nReplaces a node that represents the concat() method of an array\nwith a single node that has the result of said method\n\n**Kind**: global function\n\n| Param | Type | Description |\n| --- | --- | --- |\n| n | <code>ASTnode</code> | The AST father node. |\n\n<a name=\"replaceJoin\"></a>\n\n## replaceJoin(n)\nReplaces a node that represents the join() method of an array\nwith a single node that has the result of said method\n\n**Kind**: global function\n\n| Param | Type | Description |\n| --- | --- | --- |\n| n | <code>ASTnode</code> | The AST father node. |\n\n<a name=\"replaceLength\"></a>\n\n## replaceLength(n)\nReplaces a node that represents the length member expression of an array\nwith a single node that has the result of that length.\n\n**Kind**: global function\n\n| Param | Type | Description |\n| --- | --- | --- |\n| n | <code>ASTnode</code> | The AST father node. |\n\n<a name=\"replaceBracketOperator\"></a>\n\n## replaceBracketOperator(n)\nReplaces a node that represents the bracket operator [] member expression of an array\nwith a single node that has the result of that operator.\n\n**Kind**: global function\n\n| Param | Type | Description |\n| --- | --- | --- |\n| n | <code>ASTnode</code> | The AST father node. |\n\n<a name=\"replaceShift\"></a>\n\n## replaceShift(n)\nReplaces a node that represents the shift method of an array\nwith a single node that has the result of that method.\n\n**Kind**: global function\n\n| Param | Type | Description |\n| --- | --- | --- |\n| n | <code>ASTnode</code> | The AST father node. |\n\n<a name=\"replaceSlice\"></a>\n\n## replaceSlice(n)\nReplaces a node that represents the slice method of an array\nwith a single node that has the result of that method.\n\n**Kind**: global function\n\n| Param | Type | Description |\n| --- | --- | --- |\n| n | <code>ASTnode</code> | The AST father node. |\n\n<a name=\"replacePop\"></a>\n\n## replacePop(n)\nReplaces a node that represents the pop method of an array\nwith a single node that has the result of that method.\n\n**Kind**: global function\n\n| Param | Type | Description |\n| --- | --- | --- |\n| n | <code>ASTnode</code> | The AST father node. |\n\n<a name=\"replaceReverse\"></a>\n\n## replaceReverse(n)\nReplaces a node that represents the reverse method of an array\nwith a single node that has the result of that method.\n\n**Kind**: global function\n\n| Param | Type | Description |\n| --- | --- | --- |\n| n | <code>ASTnode</code> | The AST father node. |\n\n## Installation\n\nTo install this module, simply run the following command:\n```\nnpm i @ULL-ESIT-PL-2122/constant-folding\n```\n\n## Usage as executable:\n\nThe module provides an executable that can run as:\n```\nUsage: cf [options] <filename>\n\nConstant Folding javascript code\n\nArguments:\n  filename                 file with the original code\n\nOptions:\n  -V, --version            output the version number\n  -o, --output <filename>  name of the file to write the result (default: \"output.js\")\n  -h, --help               display help for command\n```\n\n## Usage from code:\n\nThe module also provides one function, constantFolding(), which can be used to parse any piece\nof code and perform the required transformations. The usage of this function is described in the Functions section.\n\n```javascript\nconst constantFolding = require('@ULL-ESIT-PL-2122/constant-folding');\n//call the function\nlet outputCode = constantFolding(inputCode);\n```\n\n## Examples\n\n### Example 1: Binary expressions\n```js\n// Example input with binary expressions:\nlet f = 3 + null;\nlet e = 4 | 3;\nlet d = 3 + \"c\";\nlet b = 9 +1;\nlet a = 2 + 3 * 5 + b;\n\n// Will produce the following output:\nlet f = 3;\nlet e = 7;\nlet d = '3c';\nlet b = 10;\nlet a = 17 + b;\n```\n\n### Example 2: Member expressions\n```js\n// Example input with member expressions:\n['a', 'b', 'c'].concat(['d', 'e'], 'f', 'g', ['h']);\n['a', 'b', 'c'].join();\n['a', 'b', 'c'].join('@');\n[1, 2, 3].length;\n[1, 2, 3][2-1];\n[1, 2, 3].shift();\n[1, 2, 3].slice(0, 1+1);\n['a', 'b', 'c'].pop();\n['a', 'b', 'c'].reverse();\n\n// Will produce the following output:\n['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h'];\n'a,b,c';\n'a@b@c';\n3;\n2;\n1;\n[1, 2];\n'c';\n['c', 'b', 'a'];\n```\n\n## Author\n\nMarkus Schüller Perdigón - alu0101130507\n\n## Tests\n\nThe tests can be found in `test/test.js` and run with `npm run test`. It contains tests for the\nexamples found in the Examples section.","readmeFilename":"README.md"}