{"_id":"kas-npm","_rev":"4-c354cd53e2cbf1a8dc5f8b4deceebb90","name":"kas-npm","dist-tags":{"latest":"0.4.15-d"},"versions":{"0.4.15":{"name":"kas-npm","version":"0.4.15","description":"A lightweight JavaScript CAS for comparing expressions and equations. Forked from @Khan to use in NPM. ","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1","start":"node index.js"},"repository":{"type":"git","url":"git+https://github.com/edvilme/KAS.git"},"keywords":["parsing","equation","expression","algebra","symbolic"],"author":{"name":"edvilme"},"license":"MIT","bugs":{"url":"https://github.com/edvilme/KAS/issues"},"homepage":"https://github.com/edvilme/KAS#readme","dependencies":{"underscore":"^1.13.1"},"gitHead":"a5b04e0688ec692da86e2991cd389f1fd3831528","_id":"kas-npm@0.4.15","_nodeVersion":"14.15.5","_npmVersion":"6.14.11","dist":{"integrity":"sha512-DLdoZ5W+NabOUIxUbgEi4+h9K8Z48doS2v4BfG/f43t0R6ZQwj90bB8/4zPqmMYx8PgXeM4yilIe+YGNk2NdVQ==","shasum":"7f040bfb4c0d85a38092c55c3d87444c97835c9a","tarball":"https://registry.npmjs.org/kas-npm/-/kas-npm-0.4.15.tgz","fileCount":12,"unpackedSize":437665,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg9oC9CRA9TVsSAnZWagAAmrAP/1ZSFbAoDFZxH2r/prc3\n+VF60kZw4sFe53e0p0Gt5s7PXZIfAahlRRkLo6C0ZIbnhl69Sho1pHWpoL1+\ncKKQqiWpKQsVftixcYItOqt6Ifq8Q9+e92sZ2WYFVqo+oFTIic39FYAZukix\nRHL2GIlk/uHiIi0+CcO/ERXMVMW8CLuwGXZ4DbNUIcx9yfCAZwwsg16S9Xpn\nB5RaxHGR9rC+O7LGc3iHOxO6GMfJpBLkRCHBWrtuPjh4pfkzBkZKUXF681bu\nZaeJSWXFEXd1H4O8a/yTeP1Hh6rr8B6WBswg61X4KhH5rNkenQ1nzVNHN3Ql\ncB7kN3qr05T/8ahQTDmL9F+E5DWAZ0gZSYKkMztYKnLOjkTv4O5iGDyjf+5C\nPt/o8dc9lKJ9uoggld2uUp+hePHZHgG0mCVjhyt5ebmSSbUfEtkaLmEBNJlQ\nOcbCAgFOP6JVS7JBp7KFCPpk3r/FOUpelpqCzNwit73c2ycSj6rDV5C6pUBi\nWT++UMTd9LRklbtzoGhm2H7haSaC4vHsM1QxZNJp1zsppSNs605IevvFTCsi\n/kO8S/2ooNLudRT93BT81Fw+gZXEsz9MmAnkA1bDewpXH7bc4ugNpPj6T407\nRGI0K8teUNzjXLzzQHk7GiGHS4sFjsTm1zlku2hf4aV1agxkpZbAwNez/gtQ\nAXEB\r\n=gNBx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDr79AttTZ/D/MQuXV8g3oERFT2L+Zb8Q1wywcMnlKz1gIhANRsHOMMdIGTcPD4/Pwngm3WN5aAjbxHFkD3p4pPt2pD"}]},"_npmUser":{"name":"edvilme","email":"eduardo.villalpando.mello@gmail.com"},"directories":{},"maintainers":[{"name":"edvilme","email":"eduardo.villalpando.mello@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kas-npm_0.4.15_1626767549263_0.15793010180497613"},"_hasShrinkwrap":false},"0.4.15-b":{"name":"kas-npm","version":"0.4.15-b","description":"A lightweight JavaScript CAS for comparing expressions and equations. Forked from @Khan to use in NPM. ","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1","start":"node index.js"},"repository":{"type":"git","url":"git+https://github.com/edvilme/KAS.git"},"keywords":["parsing","equation","expression","algebra","symbolic"],"author":{"name":"edvilme"},"license":"MIT","bugs":{"url":"https://github.com/edvilme/KAS/issues"},"homepage":"https://github.com/edvilme/KAS#readme","dependencies":{"underscore":"^1.13.1"},"gitHead":"faedf4201d20c5ef5f7b328e1b6d7be4a874dd61","_id":"kas-npm@0.4.15-b","_nodeVersion":"14.15.5","_npmVersion":"6.14.11","dist":{"integrity":"sha512-2y4RK4+s/OtaOe2aQlQAUB2HseDgN7pAV7srCItdmUPTcXcHZFCO+IOg/mtriUzE0oa+f48YOG9vrGVAu1PhOQ==","shasum":"b399247a9cdca4da0b7a8680c8a80e87ddd913fb","tarball":"https://registry.npmjs.org/kas-npm/-/kas-npm-0.4.15-b.tgz","fileCount":13,"unpackedSize":485253,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg9obHCRA9TVsSAnZWagAAfYgP/1c9vq1CWe8MuluioIPW\niznxBhdxjWQ0FQL3tFCs3S8HSTZKAivYPSbMyHUrkqHWsYhgUmoQKdSAMgFw\n7lj21D3YkLCi9a4sLq45CPgEd5rXJmC5LIqxcMlQOT8oSlDqhqGypU89XF07\nsARgu/u+OtUc113ImTHKKB51xR1zwIBn/mTIABdXLeGoISWm08JmmGhD7Y+k\nHtpCKGV/mwnpil4/K2MrJTEve65H2QV2YpxDB48B16GiNVFm7fbpIlWp5+tS\nQx1DvyzUx35YrSIEzr81LvG5dwFy+00wrKPn5cpMtxF2A9m0FFBOZmE4UHXH\nuCTTSddgVe6kxt3lSydcgaAemWYBPZPQ4gnNbuhGWbkKV0CfyLLX5aTCfffc\nJDPlRWGG+1rAejj+bGFoqUi9nh4NnPHSxJRdAmspAoDHcEQp8diklGX2y64o\nFF7zP158/i+4cQYNTvTp+GzkZcq+b2OiANq9axvNv8APP89D67b78Pc6v4S5\nwoO1PXY12BB2dXZSdyjfeGmhYQYLa//fWPn6FN1rGky6qg1kaTEndlBSgCNq\nAV2vZkuHn3LOerLD/NODnu3zERenH0Vjcfy7Szfpf/cQRphGgmTjg0Wv6iUj\nYIb2naF0RWSsCN/hQYvaIigIDsJEy5P15BT5QbqaIoJK4xMul17qjNXOyMoc\nacSF\r\n=zX73\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEq1eCZ5COcbaz+F3iFM8g/F39Ke3N8izMg55jqic1noAiA6trw1g7Rhsoozh1nQKHzOE5MY6Z2jGNLHlG9eDFi2qg=="}]},"_npmUser":{"name":"edvilme","email":"eduardo.villalpando.mello@gmail.com"},"directories":{},"maintainers":[{"name":"edvilme","email":"eduardo.villalpando.mello@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kas-npm_0.4.15-b_1626769095332_0.6315867515763718"},"_hasShrinkwrap":false},"0.4.15-c":{"name":"kas-npm","version":"0.4.15-c","description":"A lightweight JavaScript CAS for comparing expressions and equations. Forked from @Khan to use in NPM. ","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1","start":"node index.js"},"repository":{"type":"git","url":"git+https://github.com/edvilme/KAS.git"},"keywords":["parsing","equation","expression","algebra","symbolic"],"author":{"name":"edvilme"},"license":"MIT","bugs":{"url":"https://github.com/edvilme/KAS/issues"},"homepage":"https://github.com/edvilme/KAS#readme","dependencies":{"underscore":"^1.13.1"},"devDependencies":{"esmify":"^2.1.1"},"gitHead":"26d9970ea17628c861875693d12d37cba5a2ed91","_id":"kas-npm@0.4.15-c","_nodeVersion":"14.15.5","_npmVersion":"6.14.11","dist":{"integrity":"sha512-LEFNcCxCilNQnhGhMUDaK2/Cvm1Di+TXQKLLecJTXCuTzh4MBxWlVxqTs1gR1+Ny6XxRVZT0/pyc/0HJ8+6eHQ==","shasum":"58c8b441cb7ceae70257c6b71f7ee75605b9ccb8","tarball":"https://registry.npmjs.org/kas-npm/-/kas-npm-0.4.15-c.tgz","fileCount":14,"unpackedSize":485350,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg9pQeCRA9TVsSAnZWagAAJAIP/A3m8eP0F/Xr5x1KThIh\nA6MQsO8jR7K9c8ijYZo//zem/SgCTAwgUEbRBHjHQncrMDug3iEflJW/jroo\nUUhsM9oOE0AijkcTLa5AlN8NQLdEKPlLWkHtXJOGMpm1QTJZemj/RY31/eyZ\noB//hYgj4nZBaBr3qX/r2ItWBO00zsPD1kHErrNhTZ67ID5oqKobZ+CfBCNW\nRvhD/4QYdfUIMJB9wnAe7uJbKY8vK/rbVyXh/1XjGNOfrCBENDwr/IAP4XoM\nPBz1dq70hJVm5edAcWhfP0mEyWi0/y/tJDi4ZvKDytE9P+CN30D3RTMSkNtY\nMTyORAtegOoC/ZaG7e0XS4HRedhA7DzGyW3HdumsjEoTlL1bRNsvgPWy2kdu\n0G6hJoeJ4exhk5YKCXLtDqmXb+XVHb1sENDD+bJfpvr6SDOG09Tm7QTNYm4G\nV5J9644JqH74zfc8eKWznXbN8FUUrem/tEH8WqpiJIKAj8rgQtUfFJQfQebK\ndI0YE1OHtVpauoaTrbsct5V/qO2Zr8afIXHZSc/KCcwDZhcQNRW1SB3Pc8R/\nT9k4SFscPpCVdPue9jhtYqrt8IOjfGBFVtUZOxNp8UKKQYP32MRKFaXprJ5Z\nKxywZdDSp2YIivo1liMDW52PVDu7AFTmwL5P7hjmHggSx0kypIOl1Xdr3pj3\nXe1d\r\n=az3v\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDnjXLmyYD+oy3o7HjL1Xc1U+YE3tLdKY00HEk1Ma86zAiEAmHT2UkV7+qF3DGVCbhejPkfY+Sa2DmzpK8LWXvUMzJI="}]},"_npmUser":{"name":"edvilme","email":"eduardo.villalpando.mello@gmail.com"},"directories":{},"maintainers":[{"name":"edvilme","email":"eduardo.villalpando.mello@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kas-npm_0.4.15-c_1626772510086_0.383790962622097"},"_hasShrinkwrap":false},"0.4.15-d":{"name":"kas-npm","version":"0.4.15-d","description":"A lightweight JavaScript CAS for comparing expressions and equations. Forked from @Khan to use in NPM. ","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1","start":"node index.js"},"repository":{"type":"git","url":"git+https://github.com/edvilme/KAS.git"},"keywords":["parsing","equation","expression","algebra","symbolic"],"author":{"name":"edvilme"},"license":"MIT","bugs":{"url":"https://github.com/edvilme/KAS/issues"},"homepage":"https://github.com/edvilme/KAS#readme","dependencies":{"underscore":"^1.13.1"},"devDependencies":{"esmify":"^2.1.1"},"gitHead":"26d9970ea17628c861875693d12d37cba5a2ed91","_id":"kas-npm@0.4.15-d","_nodeVersion":"14.15.5","_npmVersion":"6.14.11","dist":{"integrity":"sha512-XbGymsubzNF/kaiSh9gEEQ5yjAELhuEluAp/NFrufM9chDSANbxRNpGO5Ny8CeP41n2vv/XsZ4/Gwwc31HxhzA==","shasum":"4d5d8cf8688e4172b5974e57da636e54e1ecef53","tarball":"https://registry.npmjs.org/kas-npm/-/kas-npm-0.4.15-d.tgz","fileCount":14,"unpackedSize":485350,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg9pfgCRA9TVsSAnZWagAAy4IP/2/pcC3M9LdWnHOgYhct\nRVYCdBGn5rzJGtweLc2wqJzDqmnmMM/EsPsY/eebRtv83YW8vqiRgEVLihOQ\nhXUQ6vLQL+P5Y1GZPeGDx47ekreXpjf8UPc6lSPNL7fOql3gjQm80zdgZdLa\ncM/lNEO7UGxAMFY5AgMpDSzrKf0lRhp3/M3ero+A2qmM7VNy2lHZN1tMkFbQ\np1fJkvPB1reGSCQQY/1UFl701naj1xP5kOXmiE2QRp0RMvFvArx8gfAsiGom\nEzKHrcHmnDcvZddTG1oVUuz138YIdyM6Yt9JQPGLMVghTRR2qlYDoeFDkrW3\nvT1rxli2iGb8/+v6TTak7JAH3nHP4ntH0bpwzYlS3UZ4bskIwDzRFeTVmqAD\nVos1p4MaDNeAJ/h6s1gVYvA2WfHDYIu86goOHxxK6VeszoxDX/9p528yMEgX\n1O18xZf933Zm6TpTI4xI6KD5SiS2WT3eEIFoR4yEvBtY+zjEcqsprJ4HXDKG\n4TXbGcuIiD6Rli/HibXonULvv5/5L2LCoWlZ1yIT3HfRStfdLtOhKVYxNrOU\nHahCsIRJy/oGUtfH0Rw2pI3/mDHxATIkwcje5nucHYr0JF/5v4YxwIY/CJtS\nuinx9ixOrYBaHcB3xX+eyj1sRe6Oixy18Kdo/BcO36qRC9B7bl87pO80kOcL\nSq8b\r\n=CL/u\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIALiI17+O7InVIAvIdBWhRXQ9ULsMyiPxfnlhvSHqHjpAiEAhzRYDhCQnlEhUykrJZYEUGbSVViNo48PmAebMl0jIAU="}]},"_npmUser":{"name":"edvilme","email":"eduardo.villalpando.mello@gmail.com"},"directories":{},"maintainers":[{"name":"edvilme","email":"eduardo.villalpando.mello@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kas-npm_0.4.15-d_1626773472388_0.7666083568824076"},"_hasShrinkwrap":false}},"time":{"created":"2021-07-20T07:52:29.263Z","0.4.15":"2021-07-20T07:52:29.424Z","modified":"2022-05-07T04:37:36.761Z","0.4.15-b":"2021-07-20T08:18:15.545Z","0.4.15-c":"2021-07-20T09:15:10.248Z","0.4.15-d":"2021-07-20T09:31:12.560Z"},"maintainers":[{"name":"edvilme","email":"eduardo.villalpando.mello@gmail.com"}],"description":"A lightweight JavaScript CAS for comparing expressions and equations. Forked from @Khan to use in NPM. ","homepage":"https://github.com/edvilme/KAS#readme","keywords":["parsing","equation","expression","algebra","symbolic"],"repository":{"type":"git","url":"git+https://github.com/edvilme/KAS.git"},"author":{"name":"edvilme"},"bugs":{"url":"https://github.com/edvilme/KAS/issues"},"license":"MIT","readme":"KAS\n===\n\nA lightweight JavaScript CAS for comparing expressions and equations.\nIt is used throughout [Khan Academy](https://khanacademy.org)'s interactive exercises.\n\nWhat can it do?\n---------------\n\nIt can parse plain text math, LaTeX, or a mix of both:\n\n```js\nvar expr = KAS.parse(\"3x \\\\frac{42}{42} sin^2y\").expr;\nexpr.print();\n// \"3*x*42/42*sin(y)^(2)\"\n```\n\nIt can evaluate expressions:\n\n```js\nvar expr = KAS.parse(\"(x^2+y^2)^.5\").expr;\nexpr.eval({x: 3, y: 4});\n// 5\n```\n\nIt can compare expressions and equations:\n\n```js\nvar expr1 = KAS.parse(\"(1-x)(-1-6x)\").expr;\nvar expr2 = KAS.parse(\"(6x+1)(x-1)\").expr;\nKAS.compare(expr1, expr2).equal;\n// true\n\nvar eq1 = KAS.parse(\"2w+50/w=25\").expr;\nvar eq2 = KAS.parse(\"w(12.5-w)=25\").expr;\nKAS.compare(eq1, eq2).equal;\n// true\n```\n\nIt can perform basic transforms that always simplify an expression:\n\n```js\nvar expr = KAS.parse(\"1+1+x+x+x+y\").expr;\nexpr.collect().print();\n// \"2+3*x+y\"\n\nvar expr = KAS.parse(\"b^(2*y*log_b x)\").expr;\nexpr.collect().print();\n// \"x^(2*y)\"\n```\n\nIt can perform non-simplifying transforms on an expression:\n\n```js\nvar expr = KAS.parse(\"ab(c+d)e^f\").expr;\nexpr.print();\n// \"a*b*(c+d)*e^(f)\"\nexpr.expand().print();\n// \"a*b*e^(f)*c+a*b*e^(f)*d\"\nexpr.expand().factor().print();\n// \"a*b*e^(f)*(c+d)\"\n```\n\nIt can combine the above abilities to perform powerful simplification:\n\n```js\nvar expr = KAS.parse(\"((nx^5)^5)/(n^-2x^2)^-3\").expr;\nexpr.print();\n// \"(n*x^(5))^(5)*(n^(-2)*x^(2))^(-1*-3)\"\nexpr.simplify().print();\n// \"n^(-1)*x^(31)\"\n\nvar expr = KAS.parse(\"(15np-25mp)/(15p^2-5p)+(20mp+10p^2)/(15p^2-5p)\").expr;\nexpr.print();\n// \"(15*n*p+-25*m*p)*(15*p^(2)+-5*p)^(-1)+(20*m*p+10*p^(2))*(15*p^(2)+-5*p)^(-1)\"\nexpr.simplify().print();\n// \"(-1+3*p)^(-1)*(3*n+-1*m+2*p)\"\n```\n\nHow to build the library\n------------------------\n    npm install\n    npm run build\n\nHow to build the parser\n-----------------------\nFirst, make any changes in `src/parser-generator.js`\n\n    npm install\n    npm run build:parser\n\nLicense\n-------\n[MIT License](http://opensource.org/licenses/MIT)\n","readmeFilename":"README.md"}