{"_id":"hunspell-asm","_rev":"46-4030ebb562d54996de804eaafb637e35","name":"hunspell-asm","dist-tags":{"latest":"4.0.2","beta":"2.0.0-beta.8","asm":"2.0.0-asm.5"},"versions":{"0.0.1":{"name":"hunspell-asm","version":"0.0.1","description":"","main":"./dist/src/index.js","types":"./dist/src/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"},"validate-commit-msg":{"types":["feat","fix","docs","style","refactor","perf","test","chore","revert","ci","build"]}},"lint-staged":{"*.ts":["prettier --write --single-quote --print-width 120 --jsx-bracket-same-line true","tslint --fix --type-check --project tsconfig.json","git add"]},"scripts":{"prepublish":"npm-run-all build test","precommit":"lint-staged","prepush":"npm-run-all build test","commitmsg":"validate-commit-msg","test:hunspell":"jest --config jest-hunspell.json","test:hunspell-asm":"jest --config jest-hunspell-asm.json --coverage","test":"npm-run-all test:*","lint":"tslint src/**/*.ts test/**/*.ts --type-check --project tsconfig.json","lint:staged":"lint-staged","build":"shx rm -rf ./dist && tsc && shx cp -r ./src/lib ./dist/src","commit":"git-cz -S","changelog":"conventional-changelog -p angular -i CHANGELOG.md -s"},"repository":{"type":"git","url":"git+https://github.com/kwonoj/hunspell-asm.git"},"author":{"name":"OJ Kwon","email":"kwon.ohjoong@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/kwonoj/hunspell-asm/issues"},"homepage":"https://github.com/kwonoj/hunspell-asm#readme","devDependencies":{"@types/chai":"^4.0.1","@types/jest":"^20.0.2","@types/node":"^8.0.9","chai":"^4.0.2","commitizen":"^2.9.6","conventional-changelog":"^1.1.4","conventional-changelog-cli":"^1.3.1","husky":"^0.14.3","jest":"^20.0.4","lint-staged":"^4.0.1","npm-run-all":"^4.0.2","prettier":"^1.5.2","rxjs":"^5.4.2","shx":"^0.2.2","ts-jest":"^20.0.7","ts-node":"^3.2.0","tslint":"^5.5.0","tslint-no-unused-expression-chai":"0.0.2","typescript":"^2.4.1","validate-commit-msg":"^2.12.2"},"dependencies":{"cuid":"^1.3.8","tslib":"^1.7.1","unixify":"^1.0.0"},"gitHead":"da7ecbf0becdf21d6630fc6abe11ad5b5ba44773","_id":"hunspell-asm@0.0.1","_shasum":"f997b1cc8bb7d126aa6256cd51d3456cb50af0e3","_from":".","_npmVersion":"4.6.1","_nodeVersion":"8.1.2","_npmUser":{"name":"kwonoj","email":"kwon.ohjoong@gmail.com"},"dist":{"shasum":"f997b1cc8bb7d126aa6256cd51d3456cb50af0e3","tarball":"https://registry.npmjs.org/hunspell-asm/-/hunspell-asm-0.0.1.tgz","integrity":"sha512-mC0Z7EvTZYX8Cmg/tb2gAEKLG6cjiXaaEbWMj8h7ndzdEt+OxBwO6Cokme7p29szAxruPijiAUrWPLW6OWJVww==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH2jhsfvPMSyvLADSFg9S34xVhc2ExzV4U9k0LCtyjF7AiEAmm1OCnAXlA7cR4SdI6iYNVTOKeW0NaJsafI7k7dlC3g="}]},"maintainers":[{"name":"kwonoj","email":"kwon.ohjoong@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hunspell-asm-0.0.1.tgz_1501224994572_0.7710176054388285"},"directories":{}},"0.0.2":{"name":"hunspell-asm","version":"0.0.2","description":"WebAssembly based Javascript bindings for hunspell spellchecker","main":"./dist/src/index.js","types":"./dist/src/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"},"validate-commit-msg":{"types":["feat","fix","docs","style","refactor","perf","test","chore","revert","ci","build"]}},"lint-staged":{"*.ts":["prettier --write --single-quote --print-width 120 --jsx-bracket-same-line true","tslint --fix --type-check --project tsconfig.json","git add"]},"scripts":{"prepublishOnly":"npm-run-all build test","precommit":"lint-staged","prepush":"npm-run-all build test","commitmsg":"validate-commit-msg","test:hunspell":"jest --config jest-hunspell.json","test:hunspell-asm":"jest --config jest-hunspell-asm.json --coverage","test":"npm-run-all test:*","lint":"tslint src/**/*.ts test/**/*.ts --type-check --project tsconfig.json","lint:staged":"lint-staged","build":"shx rm -rf ./dist && tsc && shx cp -r ./src/lib ./dist/src","commit":"git-cz -S","changelog":"conventional-changelog -p angular -i CHANGELOG.md -s"},"repository":{"type":"git","url":"git+https://github.com/kwonoj/hunspell-asm.git"},"author":{"name":"OJ Kwon","email":"kwon.ohjoong@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/kwonoj/hunspell-asm/issues"},"homepage":"https://github.com/kwonoj/hunspell-asm#readme","devDependencies":{"@types/chai":"^4.0.1","@types/jest":"^20.0.2","@types/node":"^8.0.9","chai":"^4.0.2","commitizen":"^2.9.6","conventional-changelog":"^1.1.4","conventional-changelog-cli":"^1.3.1","husky":"^0.14.3","jest":"^20.0.4","lint-staged":"^4.0.1","npm-run-all":"^4.0.2","prettier":"^1.5.2","rxjs":"^5.4.2","shx":"^0.2.2","ts-jest":"^20.0.7","ts-node":"^3.2.0","tslint":"^5.5.0","tslint-no-unused-expression-chai":"0.0.2","typescript":"^2.4.1","validate-commit-msg":"^2.12.2"},"dependencies":{"cuid":"^1.3.8","tslib":"^1.7.1","unixify":"^1.0.0"},"gitHead":"719114d2728f9badc86cce090fa45fe11288d7a3","_id":"hunspell-asm@0.0.2","_shasum":"1c808c08440394341358e0a806645b911fca9f3b","_from":".","_npmVersion":"4.6.1","_nodeVersion":"8.1.2","_npmUser":{"name":"kwonoj","email":"kwon.ohjoong@gmail.com"},"dist":{"shasum":"1c808c08440394341358e0a806645b911fca9f3b","tarball":"https://registry.npmjs.org/hunspell-asm/-/hunspell-asm-0.0.2.tgz","integrity":"sha512-K7PzH8B9DbPFuUSXHFZMSefQN7OX89WA03u41bEE2KLYaD0rQWAXsNjloL2sZlpIfRSLpuv+Ai+A1coWPseNFQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH2WT0K96VfOpAvfUFp3LCr4j5r8357C7iVr7nX3h+6kAiEA+bklQt7r1VS04FTgJco0p9sUnZ1j+VFmf7Fh2Ug2S74="}]},"maintainers":[{"name":"kwonoj","email":"kwon.ohjoong@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hunspell-asm-0.0.2.tgz_1501259261707_0.14782513724640012"},"directories":{}},"0.0.3":{"name":"hunspell-asm","version":"0.0.3","description":"WebAssembly based Javascript bindings for hunspell spellchecker","main":"./dist/src/index.js","types":"./dist/src/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"},"validate-commit-msg":{"types":["feat","fix","docs","style","refactor","perf","test","chore","revert","ci","build"]}},"lint-staged":{"*.ts":["prettier --write --single-quote --print-width 120 --jsx-bracket-same-line true","tslint --fix --type-check --project tsconfig.json","git add"]},"scripts":{"prepublishOnly":"npm-run-all build test","precommit":"lint-staged","prepush":"npm-run-all build test","commitmsg":"validate-commit-msg","test:hunspell":"jest --config jest-hunspell.json","test:hunspell-asm":"jest --config jest-hunspell-asm.json --coverage","test":"npm-run-all test:*","lint":"tslint src/**/*.ts test/**/*.ts --type-check --project tsconfig.json","lint:staged":"lint-staged","build":"shx rm -rf ./dist && tsc && shx cp -r ./src/lib ./dist/src","commit":"git-cz -S","changelog":"conventional-changelog -p angular -i CHANGELOG.md -s"},"repository":{"type":"git","url":"git+https://github.com/kwonoj/hunspell-asm.git"},"author":{"name":"OJ Kwon","email":"kwon.ohjoong@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/kwonoj/hunspell-asm/issues"},"homepage":"https://github.com/kwonoj/hunspell-asm#readme","devDependencies":{"@types/chai":"^4.0.1","@types/jest":"^20.0.2","@types/lodash":"^4.14.71","@types/node":"^8.0.9","chai":"^4.0.2","commitizen":"^2.9.6","conventional-changelog":"^1.1.4","conventional-changelog-cli":"^1.3.1","husky":"^0.14.3","jest":"^20.0.4","lint-staged":"^4.0.1","lodash":"^4.17.4","npm-run-all":"^4.0.2","prettier":"^1.5.2","rxjs":"^5.4.2","shx":"^0.2.2","ts-jest":"^20.0.7","ts-node":"^3.2.0","tslint":"^5.5.0","tslint-no-unused-expression-chai":"0.0.2","typescript":"^2.4.1","validate-commit-msg":"^2.12.2"},"dependencies":{"cuid":"^1.3.8","tslib":"^1.7.1","unixify":"^1.0.0"},"engines":{"node":">=4"},"gitHead":"6ab219207cad039c4817dbd1a3c57c172b125f03","_id":"hunspell-asm@0.0.3","_shasum":"1640138f5ba66411399c23ffa7724c1412bdfc48","_from":".","_npmVersion":"4.6.1","_nodeVersion":"8.1.2","_npmUser":{"name":"kwonoj","email":"kwon.ohjoong@gmail.com"},"dist":{"shasum":"1640138f5ba66411399c23ffa7724c1412bdfc48","tarball":"https://registry.npmjs.org/hunspell-asm/-/hunspell-asm-0.0.3.tgz","integrity":"sha512-nYqofekwnam3bqEdhVURdtnTH8bsXnzn7xgyjDqZa+T54EDDlhsVeYZU2jUFFNenvUALIKOqrg9obAnV44iK1g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCQ5S2kgTf6MFEYTl8vqcOk+iTQ3hoE5Ad0ZpEQX1Ic2AIgCOcboFZlNzdCDH7JMxqRSYKuo3WZ/6A5z7RxZGhVoaw="}]},"maintainers":[{"name":"kwonoj","email":"kwon.ohjoong@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hunspell-asm-0.0.3.tgz_1501349259478_0.756623558467254"},"directories":{}},"0.0.4":{"name":"hunspell-asm","version":"0.0.4","description":"WebAssembly based Javascript bindings for hunspell spellchecker","main":"./dist/src/index.js","types":"./dist/src/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"},"validate-commit-msg":{"types":["feat","fix","docs","style","refactor","perf","test","chore","revert","ci","build"]}},"lint-staged":{"*.ts":["prettier --write --single-quote --print-width 120 --jsx-bracket-same-line true","tslint --fix --type-check --project tsconfig.json","git add"]},"scripts":{"prepublishOnly":"npm-run-all build test","precommit":"lint-staged","prepush":"npm-run-all build test","commitmsg":"validate-commit-msg","test:hunspell":"jest --config jest-hunspell.json","test:hunspell-asm":"jest --config jest-hunspell-asm.json --coverage","test":"npm-run-all test:*","lint":"tslint src/**/*.ts test/**/*.ts --type-check --project tsconfig.json","lint:staged":"lint-staged","build":"shx rm -rf ./dist && tsc && shx cp -r ./src/lib ./dist/src","commit":"git-cz -S","changelog":"conventional-changelog -p angular -i CHANGELOG.md -s"},"repository":{"type":"git","url":"git+https://github.com/kwonoj/hunspell-asm.git"},"author":{"name":"OJ Kwon","email":"kwon.ohjoong@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/kwonoj/hunspell-asm/issues"},"homepage":"https://github.com/kwonoj/hunspell-asm#readme","devDependencies":{"@types/chai":"^4.0.1","@types/jest":"^20.0.2","@types/lodash":"^4.14.71","@types/node":"^8.0.9","chai":"^4.0.2","commitizen":"^2.9.6","conventional-changelog":"^1.1.4","conventional-changelog-cli":"^1.3.1","husky":"^0.14.3","jest":"^20.0.4","lint-staged":"^4.0.1","lodash":"^4.17.4","npm-run-all":"^4.0.2","prettier":"^1.5.2","rxjs":"^5.4.2","shx":"^0.2.2","ts-jest":"^20.0.7","ts-node":"^3.2.0","tslint":"^5.5.0","tslint-no-unused-expression-chai":"0.0.2","typescript":"^2.4.1","validate-commit-msg":"^2.12.2"},"dependencies":{"cuid":"^1.3.8","tslib":"^1.7.1","unixify":"^1.0.0"},"engines":{"node":">=4"},"gitHead":"17d21b4c1d1801d5f23bc0bfecb689e1481996d5","_id":"hunspell-asm@0.0.4","_shasum":"9b90781680a672cf0b7452854c69e463af3102f7","_from":".","_npmVersion":"4.6.1","_nodeVersion":"8.1.2","_npmUser":{"name":"kwonoj","email":"kwon.ohjoong@gmail.com"},"dist":{"shasum":"9b90781680a672cf0b7452854c69e463af3102f7","tarball":"https://registry.npmjs.org/hunspell-asm/-/hunspell-asm-0.0.4.tgz","integrity":"sha512-MjhldQ52a5tO936gIi/htQxqadBm0yCPxQqlhyHG1FsgIAhgkqXIEg09gPcWg8j75MeO6K3cIy3aFId4wVk44Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFMVcbFfB6ZypEH4Pd35Gc2Ir2rzRkDxk8cZfB8onzMdAiEAwfyac4mQEi7DmyIijQAyjHoA0BsEUTz2NrU6857LzFw="}]},"maintainers":[{"name":"kwonoj","email":"kwon.ohjoong@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hunspell-asm-0.0.4.tgz_1501453969657_0.5542271174490452"},"directories":{}},"0.0.5":{"name":"hunspell-asm","version":"0.0.5","description":"WebAssembly based Javascript bindings for hunspell spellchecker","main":"./dist/src/index.js","types":"./dist/src/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"},"validate-commit-msg":{"types":["feat","fix","docs","style","refactor","perf","test","chore","revert","ci","build"]}},"lint-staged":{"*.ts":["prettier --write --single-quote --print-width 120 --jsx-bracket-same-line true","tslint --fix --type-check --project tsconfig.json","git add"]},"scripts":{"prepublishOnly":"npm-run-all build test","precommit":"lint-staged","prepush":"npm-run-all build test","commitmsg":"validate-commit-msg","test:hunspell":"jest --config jest-hunspell.json","test:hunspell-asm":"jest --config jest-hunspell-asm.json --coverage","test":"npm-run-all test:*","lint":"tslint src/**/*.ts test/**/*.ts --type-check --project tsconfig.json","lint:staged":"lint-staged","build":"shx rm -rf ./dist && tsc && shx cp -r ./src/lib ./dist/src","commit":"git-cz -S","changelog":"conventional-changelog -p angular -i CHANGELOG.md -s"},"repository":{"type":"git","url":"git+https://github.com/kwonoj/hunspell-asm.git"},"author":{"name":"OJ Kwon","email":"kwon.ohjoong@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/kwonoj/hunspell-asm/issues"},"homepage":"https://github.com/kwonoj/hunspell-asm#readme","devDependencies":{"@types/chai":"^4.0.1","@types/jest":"^20.0.2","@types/lodash":"^4.14.71","@types/node":"^8.0.9","chai":"^4.0.2","commitizen":"^2.9.6","conventional-changelog":"^1.1.4","conventional-changelog-cli":"^1.3.1","husky":"^0.14.3","jest":"^20.0.4","lint-staged":"^4.0.1","lodash":"^4.17.4","npm-run-all":"^4.0.2","prettier":"^1.5.2","rxjs":"^5.4.2","shx":"^0.2.2","ts-jest":"^20.0.7","ts-node":"^3.2.0","tslint":"^5.5.0","tslint-no-unused-expression-chai":"0.0.2","typescript":"^2.4.1","validate-commit-msg":"^2.12.2"},"dependencies":{"cuid":"^1.3.8","tslib":"^1.7.1","unixify":"^1.0.0"},"engines":{"node":">=4"},"gitHead":"34a176041ab4d409d1b8b68c97d280ad6f65f084","_id":"hunspell-asm@0.0.5","_shasum":"f7c453503fa5c709656ddadf042091e2e951173f","_from":".","_npmVersion":"4.6.1","_nodeVersion":"8.1.2","_npmUser":{"name":"kwonoj","email":"kwon.ohjoong@gmail.com"},"dist":{"shasum":"f7c453503fa5c709656ddadf042091e2e951173f","tarball":"https://registry.npmjs.org/hunspell-asm/-/hunspell-asm-0.0.5.tgz","integrity":"sha512-Hh+/jHP3Yx+a3zlwkaxgiHAW6YPu3FpdCXbMdwPVHc1NEGz96gKV8d98vtDMqLsjkFetG7vIZDxXRrB0uc09Kg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAss5LMcWer9DDxYaU4VR8ihYAUQq4R260PxYLOkv5oyAiBJZMvnjvdC4BHqVs1UkU2YHLtOLZj9CC82qmK7tdJ/Xw=="}]},"maintainers":[{"name":"kwonoj","email":"kwon.ohjoong@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hunspell-asm-0.0.5.tgz_1503451823857_0.6358222891576588"},"directories":{}},"0.0.6":{"name":"hunspell-asm","version":"0.0.6","description":"WebAssembly based Javascript bindings for hunspell spellchecker","main":"./dist/src/index.js","types":"./dist/src/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"},"validate-commit-msg":{"types":["feat","fix","docs","style","refactor","perf","test","chore","revert","ci","build"]}},"lint-staged":{"*.ts":["prettier --write --single-quote --print-width 120 --jsx-bracket-same-line true","tslint --fix --type-check --project tsconfig.json","git add"]},"scripts":{"prepublishOnly":"npm-run-all build test","precommit":"lint-staged","prepush":"npm-run-all build test","commitmsg":"validate-commit-msg","test:hunspell":"jest --config jest-hunspell.json","test:hunspell-asm":"jest --config jest-hunspell-asm.json --coverage","test":"npm-run-all test:*","lint":"tslint src/**/*.ts test/**/*.ts --type-check --project tsconfig.json","lint:staged":"lint-staged","build":"shx rm -rf ./dist && tsc && shx cp -r ./src/lib ./dist/src","commit":"git-cz -S","changelog":"conventional-changelog -p angular -i CHANGELOG.md -s"},"repository":{"type":"git","url":"git+https://github.com/kwonoj/hunspell-asm.git"},"author":{"name":"OJ Kwon","email":"kwon.ohjoong@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/kwonoj/hunspell-asm/issues"},"keywords":["WebAssembly","Wasm","Spellchecker","Hunspell","Language"],"homepage":"https://github.com/kwonoj/hunspell-asm#readme","devDependencies":{"@types/chai":"^4.0.1","@types/jest":"^20.0.2","@types/lodash":"^4.14.71","@types/node":"^8.0.9","chai":"^4.0.2","commitizen":"^2.9.6","conventional-changelog":"^1.1.4","conventional-changelog-cli":"^1.3.1","husky":"^0.14.3","jest":"^20.0.4","lint-staged":"^4.0.1","lodash":"^4.17.4","npm-run-all":"^4.0.2","prettier":"^1.5.2","rxjs":"^5.4.2","shx":"^0.2.2","ts-jest":"^20.0.7","ts-node":"^3.2.0","tslint":"^5.5.0","tslint-no-unused-expression-chai":"0.0.2","typescript":"^2.4.1","validate-commit-msg":"^2.12.2"},"dependencies":{"cuid":"^1.3.8","tslib":"^1.7.1","unixify":"^1.0.0"},"engines":{"node":">=4"},"gitHead":"fba372208ad92de0ee15541284ccb695618007c0","_id":"hunspell-asm@0.0.6","_shasum":"7286711832b963bbe24c7167c691bee416492d8a","_from":".","_npmVersion":"4.6.1","_nodeVersion":"8.1.2","_npmUser":{"name":"kwonoj","email":"kwon.ohjoong@gmail.com"},"dist":{"shasum":"7286711832b963bbe24c7167c691bee416492d8a","tarball":"https://registry.npmjs.org/hunspell-asm/-/hunspell-asm-0.0.6.tgz","integrity":"sha512-NXD7mP16L4uy09MY8Ioodxc/qXu+hXNLVeWojXOuazJLEG6M3+FRwMeTN6cKFSLhh/ythOWXC0gqiB8jw7jZkg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEwagtn0BiGFRyR4A3bG7Jw7GOVNypdBhW6bL8DfsLsDAiEA+LF9V7x5cFX4+Gm77akcsUtU3GYrI31Q4+I770tctoU="}]},"maintainers":[{"name":"kwonoj","email":"kwon.ohjoong@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hunspell-asm-0.0.6.tgz_1503714677593_0.7822606917470694"},"directories":{}},"0.0.7":{"name":"hunspell-asm","version":"0.0.7","description":"WebAssembly based Javascript bindings for hunspell spellchecker","main":"./dist/src/index.js","types":"./dist/src/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"lint-staged":{"*.ts":["prettier --write --single-quote --print-width 120 --jsx-bracket-same-line true","tslint --fix --type-check --project tsconfig.json","git add"]},"scripts":{"prepublishOnly":"npm-run-all build test","precommit":"lint-staged","prepush":"npm-run-all build test","commitmsg":"commitlint -e","test:hunspell":"jest --config jest-hunspell.json","test:hunspell-asm":"jest --config jest-hunspell-asm.json --coverage","test":"npm-run-all test:*","lint":"tslint src/**/*.ts test/**/*.ts --type-check --project tsconfig.json","lint:staged":"lint-staged","build":"shx rm -rf ./dist && tsc && shx cp -r ./src/lib ./dist/src","commit":"git-cz -S","changelog":"conventional-changelog -p angular -i CHANGELOG.md -s"},"repository":{"type":"git","url":"git+https://github.com/kwonoj/hunspell-asm.git"},"author":{"name":"OJ Kwon","email":"kwon.ohjoong@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/kwonoj/hunspell-asm/issues"},"keywords":["WebAssembly","Wasm","Spellchecker","Hunspell","Language"],"homepage":"https://github.com/kwonoj/hunspell-asm#readme","devDependencies":{"@commitlint/cli":"^3.2.0","@commitlint/config-angular":"^3.1.1","@types/chai":"^4.0.1","@types/jest":"^20.0.2","@types/lodash":"^4.14.71","@types/node":"^8.0.9","chai":"^4.0.2","commitizen":"^2.9.6","conventional-changelog":"^1.1.4","conventional-changelog-cli":"^1.3.1","husky":"^0.14.3","jest":"^20.0.4","lint-staged":"^4.0.1","lodash":"^4.17.4","npm-run-all":"^4.0.2","prettier":"^1.5.2","rxjs":"^5.4.2","shx":"^0.2.2","ts-jest":"^20.0.7","ts-node":"^3.2.0","tslint":"^5.5.0","tslint-no-unused-expression-chai":"0.0.2","typescript":"^2.4.1"},"dependencies":{"cuid":"^1.3.8","getroot":"^1.0.0","tslib":"^1.7.1","unixify":"^1.0.0"},"engines":{"node":">=4"},"gitHead":"c6945575a1dfc29d6494c368d3a975b2caa30593","_id":"hunspell-asm@0.0.7","_npmVersion":"5.4.1","_nodeVersion":"8.4.0","_npmUser":{"name":"kwonoj","email":"kwon.ohjoong@gmail.com"},"dist":{"integrity":"sha512-orfGHlILDt4jJsxxQ7MvMkXwoZ0h6eR6yoZdb1ixJSkLenahqzNBX9LBtqVqkoKL3yPHTH23/umYCh+X60e21w==","shasum":"4d791d87b462db1cb067c4c0ce47d483ccd49b6f","tarball":"https://registry.npmjs.org/hunspell-asm/-/hunspell-asm-0.0.7.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCOB9Ykb3qMlhy/aVsQjxK7mbErDhKnClXDHNWbpyg7ngIgcNF+2BUVss86JeS7Yn5WE4APBKKlDNMbbKqWX814M48="}]},"maintainers":[{"name":"kwonoj","email":"kwon.ohjoong@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hunspell-asm-0.0.7.tgz_1504910041712_0.590225538238883"},"directories":{}},"0.0.8":{"name":"hunspell-asm","version":"0.0.8","description":"WebAssembly based Javascript bindings for hunspell spellchecker","main":"./dist/src/index.js","types":"./dist/src/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"lint-staged":{"*.ts":["prettier --write --single-quote --print-width 120 --jsx-bracket-same-line true","tslint --fix --type-check --project tsconfig.json","git add"]},"scripts":{"prepublishOnly":"npm-run-all build test","precommit":"lint-staged","prepush":"npm-run-all build test","commitmsg":"commitlint -e","test:hunspell":"jest --config jest-hunspell.json","test:hunspell-asm":"jest --config jest-hunspell-asm.json --coverage","test":"npm-run-all test:*","lint":"tslint src/**/*.ts test/**/*.ts --type-check --project tsconfig.json","lint:staged":"lint-staged","build":"shx rm -rf ./dist && tsc && shx cp -r ./src/lib ./dist/src","commit":"git-cz -S","changelog":"conventional-changelog -p angular -i CHANGELOG.md -s"},"repository":{"type":"git","url":"git+https://github.com/kwonoj/hunspell-asm.git"},"author":{"name":"OJ Kwon","email":"kwon.ohjoong@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/kwonoj/hunspell-asm/issues"},"keywords":["WebAssembly","Wasm","Spellchecker","Hunspell","Language"],"homepage":"https://github.com/kwonoj/hunspell-asm#readme","devDependencies":{"@commitlint/cli":"^3.2.0","@commitlint/config-angular":"^3.1.1","@types/chai":"^4.0.1","@types/jest":"^20.0.2","@types/lodash":"^4.14.71","@types/node":"^8.0.9","chai":"^4.0.2","commitizen":"^2.9.6","conventional-changelog":"^1.1.4","conventional-changelog-cli":"^1.3.1","husky":"^0.14.3","jest":"^21.0.2","lint-staged":"^4.0.1","lodash":"^4.17.4","npm-run-all":"^4.0.2","prettier":"^1.5.2","rxjs":"^5.4.2","shx":"^0.2.2","ts-jest":"^21.0.0","ts-node":"^3.2.0","tslint":"^5.5.0","tslint-no-unused-expression-chai":"0.0.2","typescript":"^2.4.1"},"dependencies":{"cuid":"^1.3.8","getroot":"^1.0.0","tslib":"^1.7.1","unixify":"^1.0.0"},"engines":{"node":">=4"},"gitHead":"9723b8254777a1db4c33d22e5327ad6f25600ccc","_id":"hunspell-asm@0.0.8","_npmVersion":"5.4.1","_nodeVersion":"8.4.0","_npmUser":{"name":"kwonoj","email":"kwon.ohjoong@gmail.com"},"dist":{"integrity":"sha512-n3LNBGfJolV/ldb17MpoxRT/i2raNFGXiZ4cdAdHZLs+BtsAul1SIs9DUozy/P1KUej3AWMerQLZ3xvzZcoSqA==","shasum":"d35fe61d96e37e2938f38a575d303ea533594465","tarball":"https://registry.npmjs.org/hunspell-asm/-/hunspell-asm-0.0.8.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDLuP7/zB130ajcEfD8ToMdhn3kJ5F3T05ah6jMXPJd1wIhANBXfL0hpZpysQi5j4GEgmjRLtLhY8B+wWjWKrvEaQ4h"}]},"maintainers":[{"name":"kwonoj","email":"kwon.ohjoong@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hunspell-asm-0.0.8.tgz_1505015106981_0.4566064307000488"},"directories":{}},"0.0.9":{"name":"hunspell-asm","version":"0.0.9","description":"WebAssembly based Javascript bindings for hunspell spellchecker","main":"./dist/src/index.js","types":"./dist/src/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"lint-staged":{"*.ts":["prettier --write --single-quote --print-width 120 --jsx-bracket-same-line true","tslint --fix --type-check --project tsconfig.json","git add"]},"scripts":{"prepublishOnly":"npm-run-all build test","precommit":"lint-staged","prepush":"npm-run-all build test","commitmsg":"commitlint -e","test:hunspell":"jest --config jest-hunspell.json","test:hunspell-asm":"jest --config jest-hunspell-asm.json --coverage","test":"npm-run-all test:*","lint":"tslint src/**/*.ts test/**/*.ts --type-check --project tsconfig.json","lint:staged":"lint-staged","build":"shx rm -rf ./dist && tsc && shx cp -r ./src/lib ./dist/src","commit":"git-cz -S","changelog":"conventional-changelog -p angular -i CHANGELOG.md -s"},"repository":{"type":"git","url":"git+https://github.com/kwonoj/hunspell-asm.git"},"author":{"name":"OJ Kwon","email":"kwon.ohjoong@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/kwonoj/hunspell-asm/issues"},"keywords":["WebAssembly","Wasm","Spellchecker","Hunspell","Language"],"homepage":"https://github.com/kwonoj/hunspell-asm#readme","devDependencies":{"@commitlint/cli":"^3.2.0","@commitlint/config-angular":"^3.1.1","@types/chai":"^4.0.1","@types/jest":"^20.0.2","@types/lodash":"^4.14.71","@types/node":"^8.0.9","chai":"^4.0.2","commitizen":"^2.9.6","conventional-changelog":"^1.1.4","conventional-changelog-cli":"^1.3.1","husky":"^0.14.3","jest":"^21.0.2","lint-staged":"^4.0.1","lodash":"^4.17.4","npm-run-all":"^4.0.2","prettier":"^1.5.2","rxjs":"^5.4.2","shx":"^0.2.2","ts-jest":"^21.0.0","ts-node":"^3.2.0","tslint":"^5.5.0","tslint-no-unused-expression-chai":"0.0.2","typescript":"^2.4.1"},"dependencies":{"getroot":"^1.0.0","nanoid":"^0.2.0","tslib":"^1.7.1","unixify":"^1.0.0"},"engines":{"node":">=4"},"gitHead":"147f9f427ecb845f1d4502225616327afbc9d506","_id":"hunspell-asm@0.0.9","_npmVersion":"5.4.1","_nodeVersion":"8.4.0","_npmUser":{"name":"kwonoj","email":"kwon.ohjoong@gmail.com"},"dist":{"integrity":"sha512-Mrs2YnYHlxr21+ZR1vRNxgsvEFr0iRw22TXiyvpkd72gOlydK3H+c0TkMDOi+bG8u5ZEfRxZKFewtHoi8ljoyw==","shasum":"00fdc1e663c0b0f1d5ee20cae15ccfbb5e0577f9","tarball":"https://registry.npmjs.org/hunspell-asm/-/hunspell-asm-0.0.9.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC5JsaFWfD2gZBi3vkkd5JVWna3efqWJ7hRLrnzX8qjqQIhAN+c63hr9mAiVV5Rl/XoOwkjJBtlj2ioLR5tK738ozd/"}]},"maintainers":[{"name":"kwonoj","email":"kwon.ohjoong@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hunspell-asm-0.0.9.tgz_1505018968225_0.5831866022199392"},"directories":{}},"0.0.10":{"name":"hunspell-asm","version":"0.0.10","description":"WebAssembly based Javascript bindings for hunspell spellchecker","main":"./dist/src/index.js","types":"./dist/src/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"lint-staged":{"*.ts":["prettier --write --single-quote --print-width 120 --jsx-bracket-same-line true","tslint --fix --type-check --project tsconfig.json","git add"]},"scripts":{"prepublishOnly":"npm-run-all build test","precommit":"lint-staged","prepush":"npm-run-all build test","commitmsg":"commitlint -e","test:hunspell":"jest --config jest-hunspell.json","test:hunspell-asm":"jest --config jest-hunspell-asm.json --coverage","test":"npm-run-all test:*","lint":"tslint src/**/*.ts test/**/*.ts --type-check --project tsconfig.json","lint:staged":"lint-staged","build":"shx rm -rf ./dist && tsc && shx cp -r ./src/lib ./dist/src","commit":"git-cz -S","changelog":"conventional-changelog -p angular -i CHANGELOG.md -s"},"repository":{"type":"git","url":"git+https://github.com/kwonoj/hunspell-asm.git"},"author":{"name":"OJ Kwon","email":"kwon.ohjoong@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/kwonoj/hunspell-asm/issues"},"keywords":["WebAssembly","Wasm","Spellchecker","Hunspell","Language"],"homepage":"https://github.com/kwonoj/hunspell-asm#readme","devDependencies":{"@commitlint/cli":"^3.2.0","@commitlint/config-angular":"^3.1.1","@types/chai":"^4.0.1","@types/jest":"^20.0.2","@types/lodash":"^4.14.71","@types/node":"^8.0.9","chai":"^4.0.2","commitizen":"^2.9.6","conventional-changelog":"^1.1.4","conventional-changelog-cli":"^1.3.1","husky":"^0.14.3","jest":"^21.0.2","lint-staged":"^4.0.1","lodash":"^4.17.4","npm-run-all":"^4.0.2","prettier":"^1.5.2","rxjs":"^5.4.2","shx":"^0.2.2","ts-jest":"^21.0.0","ts-node":"^3.2.0","tslint":"^5.5.0","tslint-no-unused-expression-chai":"0.0.2","typescript":"^2.4.1"},"dependencies":{"getroot":"^1.0.0","nanoid":"^0.2.0","tslib":"^1.7.1","unixify":"^1.0.0"},"engines":{"node":">=4"},"gitHead":"79e49b7c9d127fdaf76d5239611faa35ef86f287","_id":"hunspell-asm@0.0.10","_npmVersion":"5.4.1","_nodeVersion":"8.4.0","_npmUser":{"name":"kwonoj","email":"kwon.ohjoong@gmail.com"},"dist":{"integrity":"sha512-Pa9+uBfj+OiZ7TcykRuTHcpOtUvUnayaTId9ZG9WJ1XmIAc85aZ/4yTC6awL0u0ivK1MY1z5KHqWWdDHaJhURg==","shasum":"1732537f028a15232d6a3a4860064bbf2238c79a","tarball":"https://registry.npmjs.org/hunspell-asm/-/hunspell-asm-0.0.10.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAQb5ENnOEnIA3GTQq3CkyUqOB+C2F7pS95ELqsnTkS1AiEAipPcBeSpo9/w6oHS6/uZQT15x1zbrQwcWc8FVH4Ljgc="}]},"maintainers":[{"name":"kwonoj","email":"kwon.ohjoong@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hunspell-asm-0.0.10.tgz_1505198967879_0.8157830487471074"},"directories":{}},"0.0.11":{"name":"hunspell-asm","version":"0.0.11","description":"WebAssembly based Javascript bindings for hunspell spellchecker","main":"./dist/src/index.js","types":"./dist/src/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"lint-staged":{"*.ts":["prettier --write --single-quote --print-width 120 --jsx-bracket-same-line true","tslint --fix --type-check --project tsconfig.json","git add"]},"scripts":{"prepublishOnly":"npm-run-all build test","precommit":"lint-staged","prepush":"npm-run-all build test","commitmsg":"commitlint -e","test:hunspell":"jest --config jest-hunspell.json","test:hunspell-asm":"jest --config jest-hunspell-asm.json --coverage","test":"npm-run-all test:*","lint":"tslint src/**/*.ts test/**/*.ts --type-check --project tsconfig.json","lint:staged":"lint-staged","build":"shx rm -rf ./dist && tsc && shx cp -r ./src/lib ./dist/src","commit":"git-cz -S","changelog":"conventional-changelog -p angular -i CHANGELOG.md -s"},"repository":{"type":"git","url":"git+https://github.com/kwonoj/hunspell-asm.git"},"author":{"name":"OJ Kwon","email":"kwon.ohjoong@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/kwonoj/hunspell-asm/issues"},"keywords":["WebAssembly","Wasm","Spellchecker","Hunspell","Language"],"homepage":"https://github.com/kwonoj/hunspell-asm#readme","devDependencies":{"@commitlint/cli":"^3.2.0","@commitlint/config-angular":"^3.1.1","@types/chai":"^4.0.1","@types/jest":"^20.0.2","@types/lodash":"^4.14.71","@types/node":"^8.0.9","chai":"^4.0.2","commitizen":"^2.9.6","conventional-changelog":"^1.1.4","conventional-changelog-cli":"^1.3.1","husky":"^0.14.3","jest":"^21.0.2","lint-staged":"^4.0.1","lodash":"^4.17.4","npm-run-all":"^4.0.2","prettier":"^1.5.2","rxjs":"^5.4.2","shx":"^0.2.2","ts-jest":"^21.0.0","ts-node":"^3.2.0","tslint":"^5.5.0","tslint-no-unused-expression-chai":"0.0.2","typescript":"^2.4.1"},"dependencies":{"emscripten-wasm-loader":"0.0.4","getroot":"^1.0.0","nanoid":"^0.2.0","tslib":"^1.7.1","unixify":"^1.0.0"},"engines":{"node":">=4"},"gitHead":"845ef23bc95f21b7beb79e986e18528aca044a28","_id":"hunspell-asm@0.0.11","_npmVersion":"5.4.1","_nodeVersion":"8.4.0","_npmUser":{"name":"kwonoj","email":"kwon.ohjoong@gmail.com"},"dist":{"integrity":"sha512-M8qnhw1igirwuYhipwEIhahJwguvNIodS3e4Dx4/j7UgkLqyfOmIy9BA9EWOEu9vzODoKuX2VF9zaAReLG769Q==","shasum":"834dcd8de567ba976b675825d21fc1bc5cb53b25","tarball":"https://registry.npmjs.org/hunspell-asm/-/hunspell-asm-0.0.11.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBRfmvCafElY56juDndPvJMJdXuAMbga7voKDVe/hGXoAiBOEbz4vRSWR5CFhMeqaXLOqKWTpT5fFSRnhhEK2NGAbQ=="}]},"maintainers":[{"name":"kwonoj","email":"kwon.ohjoong@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hunspell-asm-0.0.11.tgz_1505457243251_0.031481617130339146"},"directories":{}},"0.0.12":{"name":"hunspell-asm","version":"0.0.12","description":"WebAssembly based Javascript bindings for hunspell spellchecker","main":"./dist/src/index.js","types":"./dist/src/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"lint-staged":{"*.ts":["prettier --write --single-quote --print-width 120 --jsx-bracket-same-line true","tslint --fix --type-check --project tsconfig.json","git add"]},"scripts":{"prepublishOnly":"npm-run-all build test","precommit":"lint-staged","prepush":"npm-run-all build test","commitmsg":"commitlint -e","test:hunspell":"jest --config jest-hunspell.json","test:hunspell-asm":"jest --config jest-hunspell-asm.json --coverage","test":"npm-run-all test:*","lint":"tslint src/**/*.ts test/**/*.ts --type-check --project tsconfig.json","lint:staged":"lint-staged","build":"shx rm -rf ./dist && tsc && shx cp -r ./src/lib ./dist/src","commit":"git-cz -S","changelog":"conventional-changelog -p angular -i CHANGELOG.md -s"},"repository":{"type":"git","url":"git+https://github.com/kwonoj/hunspell-asm.git"},"author":{"name":"OJ Kwon","email":"kwon.ohjoong@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/kwonoj/hunspell-asm/issues"},"keywords":["WebAssembly","Wasm","Spellchecker","Hunspell","Language"],"homepage":"https://github.com/kwonoj/hunspell-asm#readme","devDependencies":{"@commitlint/cli":"^3.2.0","@commitlint/config-angular":"^3.1.1","@types/chai":"^4.0.1","@types/jest":"^20.0.2","@types/lodash":"^4.14.71","@types/node":"^8.0.9","chai":"^4.0.2","commitizen":"^2.9.6","conventional-changelog":"^1.1.4","conventional-changelog-cli":"^1.3.1","husky":"^0.14.3","jest":"^21.0.2","lint-staged":"^4.0.1","lodash":"^4.17.4","npm-run-all":"^4.0.2","prettier":"^1.5.2","rxjs":"^5.4.2","shx":"^0.2.2","ts-jest":"^21.0.0","ts-node":"^3.2.0","tslint":"^5.5.0","tslint-no-unused-expression-chai":"0.0.2","typescript":"^2.4.1"},"dependencies":{"emscripten-wasm-loader":"0.0.5","getroot":"^1.0.0","nanoid":"^0.2.0","tslib":"^1.7.1","unixify":"^1.0.0"},"engines":{"node":">=4"},"gitHead":"2d4681d9ab1f63062ce4d743efa71ce180823bbf","_id":"hunspell-asm@0.0.12","_npmVersion":"5.4.2","_nodeVersion":"8.5.0","_npmUser":{"name":"kwonoj","email":"kwon.ohjoong@gmail.com"},"dist":{"integrity":"sha512-UEnwhfb8Sfmu3TrJDO1sbdztNFv7N2/v+qipQmw61Ag/izZOBdRX1GQ2GsefHUQWGCo404l25SpMgO6S97U5bQ==","shasum":"36e86808d4f435c0acf4e68d6b466216f03646b0","tarball":"https://registry.npmjs.org/hunspell-asm/-/hunspell-asm-0.0.12.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCrjU/4IEksD86IiUw4jb4MTJr5HS5N0vgJ8Aiv6nxGwQIhAILhCpqe5pbD6Y8DeFqRTMNHiI6Bt8Uy0aR16qVMkXZi"}]},"maintainers":[{"name":"kwonoj","email":"kwon.ohjoong@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hunspell-asm-0.0.12.tgz_1505494820391_0.22574388585053384"},"directories":{}},"0.0.13":{"name":"hunspell-asm","version":"0.0.13","description":"WebAssembly based Javascript bindings for hunspell spellchecker","main":"./dist/src/index.js","types":"./dist/src/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"lint-staged":{"*.ts":["prettier --write --single-quote --print-width 120 --jsx-bracket-same-line true","tslint --fix --type-check --project tsconfig.json","git add"]},"scripts":{"prepublishOnly":"npm-run-all build test","precommit":"lint-staged","prepush":"npm-run-all build test","commitmsg":"commitlint -e","test:hunspell":"jest --config jest-hunspell.json","test:hunspell-asm":"jest --config jest-hunspell-asm.json --coverage","test":"npm-run-all test:*","lint":"tslint src/**/*.ts test/**/*.ts --type-check --project tsconfig.json","lint:staged":"lint-staged","build":"shx rm -rf ./dist && tsc && shx cp -r ./src/lib ./dist/src","commit":"git-cz -S","changelog":"conventional-changelog -p angular -i CHANGELOG.md -s"},"repository":{"type":"git","url":"git+https://github.com/kwonoj/hunspell-asm.git"},"author":{"name":"OJ Kwon","email":"kwon.ohjoong@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/kwonoj/hunspell-asm/issues"},"keywords":["WebAssembly","Wasm","Spellchecker","Hunspell","Language"],"homepage":"https://github.com/kwonoj/hunspell-asm#readme","devDependencies":{"@commitlint/cli":"^3.2.0","@commitlint/config-angular":"^3.1.1","@types/chai":"^4.0.1","@types/jest":"^20.0.2","@types/lodash":"^4.14.71","@types/node":"^8.0.9","chai":"^4.0.2","commitizen":"^2.9.6","conventional-changelog":"^1.1.4","conventional-changelog-cli":"^1.3.1","husky":"^0.14.3","jest":"^21.0.2","lint-staged":"^4.0.1","lodash":"^4.17.4","npm-run-all":"^4.0.2","prettier":"^1.5.2","rxjs":"^5.4.2","shx":"^0.2.2","ts-jest":"^21.0.0","ts-node":"^3.2.0","tslint":"^5.5.0","tslint-no-unused-expression-chai":"0.0.2","typescript":"^2.4.1"},"dependencies":{"emscripten-wasm-loader":"0.0.5","getroot":"^1.0.0","nanoid":"^0.2.0","tslib":"^1.7.1","unixify":"^1.0.0"},"engines":{"node":">=4"},"gitHead":"f74941b516ce67e39b836e99a493acd5412984fa","_id":"hunspell-asm@0.0.13","_npmVersion":"5.4.2","_nodeVersion":"8.4.0","_npmUser":{"name":"kwonoj","email":"kwon.ohjoong@gmail.com"},"dist":{"integrity":"sha512-QLg6D81Dm4N6HyiR5LBcziNuB86usaxRdTBppaWXnpfd0KVe8ffnH6zdGFr7qM9/jSg/k5NtPfkVXxlghVWXDQ==","shasum":"7ebed162f396f99f31f8eafb12bf55f0c442e907","tarball":"https://registry.npmjs.org/hunspell-asm/-/hunspell-asm-0.0.13.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCXf6EMKr6xa5Mk7Sr54sCcBeA/p7v9vXudvcZVUuITSAIgY4Jgc3ChmrOZHqJKzfH1Ys2a5XkuGNsVV8kTbOu81ws="}]},"maintainers":[{"name":"kwonoj","email":"kwon.ohjoong@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hunspell-asm-0.0.13.tgz_1505542289763_0.9930530916899443"},"directories":{}},"0.0.14":{"name":"hunspell-asm","version":"0.0.14","description":"WebAssembly based Javascript bindings for hunspell spellchecker","main":"./dist/src/index.js","types":"./dist/src/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"lint-staged":{"*.ts":["prettier --write --single-quote --print-width 120 --jsx-bracket-same-line true --ignore-path ./src/lib/*.js","tslint --fix --type-check --project tsconfig.json --exclude ./src/lib","git add"]},"scripts":{"prepublishOnly":"npm-run-all build test","precommit":"lint-staged","prepush":"npm-run-all build test","commitmsg":"commitlint -e","test:hunspell":"jest --config jest-hunspell.json","test:hunspell-asm":"jest --config jest-hunspell-asm.json --coverage","test":"npm-run-all test:*","lint":"tslint src/**/*.ts test/**/*.ts --type-check --project tsconfig.json","lint:staged":"lint-staged","build":"shx rm -rf ./dist && tsc && shx cp -r ./src/lib ./dist/src","commit":"git-cz -S","changelog":"conventional-changelog -p angular -i CHANGELOG.md -s"},"repository":{"type":"git","url":"git+https://github.com/kwonoj/hunspell-asm.git"},"author":{"name":"OJ Kwon","email":"kwon.ohjoong@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/kwonoj/hunspell-asm/issues"},"keywords":["WebAssembly","Wasm","Spellchecker","Hunspell","Language"],"homepage":"https://github.com/kwonoj/hunspell-asm#readme","devDependencies":{"@commitlint/cli":"^3.2.0","@commitlint/config-angular":"^3.1.1","@types/chai":"^4.0.1","@types/jest":"^20.0.2","@types/lodash":"^4.14.71","@types/node":"^8.0.9","chai":"^4.0.2","commitizen":"^2.9.6","conventional-changelog":"^1.1.4","conventional-changelog-cli":"^1.3.1","husky":"^0.14.3","jest":"^21.0.2","lint-staged":"^4.0.1","lodash":"^4.17.4","npm-run-all":"^4.0.2","prettier":"^1.5.2","rxjs":"^5.4.2","shx":"^0.2.2","ts-jest":"^21.0.0","ts-node":"^3.2.0","tslint":"^5.5.0","tslint-no-unused-expression-chai":"0.0.2","typescript":"^2.4.1"},"dependencies":{"emscripten-wasm-loader":"0.0.5","getroot":"^1.0.0","nanoid":"^0.2.0","tslib":"^1.7.1","unixify":"^1.0.0"},"engines":{"node":">=4"},"gitHead":"8b8d92421a19e9d332b2aacff95dee147abf91ef","_id":"hunspell-asm@0.0.14","_npmVersion":"5.4.2","_nodeVersion":"8.4.0","_npmUser":{"name":"kwonoj","email":"kwon.ohjoong@gmail.com"},"dist":{"integrity":"sha512-RI6FGqNbPs2vqbPM35bKfMzS6l86L3X+4XRyHh99OfYobLbiehCiWOf7Yzpow1acJDS/PEYLFZtD16m0HHdpAg==","shasum":"45b1097708b43c8e6439d9da5d77f71892bc61fd","tarball":"https://registry.npmjs.org/hunspell-asm/-/hunspell-asm-0.0.14.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE7zgYFF4R8VMXEoG0DbSYYaXWqk01IYxlIJ3jfwh4bfAiBgTllcQAo6/PjeifO93oEmUZLKDtItwUUE3Dww/qs1GA=="}]},"maintainers":[{"name":"kwonoj","email":"kwon.ohjoong@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hunspell-asm-0.0.14.tgz_1505709583832_0.11505965632386506"},"directories":{}},"0.0.15":{"name":"hunspell-asm","version":"0.0.15","description":"WebAssembly based Javascript bindings for hunspell spellchecker","main":"./dist/src/index.js","types":"./dist/src/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"lint-staged":{"*.ts":["prettier --write --single-quote --print-width 120 --jsx-bracket-same-line true --ignore-path ./src/lib/*.js","tslint --fix --type-check --project tsconfig.json --exclude ./src/lib","git add"]},"scripts":{"prepublishOnly":"npm-run-all build test","precommit":"lint-staged","prepush":"npm-run-all build test","commitmsg":"commitlint -e","test:hunspell":"jest --config jest-hunspell.json","test:hunspell-asm":"jest --config jest-hunspell-asm.json --coverage","test":"npm-run-all test:*","lint":"tslint src/**/*.ts test/**/*.ts --type-check --project tsconfig.json","lint:staged":"lint-staged","build":"shx rm -rf ./dist && tsc && shx cp -r ./src/lib ./dist/src","commit":"git-cz -S","changelog":"conventional-changelog -p angular -i CHANGELOG.md -s"},"repository":{"type":"git","url":"git+https://github.com/kwonoj/hunspell-asm.git"},"author":{"name":"OJ Kwon","email":"kwon.ohjoong@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/kwonoj/hunspell-asm/issues"},"keywords":["WebAssembly","Wasm","Spellchecker","Hunspell","Language"],"homepage":"https://github.com/kwonoj/hunspell-asm#readme","devDependencies":{"@commitlint/cli":"^3.2.0","@commitlint/config-angular":"^3.1.1","@types/chai":"^4.0.1","@types/jest":"^20.0.2","@types/lodash":"^4.14.71","@types/node":"^8.0.9","chai":"^4.0.2","commitizen":"^2.9.6","conventional-changelog":"^1.1.4","conventional-changelog-cli":"^1.3.1","husky":"^0.14.3","jest":"^21.1.0","lint-staged":"^4.2.1","lodash":"^4.17.4","npm-run-all":"^4.0.2","prettier":"^1.7.0","rxjs":"^5.4.2","shx":"^0.2.2","ts-jest":"^21.0.1","ts-node":"^3.2.0","tslint":"^5.5.0","tslint-no-unused-expression-chai":"0.0.2","typescript":"^2.4.1"},"dependencies":{"emscripten-wasm-loader":"0.0.7","getroot":"^1.0.0","nanoid":"^0.2.1","tslib":"^1.7.1","unixify":"^1.0.0"},"engines":{"node":">=4"},"gitHead":"d2e28b8aa15d0b6a7b3b4ac3c09862d68c7eb965","_id":"hunspell-asm@0.0.15","_npmVersion":"5.4.2","_nodeVersion":"8.4.0","_npmUser":{"name":"kwonoj","email":"kwon.ohjoong@gmail.com"},"dist":{"integrity":"sha512-N0Yz8BTZsxKRafMuLfT7TEfXR3wgjdcpLDPBvZmKowUQIVxvY9oiZOn4h+zUJiSs5riwZyg2eaaRDSLSG7Gzag==","shasum":"81606c672a2c6ff928043c69f1967e3a1b056ac7","tarball":"https://registry.npmjs.org/hunspell-asm/-/hunspell-asm-0.0.15.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDjMbwtanY5cZr7D5UHHM4Dtplbeq/rjo0qe5Np5U8CXwIgNFY1ZzhIj44f23ejijqEDyvx34rXjKYsrZa0sobQsAU="}]},"maintainers":[{"name":"kwonoj","email":"kwon.ohjoong@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hunspell-asm-0.0.15.tgz_1505973516782_0.6344313861336559"},"directories":{}},"0.0.16":{"name":"hunspell-asm","version":"0.0.16","description":"WebAssembly based Javascript bindings for hunspell spellchecker","main":"./dist/src/index.js","types":"./dist/src/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"lint-staged":{"*.ts":["prettier --write --single-quote --print-width 120 --jsx-bracket-same-line true --ignore-path ./src/lib/*.js","tslint --fix --type-check --project tsconfig.json --exclude ./src/lib","git add"]},"scripts":{"prepublishOnly":"npm-run-all build test","precommit":"lint-staged","prepush":"npm-run-all build test","commitmsg":"commitlint -e","test:hunspell":"jest --config jest-hunspell.json","test:hunspell-asm":"jest --config jest-hunspell-asm.json --coverage","test":"npm-run-all test:*","lint":"tslint src/**/*.ts test/**/*.ts --type-check --project tsconfig.json","lint:staged":"lint-staged","build":"shx rm -rf ./dist && tsc && shx cp -r ./src/lib ./dist/src","commit":"git-cz -S","changelog":"conventional-changelog -p angular -i CHANGELOG.md -s"},"repository":{"type":"git","url":"git+https://github.com/kwonoj/hunspell-asm.git"},"author":{"name":"OJ Kwon","email":"kwon.ohjoong@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/kwonoj/hunspell-asm/issues"},"keywords":["WebAssembly","Wasm","Spellchecker","Hunspell","Language"],"homepage":"https://github.com/kwonoj/hunspell-asm#readme","devDependencies":{"@commitlint/cli":"^3.2.0","@commitlint/config-angular":"^3.1.1","@types/chai":"^4.0.1","@types/jest":"^21.1.0","@types/lodash":"^4.14.71","@types/node":"^8.0.9","chai":"^4.0.2","commitizen":"^2.9.6","conventional-changelog":"^1.1.4","conventional-changelog-cli":"^1.3.1","husky":"^0.14.3","jest":"^21.1.0","lint-staged":"^4.2.1","lodash":"^4.17.4","npm-run-all":"^4.0.2","prettier":"^1.7.0","rxjs":"^5.4.2","shx":"^0.2.2","ts-jest":"^21.0.1","ts-node":"^3.2.0","tslint":"^5.5.0","tslint-no-unused-expression-chai":"0.0.2","typescript":"^2.4.1"},"dependencies":{"emscripten-wasm-loader":"0.0.8","getroot":"^1.0.0","nanoid":"^0.2.1","tslib":"^1.7.1","unixify":"^1.0.0"},"engines":{"node":">=4"},"gitHead":"42a2749d42e9372efe05859dba7d31c37c038c10","_id":"hunspell-asm@0.0.16","_npmVersion":"5.4.2","_nodeVersion":"8.5.0","_npmUser":{"name":"kwonoj","email":"kwon.ohjoong@gmail.com"},"dist":{"integrity":"sha512-skYE/9ijMQHpWRH0rsRS3SuPq3GJ9ChYMDq3LSy9j/MalDifSqA52KOAHrknXxqTnaQeAo7M7ZCklDhUYox1Cw==","shasum":"1d207c373aca74a86d3e9bb2b0d2c0ead529de46","tarball":"https://registry.npmjs.org/hunspell-asm/-/hunspell-asm-0.0.16.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCwJ/FYAujgtlFbsTYfD/98xZp1DAIu14uYYOrG58lSuQIhAO1kMTKmJYjvRukoup3U4v7qNtytGTQKrfnnTvBmUSZ5"}]},"maintainers":[{"name":"kwonoj","email":"kwon.ohjoong@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hunspell-asm-0.0.16.tgz_1506107031074_0.8683188431896269"},"directories":{}},"0.0.17":{"name":"hunspell-asm","version":"0.0.17","description":"WebAssembly based Javascript bindings for hunspell spellchecker","main":"./dist/src/index.js","types":"./dist/src/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"lint-staged":{"*.ts":["prettier --write --single-quote --print-width 120 --jsx-bracket-same-line true --ignore-path ./src/lib/*.js","tslint --fix --type-check --project tsconfig.json --exclude ./src/lib","git add"]},"scripts":{"prepublishOnly":"npm-run-all build test","precommit":"lint-staged","prepush":"npm-run-all build test","commitmsg":"commitlint -e","test:hunspell":"jest --config jest-hunspell.json","test:hunspell-asm":"jest --config jest-hunspell-asm.json --coverage","test":"npm-run-all test:*","lint":"tslint src/**/*.ts test/**/*.ts --type-check --project tsconfig.json","lint:staged":"lint-staged","build":"shx rm -rf ./dist && tsc && shx cp -r ./src/lib ./dist/src","commit":"git-cz -S","changelog":"conventional-changelog -p angular -i CHANGELOG.md -s"},"repository":{"type":"git","url":"git+https://github.com/kwonoj/hunspell-asm.git"},"author":{"name":"OJ Kwon","email":"kwon.ohjoong@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/kwonoj/hunspell-asm/issues"},"keywords":["WebAssembly","Wasm","Spellchecker","Hunspell","Language"],"homepage":"https://github.com/kwonoj/hunspell-asm#readme","devDependencies":{"@commitlint/cli":"^4.1.0","@commitlint/config-angular":"^3.1.1","@types/chai":"^4.0.1","@types/jest":"^21.1.0","@types/lodash":"^4.14.71","@types/node":"^8.0.9","chai":"^4.0.2","commitizen":"^2.9.6","conventional-changelog":"^1.1.4","conventional-changelog-cli":"^1.3.1","husky":"^0.14.3","jest":"^21.1.0","lint-staged":"^4.2.1","lodash":"^4.17.4","npm-run-all":"^4.0.2","prettier":"^1.7.0","rxjs":"^5.4.2","shx":"^0.2.2","ts-jest":"^21.0.1","ts-node":"^3.2.0","tslint":"^5.5.0","tslint-no-unused-expression-chai":"0.0.3","typescript":"^2.4.1"},"dependencies":{"emscripten-wasm-loader":"0.0.8","nanoid":"^0.2.1","tslib":"^1.7.1","unixify":"^1.0.0"},"engines":{"node":">=4"},"gitHead":"0f2162a51e7d69faa493adb7200a7bef40c1817f","_id":"hunspell-asm@0.0.17","_npmVersion":"5.4.2","_nodeVersion":"8.4.0","_npmUser":{"name":"kwonoj","email":"kwon.ohjoong@gmail.com"},"dist":{"integrity":"sha512-qQGXHKzjLUIzEu8I4WnAIh3H/wl7HMJAnfi8ONgfniYTUGNCDpHasY+XIEm0G/0dWRotms9qAsfhJZ27MK75ew==","shasum":"01c76181fd30080efaea7acf35fa590b8adc0b29","tarball":"https://registry.npmjs.org/hunspell-asm/-/hunspell-asm-0.0.17.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAibKkvR0onML6M1h0X2ZOCJb+17dhmdPEvCwmcbcS5FAiB/ecP40kvCZ/q4CElRWYbk4ImWI2jeStU56zLPbqomPQ=="}]},"maintainers":[{"name":"kwonoj","email":"kwon.ohjoong@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hunspell-asm-0.0.17.tgz_1507600930517_0.8659956627525389"},"directories":{}},"1.0.0":{"name":"hunspell-asm","version":"1.0.0","description":"WebAssembly based Javascript bindings for hunspell spellchecker","main":"./dist/src/index.js","types":"./dist/src/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"lint-staged":{"*.ts":["prettier --write --single-quote --print-width 120 --jsx-bracket-same-line true --ignore-path ./src/lib/*.js","tslint --fix --project tsconfig.json --exclude ./src/lib","git add"]},"scripts":{"prepublishOnly":"npm-run-all build test","precommit":"lint-staged","prepush":"npm-run-all build test","commitmsg":"commitlint -e","test:hunspell":"jest --config jest-hunspell.json","test:hunspell-asm":"jest --config jest-hunspell-asm.json --coverage","test":"npm-run-all test:*","lint":"tslint src/**/*.ts test/**/*.ts --project tsconfig.json","lint:staged":"lint-staged","build":"shx rm -rf ./dist && tsc && shx cp -r ./src/lib ./dist/src","commit":"git-cz -S","changelog":"conventional-changelog -p angular -i CHANGELOG.md -s"},"repository":{"type":"git","url":"git+https://github.com/kwonoj/hunspell-asm.git"},"author":{"name":"OJ Kwon","email":"kwon.ohjoong@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/kwonoj/hunspell-asm/issues"},"keywords":["WebAssembly","Wasm","Spellchecker","Hunspell","Language"],"homepage":"https://github.com/kwonoj/hunspell-asm#readme","devDependencies":{"@commitlint/cli":"^5.0.0","@commitlint/config-angular":"^5.0.1","@types/chai":"^4.0.6","@types/jest":"^21.1.8","@types/lodash":"^4.14.86","@types/node":"^8.0.9","chai":"^4.0.2","commitizen":"^2.9.6","conventional-changelog":"^1.1.7","conventional-changelog-cli":"^1.3.5","husky":"^0.14.3","jest":"^21.2.1","lint-staged":"^5.0.0","lodash":"^4.17.4","npm-run-all":"^4.1.2","prettier":"^1.8.2","rxjs":"^5.5.2","shx":"^0.2.2","ts-jest":"^21.2.3","ts-node":"^3.2.0","tslint":"^5.8.0","tslint-no-unused-expression-chai":"0.0.3","typescript":"^2.6.2"},"dependencies":{"emscripten-wasm-loader":"^1.0.0","nanoid":"^1.0.1","tslib":"^1.8.0","unixify":"^1.0.0"},"engines":{"node":">=4"},"gitHead":"318c801232e6f6681969a643100caf65bf8e18dc","_id":"hunspell-asm@1.0.0","_npmVersion":"5.6.0","_nodeVersion":"8.9.1","_npmUser":{"name":"kwonoj","email":"kwon.ohjoong@gmail.com"},"dist":{"integrity":"sha512-+1z4SyrjHZ7zKkv9IdHa2SGvI13wkbo1IuqYnmSEy+fz1pbeGKdPLA+ovl8Zy23SkCByIiN1Q+8She0URhl+lQ==","shasum":"0afcb66a8a176c7fd2d0713f027cc059f23e1c91","tarball":"https://registry.npmjs.org/hunspell-asm/-/hunspell-asm-1.0.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCsQ1c7IhJDE1UK+jZGyyixm54aO+K9S25fP8r9fU1HBQIgGFMmSnbNNmSI5ofjrfRNABCQnITixXgofKkYp87Amac="}]},"maintainers":[{"name":"kwonoj","email":"kwon.ohjoong@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hunspell-asm-1.0.0.tgz_1512071384578_0.707207384519279"},"directories":{}},"1.0.1":{"name":"hunspell-asm","version":"1.0.1","description":"WebAssembly based Javascript bindings for hunspell spellchecker","main":"./dist/src/index.js","types":"./dist/src/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"},"hunspell-version":"e6e3c6f-180204"},"lint-staged":{"*.ts":["prettier --write --single-quote --print-width 120 --jsx-bracket-same-line true --ignore-path ./src/lib/*.js","tslint --fix","git add"]},"scripts":{"prepare":"node -r ts-node/register bootstrap.ts","prepublishOnly":"npm-run-all build test","precommit":"lint-staged","prepush":"npm-run-all build test","commitmsg":"commitlint -e","test:hunspell":"jest --config jest-hunspell.json","test:hunspell-asm":"jest --config jest-hunspell-asm.json --coverage","test":"npm-run-all test:*","lint":"tslint src/**/*.ts test/**/*.ts --project tsconfig.json","lint:staged":"lint-staged","build":"shx rm -rf ./dist && tsc && shx cp -r ./src/lib ./dist/src","commit":"git-cz -S","changelog":"conventional-changelog -p angular -i CHANGELOG.md -s"},"repository":{"type":"git","url":"git+https://github.com/kwonoj/hunspell-asm.git"},"author":{"name":"OJ Kwon","email":"kwon.ohjoong@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/kwonoj/hunspell-asm/issues"},"keywords":["WebAssembly","Wasm","Spellchecker","Hunspell","Language"],"homepage":"https://github.com/kwonoj/hunspell-asm#readme","devDependencies":{"@commitlint/cli":"^6.0.2","@commitlint/config-angular":"^6.0.2","@types/chai":"^4.1.1","@types/jest":"^22.0.1","@types/lodash":"^4.14.92","@types/node":"^9.3.0","@types/shelljs":"^0.7.7","chai":"^4.0.2","commitizen":"^2.9.6","conventional-changelog":"^1.1.7","conventional-changelog-cli":"^1.3.5","husky":"^0.14.3","jest":"^22.1.3","lint-staged":"^6.0.0","lodash":"^4.17.4","npm-run-all":"^4.1.2","prettier":"^1.10.2","rxjs":"^5.5.6","shelljs":"^0.8.0","shx":"^0.2.2","ts-jest":"^22.0.1","ts-node":"^4.1.0","tslint":"^5.9.1","tslint-no-unused-expression-chai":"0.0.3","typescript":"^2.6.2"},"dependencies":{"emscripten-wasm-loader":"^1.0.0","nanoid":"^1.0.1","tslib":"^1.9.0","unixify":"^1.0.0"},"engines":{"node":">=4"},"gitHead":"2b9b9b5dfbf6a721a56aa378a24c602bbb739fc2","_id":"hunspell-asm@1.0.1","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"kwonoj","email":"kwon.ohjoong@gmail.com"},"dist":{"integrity":"sha512-nrRTO8QNx/v4VdVgMYGKX3/I54hZlXkj364RQDZ8c9OAKikQE4O4K6Il9z4ToG/hLSlKYxOa49OVH2/P/Y7drw==","shasum":"e9273c1245675c8fd88df5b42437d49fd20bc2ab","tarball":"https://registry.npmjs.org/hunspell-asm/-/hunspell-asm-1.0.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDbO8iy4rU6+fpGshdqSM0MupUzcJxW7mWEAxrN9JVc6QIhANb7yQPsm6HilTmxFRUABW8c6KDGihJ0iy77MejsyE/m"}]},"maintainers":[{"name":"kwonoj","email":"kwon.ohjoong@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hunspell-asm-1.0.1.tgz_1517784905217_0.8273789775557816"},"directories":{}},"1.0.2":{"name":"hunspell-asm","version":"1.0.2","description":"WebAssembly based Javascript bindings for hunspell spellchecker","main":"./dist/src/index.js","types":"./dist/src/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"},"hunspell-version":"9d74c2b-180306"},"lint-staged":{"*.ts":["prettier --write --single-quote --print-width 120 --jsx-bracket-same-line true --ignore-path ./src/lib/*.js","tslint --fix","git add"]},"scripts":{"prepare":"node -r ts-node/register bootstrap.ts","prepublishOnly":"npm-run-all build test","precommit":"lint-staged","prepush":"npm-run-all build test","commitmsg":"commitlint -e","test:hunspell":"jest --config jest-hunspell.json","test:hunspell-asm":"jest --config jest-hunspell-asm.json --coverage","test":"npm-run-all test:*","lint":"tslint src/**/*.ts test/**/*.ts --project tsconfig.json","lint:staged":"lint-staged","build":"shx rm -rf ./dist && tsc && shx cp -r ./src/lib ./dist/src","commit":"git-cz -S","changelog":"conventional-changelog -p angular -i CHANGELOG.md -s"},"repository":{"type":"git","url":"git+https://github.com/kwonoj/hunspell-asm.git"},"author":{"name":"OJ Kwon","email":"kwon.ohjoong@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/kwonoj/hunspell-asm/issues"},"keywords":["WebAssembly","Wasm","Spellchecker","Hunspell","Language"],"homepage":"https://github.com/kwonoj/hunspell-asm#readme","devDependencies":{"@commitlint/cli":"^6.1.3","@commitlint/config-angular":"^6.1.3","@types/chai":"^4.1.2","@types/jest":"^22.2.0","@types/lodash":"^4.14.104","@types/node":"^9.4.6","@types/shelljs":"^0.7.8","chai":"^4.0.2","commitizen":"^2.9.6","conventional-changelog":"^1.1.18","conventional-changelog-cli":"^1.3.16","husky":"^0.14.3","jest":"^22.4.2","lint-staged":"^7.0.0","lodash":"^4.17.5","npm-run-all":"^4.1.2","prettier":"^1.11.1","rxjs":"^5.5.6","shelljs":"^0.8.1","shx":"^0.2.2","ts-jest":"^22.4.1","ts-node":"^5.0.1","tslint":"^5.9.1","tslint-no-unused-expression-chai":"0.0.3","typescript":"^2.7.2"},"dependencies":{"emscripten-wasm-loader":"^1.0.0","nanoid":"^1.0.2","tslib":"^1.9.0","unixify":"^1.0.0"},"engines":{"node":">=4"},"gitHead":"bddaef34b95e30796c204ec8f203c8a861443829","_id":"hunspell-asm@1.0.2","_npmVersion":"5.7.1","_nodeVersion":"9.7.1","_npmUser":{"name":"kwonoj","email":"kwon.ohjoong@gmail.com"},"dist":{"integrity":"sha512-UTLBvc0yZiIcHl9qrgxnFTZbX3zF4CprzEY+u+N0iXlUKZnUJRIgvgppTdgiQTsucm5b0aN/rHsgXz2q/0kBRA==","shasum":"0774cff9c3e2d805677aca4f7084596610fdedf7","tarball":"https://registry.npmjs.org/hunspell-asm/-/hunspell-asm-1.0.2.tgz","fileCount":47,"unpackedSize":861444,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAtxepdh8Ay9zS+Z7QPDTpFw7LEaRsBZKKAlRjLRgkioAiA2mZWHqGu/kzoTzX5n8sUMJdCknVq8H8NricCaSTnV4w=="}]},"maintainers":[{"name":"kwonoj","email":"kwon.ohjoong@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hunspell-asm_1.0.2_1520397694967_0.3183594298086607"},"_hasShrinkwrap":false},"1.1.2":{"name":"hunspell-asm","version":"1.1.2","description":"WebAssembly based Javascript bindings for hunspell spellchecker","main":"./dist/src/index.js","types":"./dist/src/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"},"hunspell-version":"9d74c2b-180306"},"lint-staged":{"*.ts":["prettier --write --single-quote --print-width 120 --jsx-bracket-same-line true --ignore-path ./src/lib/*.js","tslint --fix","git add"]},"scripts":{"prepare":"node -r ts-node/register bootstrap.ts","prepublishOnly":"npm-run-all build test","test:hunspell":"jest --config jest-hunspell.json","test:hunspell-asm":"jest --config jest-hunspell-asm.json --coverage","test":"npm-run-all test:*","lint":"tslint src/**/*.ts test/**/*.ts --project tsconfig.json","lint:staged":"lint-staged","build":"shx rm -rf ./dist && tsc && shx cp -r ./src/lib ./dist/src","commit":"git-cz -S","changelog":"conventional-changelog -p angular -i CHANGELOG.md -s"},"repository":{"type":"git","url":"git+https://github.com/kwonoj/hunspell-asm.git"},"author":{"name":"OJ Kwon","email":"kwon.ohjoong@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/kwonoj/hunspell-asm/issues"},"keywords":["WebAssembly","Wasm","Spellchecker","Hunspell","Language"],"homepage":"https://github.com/kwonoj/hunspell-asm#readme","devDependencies":{"@commitlint/cli":"^7.2.1","@commitlint/config-angular":"^7.1.2","@types/chai":"^4.1.6","@types/jest":"^23.3.5","@types/lodash":"^4.14.117","@types/node":"^10.12.0","@types/shelljs":"^0.8.0","chai":"^4.2.0","commitizen":"^3.0.3","conventional-changelog":"^2.0.3","conventional-changelog-cli":"^2.0.5","husky":"^1.1.2","jest":"^23.6.0","jest-spin-reporter":"^1.0.2","lint-staged":"^7.3.0","lodash":"^4.17.11","npm-run-all":"^4.1.3","prettier":"^1.14.3","rxjs":"^6.3.3","shelljs":"^0.8.2","shx":"^0.3.2","ts-jest":"^23.10.4","ts-node":"^7.0.1","tslint":"^5.11.0","tslint-no-unused-expression-chai":"0.1.4","typescript":"^3.1.3"},"dependencies":{"emscripten-wasm-loader":"^1.1.0","nanoid":"^1.3.0","tslib":"^1.9.3","unixify":"^1.0.0"},"engines":{"node":">=4"},"husky":{"hooks":{"commit-msg":"commitlint -e","pre-commit":"lint-staged","pre-push":"npm-run-all build test"}},"gitHead":"7d5b6035f8af980977dcd8ca9eab6318e930f093","_id":"hunspell-asm@1.1.2","_npmVersion":"6.4.1","_nodeVersion":"10.12.0","_npmUser":{"name":"kwonoj","email":"kwon.ohjoong@gmail.com"},"dist":{"integrity":"sha512-wiymSGfe1pYwQAHrmLjZL3qZUpS4mlkNxXJqLda3I/MsZQt7rH+CPG1/lr0hCsQUt/jEds49/00/Rcfr2PXaog==","shasum":"28f00f20b8c812eb9642102a286d862585b23a36","tarball":"https://registry.npmjs.org/hunspell-asm/-/hunspell-asm-1.1.2.tgz","fileCount":47,"unpackedSize":861921,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbyhkwCRA9TVsSAnZWagAAp8MP/RjQ8VilpVZgi6SZCkqY\ny2331pyd5UjQlf21R15erIrUJG8pOuIYYc89+HsUikt4YqFGto2dzPzT1KIt\ndHCHx41Y4bgDCSLTcmu1BO+OfXgH/p++uOgZN4HrsPE5lqF6vQvJbmqROb69\n74DW0qcXN0Ykqn/9qmwK2ioFAeeQtqdGL0hPWmAgvts8QDLSDUpDCxmKRi5/\njAJhuTrPvoce56lxSsTYoj32wng2AThoa4os+JcDGBkaqUO/K9XR0whHGSur\nK/jV05cdv6Ze7R4MIriVP6aBiuJzhm9V8BQk3pO+6SVAe4HPsKowwh/iQAb1\nfVG6xdywNVyVDhqry6+WAZEjh5SRqVR+uYjUXDWAyc+vMppdEDPzf/NkRZP/\nEg50f4KM5U/HzFO7hXp4Vpa53/tjSJZsih4shlaLVgNY8u6CQUXb2s8M2vFP\nzMbtLiPIwNe5NplcIbUgq1EvTs9rfZtEDCIyjff14s7D7RMb8vFjZi2z4yZ5\n8vkeCyxZvblMgrTM8QkqjfETuTq1RHwlUl2gXBOZsTYHqj6GH6Pi3J3xzBG8\nk/afmhp1hS0Sw2HSXas8H8Q5aECO2vTn1m5TvVqgbrLi7dqkFWXi4fVTbw78\n9B5Ewg8L2ayRHN1DLCCHPIMpC9Grjl8wG/E/Mts56hPAYLGohhs1o/2ntfVA\nS+Jh\r\n=wKx1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA5/wAaspy1YQigM0GQXSZsBZXP1SbdTt3jyqEEltYkwAiAdqoM6D6868wvTLyvjna8tPw5hhC8gLYc61Jyesa1Bjg=="}]},"maintainers":[{"name":"kwonoj","email":"kwon.ohjoong@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hunspell-asm_1.1.2_1539971376221_0.792925823186472"},"_hasShrinkwrap":false},"2.0.0-beta.1":{"name":"hunspell-asm","version":"2.0.0-beta.1","description":"WebAssembly based Javascript bindings for hunspell spellchecker","main":"./dist/cjs/index.js","module":"./dist/esm/index.js","types":"./dist/types/index.d.ts","browser":{"./dist/cjs/lib/hunspell_node.js":"./dist/cjs/lib/hunspell_web.js","./dist/cjs/lib/hunspell_node.wasm":"./dist/cjs/lib/hunspell_web.wasm","./dist/esm/lib/hunspell_node.js":"./dist/esm/lib/hunspell_web.js","./dist/esm/lib/hunspell_node.wasm":"./dist/esm/lib/hunspell_web.wasm"},"config":{"commitizen":{"path":"cz-conventional-changelog"},"hunspell-version":"91c5123-181030"},"lint-staged":{"*.ts":["prettier --write --single-quote --print-width 120 --jsx-bracket-same-line true --ignore-path ./src/lib/*.js","tslint --fix","git add"]},"scripts":{"prepare":"node -r ts-node/register bootstrap.ts","prepublishOnly":"npm-run-all build:clean build build:lib test","test:hunspell":"jest --config jest-hunspell.json","test:hunspell-asm":"jest --config jest-hunspell-asm.json --coverage","test":"npm-run-all test:*","lint":"tslint src/**/*.ts test/**/*.ts --project tsconfig.json","lint:staged":"lint-staged","build":"tsc -b --verbose ./src/tsconfig.cjs.json ./src/tsconfig.esm.json ./src/tsconfig.types.json ./spec/tsconfig.json","build:clean":"shx rm -rf ./dist","build:lib":"shx cp -r ./src/lib ./dist/cjs && shx cp -r ./src/lib ./dist/esm","commit":"git-cz -S","changelog":"conventional-changelog -p angular -i CHANGELOG.md -s"},"repository":{"type":"git","url":"git+https://github.com/kwonoj/hunspell-asm.git"},"author":{"name":"OJ Kwon","email":"kwon.ohjoong@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/kwonoj/hunspell-asm/issues"},"keywords":["WebAssembly","Wasm","Spellchecker","Hunspell","Language"],"homepage":"https://github.com/kwonoj/hunspell-asm#readme","devDependencies":{"@commitlint/cli":"^7.2.1","@commitlint/config-angular":"^7.1.2","@types/chai":"^4.1.7","@types/jest":"^23.3.9","@types/lodash":"^4.14.117","@types/node":"^10.12.2","@types/shelljs":"^0.8.0","chai":"^4.2.0","commitizen":"^3.0.4","conventional-changelog-cli":"^2.0.11","husky":"^1.1.2","jest":"^23.6.0","jest-spin-reporter":"^1.0.2","lint-staged":"^8.0.4","lodash":"^4.17.11","npm-run-all":"^4.1.3","prettier":"^1.14.3","rxjs":"^6.3.3","shelljs":"^0.8.2","shx":"^0.3.2","ts-jest":"^23.10.4","ts-node":"^7.0.1","tslint":"^5.11.0","tslint-no-unused-expression-chai":"0.1.4","typescript":"^3.1.5"},"dependencies":{"emscripten-wasm-loader":"^2.2.2","nanoid":"^1.3.3","tslib":"^1.9.3","unixify":"^1.0.0"},"engines":{"node":">=4"},"husky":{"hooks":{"commit-msg":"commitlint -e","pre-commit":"lint-staged","pre-push":"npm-run-all build test"}},"gitHead":"f2efd4d0fa1305e2e5bc181c152694e1760c714c","readme":"[![Build Status](https://travis-ci.org/kwonoj/hunspell-asm.svg?branch=master)](https://travis-ci.org/kwonoj/hunspell-asm)\n[![Build status](https://ci.appveyor.com/api/projects/status/7s0r599r9h6r682g?svg=true)](https://ci.appveyor.com/project/kwonoj/hunspell-asm)\n[![codecov](https://codecov.io/gh/kwonoj/hunspell-asm/branch/master/graph/badge.svg)](https://codecov.io/gh/kwonoj/hunspell-asm)\n[![npm](https://img.shields.io/npm/v/hunspell-asm.svg)](https://www.npmjs.com/package/hunspell-asm)\n[![node](https://img.shields.io/badge/node-=>8.0-blue.svg?style=flat)](https://www.npmjs.com/package/hunspell-asm)\n\n# Hunspell-asm\n\n[![Greenkeeper badge](https://badges.greenkeeper.io/kwonoj/hunspell-asm.svg)](https://greenkeeper.io/)\n\n`Hunspell-asm` is isomorphic javascript binding to [hunspell](https://github.com/hunspell/hunspell) spellchecker based on WebAssembly hunspell binary. This module aims to provide thin, lightweight interface to hunspell without requiring native modules.\n\n# Install\n\n```sh\nnpm install hunspell-asm\n```\n\n# Usage\n\n## Loading module asynchronously\n\n`Hunspell-asm` relies on wasm binary of hunspell, which need to be initialized first.\n\n```js\nimport { loadModule } from 'hunspell-asm';\n\nconst hunspellFactory = await loadModule();\n```\n\n`loadModule` loads wasm binary, initialize it, and returns factory function to create instance of hunspell.\n\n```js\nloadModule({timeout?: number, locateBinary?: (wasmPath: string) => string | object}): Promise<HunspellFactory>\n```\n\nIt allows to specify timeout to wait until wasm binary compliation & load, also allows to override to lookup binary of wasm. Based on environment & bundling configurations, it is not sufficient to rely on default resolution logic. `locateBinary` expects to return path of binary (i.e remote endpoint url) or loader-specific object if it's bundled by bundler. Check [examples](https://github.com/kwonoj/hunspell-asm/tree/master/examples) for usecases.\n\n## Mounting files\n\nWasm binary uses different memory spaces allocated for its own and cannot access plain javascript object / or files directly. `HunspellFactory` provides few interfaces to interop physical file, or file contents into hunspell.\n\n- `mountDirectory(dirPath: string): string` : (node.js only) Mount physical path. Once directory is mounted hunspell can read all files under mounted path. Returns `virtual` path to mounted path.\n- `mountBuffer(contents: ArrayBufferView, fileName?: string): string` : Mount contents of file. Environment like browser which doesn't have access to filesystem can use this interface to create each file into memory.\n- `unmount(mountedFilePath: string)` : Unmount path if it's exists in memory. If it's bufferFile created by `mountBuffer`, unmount will remove those file object in wasm memory as well.\n\nAll of `virtual` paths for mounted filesystem uses unix separator regardless of platform.\n\n## Creating spellchecker\n\nOnce you mounted dic / aff files you can create hunspell spellchecker instance via `HunspellFactory::create`. Each path for files are mounted path and should not be actual path or server endpoint.\n\n```js\ncreate(affPath: string, dictPath: string): Hunspell\n```\n\n`Hunspell` exposes minimal interfaces to spellchecker.\n\n- `spell(word: string): boolean` : Check spelling for word. False for misspelled, True otherwise.\n- `suggest(word: string): Array<string>` : Get suggestion list for misspelled word. Empty if word is not misspelled or no suggestions.\n- `dispose(): void` : Destroy current instance of hunspell. It is important to note created instance of hunspell will not be destroyed automatically.\n\nThere are simple [examples](https://github.com/kwonoj/hunspell-asm/tree/e0e421fda667fb0d4888a4e0b21877e95540c29c/examples) for each environments using different apis. In each example directory do `npm install && npm start`.\n\n## Things to note\n\n- Ensure all inputs (aff, dic, word for spell / suggest) are UTF-8 encoded correctly. While hunspell itself supports other encodings, all surrounding interfaces passing buffers are plain javascript doesn't detect / converts encodings automatically.\n\n# Building / Testing\n\nFew npm scripts are supported for build / test code.\n\n- `build`: Transpiles code to ES5 commonjs to `dist`.\n- `test`: Run `hunspell` / `hunspell-asm` test both. Does not require `build` before execute test.\n- `test:hunspell`: Run integration test for actual hunspell wasm binary, using [hunspell's test case](https://github.com/hunspell/hunspell/tree/97d7d559f621176685695fbd51e5d8d3f9e005e3/tests) as-is.\n- `test:hunspell-asm`: Run unit test against `hunspell-asm` interface\n- `lint`: Run lint over all codebases\n- `lint:staged`: Run lint only for staged changes. This'll be executed automatically with precommit hook.\n- `commit`: Commit wizard to write commit message\n\n# License\n\n- Hunspell: [original license](https://github.com/hunspell/hunspell/blob/master/license.hunspell)\n- Hunspell-asm: [MIT](https://github.com/kwonoj/hunspell-asm/blob/master/LICENSE)\n","readmeFilename":"README.md","_id":"hunspell-asm@2.0.0-beta.1","_npmVersion":"6.4.1","_nodeVersion":"11.0.0","_npmUser":{"name":"kwonoj","email":"kwon.ohjoong@gmail.com"},"dist":{"integrity":"sha512-a63qta5ZjZz6iJa6B5C5FYyBogMJtvgI6O2rD8QKv3BrthfULcNTCMQQHmWs3lNlCsWsXFCLBS/9wYBQGmPwgA==","shasum":"71e10105fb521a025f20c977476a7d647f602b35","tarball":"https://registry.npmjs.org/hunspell-asm/-/hunspell-asm-2.0.0-beta.1.tgz","fileCount":112,"unpackedSize":4900994,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb21SpCRA9TVsSAnZWagAA47sQAJjJ4zRk0mo5UPAoqPyh\nA9segmGU0W+/+/7CNNQrHedoB/BGP/5bxeiu+TTOgU+/mt30XkfQsABeFF67\nIX4QZ9xFF4IZZH/v2On8p3qYQDJoL4QeeNwlsrJi5Gdn/1k7CuVhUCjbylj7\nxTc1dN1GYeFhZtRuksfmAkHzTSHtnjAOuhG3RsMiMHxB11IsvZU9O7m0LAAx\n+M9W9i00FhOG/q7qPPjZjIioVan6d/rZGg+xKu64jBlnAAPTz8PlumY6QbFV\nAmgzONwObyjDbAp82Q1eDrXjkp1eLFPBqT+HnwVMViuV9rNVc7gfXH+3vxlT\nYbYCc5AProH4gtsOTZPbFwgyUh/4GEfyAfkhzm7HRt1xTd83c58tOt/ErXN8\n5APIiqJFWs4l6wYAGFetzdWlYIogzgmnMLKYYCYG3/ZG951SjQiz2bDX6FPh\nzar4yVKb4XuXrdeM0sDmTFw6s3hsASMBlCXlSIHMjzaIQEo/IkIr30rGMoWH\nfLvNX/X7gGn9a3ypzbYHscofLSdjVpWAg5SjrSXNVlOMqg/p0MyZ7c6ECevW\n2H5n2p00JienXOOVaobrZNaHvLoQyt2lx5+5Y28ZWTSdE1OEFAO9rpTZeO5U\nMKvAdAGD+XYBpo86DFkZeZ1byUCosTPDqe6o9xg0r2tGbifc/r1VO0IIfC7G\nfrW4\r\n=kff7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHa136cY1ul7z1iJBglteNtWlT1HE9RF+uaiM/ja3HUaAiEAnx751kqpLHXUvBgrBsz9J8sPS42eTDFMZp9v9AgSX1U="}]},"maintainers":[{"name":"kwonoj","email":"kwon.ohjoong@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hunspell-asm_2.0.0-beta.1_1541100712362_0.45264934851493943"},"_hasShrinkwrap":false},"2.0.0-beta.2":{"name":"hunspell-asm","version":"2.0.0-beta.2","description":"WebAssembly based Javascript bindings for hunspell spellchecker","main":"./dist/cjs/index.js","module":"./dist/esm/index.js","types":"./dist/types/index.d.ts","browser":{"./dist/cjs/lib/hunspell_node.js":"./dist/cjs/lib/hunspell_web.js","./dist/cjs/lib/hunspell_node.wasm":"./dist/cjs/lib/hunspell_web.wasm","./dist/esm/lib/hunspell_node.js":"./dist/esm/lib/hunspell_web.js","./dist/esm/lib/hunspell_node.wasm":"./dist/esm/lib/hunspell_web.wasm"},"config":{"commitizen":{"path":"cz-conventional-changelog"},"hunspell-version":"91c5123-181030"},"lint-staged":{"*.ts":["prettier --write --single-quote --print-width 120 --jsx-bracket-same-line true --ignore-path ./src/lib/*.js","tslint --fix","git add"]},"scripts":{"prepare":"node -r ts-node/register bootstrap.ts","prepublishOnly":"npm-run-all build:clean build build:lib test","test:hunspell":"jest --config jest-hunspell.json","test:hunspell-asm":"jest --config jest-hunspell-asm.json --coverage","test":"npm-run-all test:*","lint":"tslint src/**/*.ts test/**/*.ts --project tsconfig.json","lint:staged":"lint-staged","build":"tsc -b --verbose ./src/tsconfig.cjs.json ./src/tsconfig.esm.json ./src/tsconfig.types.json ./spec/tsconfig.json","build:clean":"shx rm -rf ./dist","build:lib":"shx cp -r ./src/lib ./dist/cjs && shx cp -r ./src/lib ./dist/esm","commit":"git-cz -S","changelog":"conventional-changelog -p angular -i CHANGELOG.md -s"},"repository":{"type":"git","url":"git+https://github.com/kwonoj/hunspell-asm.git"},"author":{"name":"OJ Kwon","email":"kwon.ohjoong@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/kwonoj/hunspell-asm/issues"},"keywords":["WebAssembly","Wasm","Spellchecker","Hunspell","Language"],"homepage":"https://github.com/kwonoj/hunspell-asm#readme","devDependencies":{"@commitlint/cli":"^7.2.1","@commitlint/config-angular":"^7.1.2","@types/chai":"^4.1.7","@types/jest":"^23.3.9","@types/lodash":"^4.14.117","@types/node":"^10.12.2","@types/shelljs":"^0.8.0","chai":"^4.2.0","commitizen":"^3.0.4","conventional-changelog-cli":"^2.0.11","husky":"^1.1.2","jest":"^23.6.0","jest-spin-reporter":"^1.0.2","lint-staged":"^8.0.4","lodash":"^4.17.11","npm-run-all":"^4.1.3","prettier":"^1.14.3","rxjs":"^6.3.3","shelljs":"^0.8.2","shx":"^0.3.2","ts-jest":"^23.10.4","ts-node":"^7.0.1","tslint":"^5.11.0","tslint-no-unused-expression-chai":"0.1.4","typescript":"^3.1.5"},"dependencies":{"emscripten-wasm-loader":"^2.2.2","nanoid":"^1.3.3","tslib":"^1.9.3","unixify":"^1.0.0"},"engines":{"node":">=4"},"husky":{"hooks":{"commit-msg":"commitlint -e","pre-commit":"lint-staged","pre-push":"npm-run-all build test"}},"gitHead":"1a0d417c81a62196ac5739a264d9aa929916f4f3","readme":"[![Build Status](https://travis-ci.org/kwonoj/hunspell-asm.svg?branch=master)](https://travis-ci.org/kwonoj/hunspell-asm)\n[![Build status](https://ci.appveyor.com/api/projects/status/7s0r599r9h6r682g?svg=true)](https://ci.appveyor.com/project/kwonoj/hunspell-asm)\n[![codecov](https://codecov.io/gh/kwonoj/hunspell-asm/branch/master/graph/badge.svg)](https://codecov.io/gh/kwonoj/hunspell-asm)\n[![npm](https://img.shields.io/npm/v/hunspell-asm.svg)](https://www.npmjs.com/package/hunspell-asm)\n[![node](https://img.shields.io/badge/node-=>8.0-blue.svg?style=flat)](https://www.npmjs.com/package/hunspell-asm)\n\n# Hunspell-asm\n\n[![Greenkeeper badge](https://badges.greenkeeper.io/kwonoj/hunspell-asm.svg)](https://greenkeeper.io/)\n\n`Hunspell-asm` is isomorphic javascript binding to [hunspell](https://github.com/hunspell/hunspell) spellchecker based on WebAssembly hunspell binary. This module aims to provide thin, lightweight interface to hunspell without requiring native modules.\n\n# Install\n\n```sh\nnpm install hunspell-asm\n```\n\n# Usage\n\n## Loading module asynchronously\n\n`Hunspell-asm` relies on wasm binary of hunspell, which need to be initialized first.\n\n```js\nimport { loadModule } from 'hunspell-asm';\n\nconst hunspellFactory = await loadModule();\n```\n\n`loadModule` loads wasm binary, initialize it, and returns factory function to create instance of hunspell.\n\n```js\nloadModule({timeout?: number, locateBinary?: (wasmPath: string) => string | object}): Promise<HunspellFactory>\n```\n\nIt allows to specify timeout to wait until wasm binary compliation & load, also allows to override to lookup binary of wasm. Based on environment & bundling configurations, it is not sufficient to rely on default resolution logic. `locateBinary` expects to return path of binary (i.e remote endpoint url) or loader-specific object if it's bundled by bundler. Check [examples](https://github.com/kwonoj/hunspell-asm/tree/master/examples) for usecases.\n\n## Mounting files\n\nWasm binary uses different memory spaces allocated for its own and cannot access plain javascript object / or files directly. `HunspellFactory` provides few interfaces to interop physical file, or file contents into hunspell.\n\n- `mountDirectory(dirPath: string): string` : (node.js only) Mount physical path. Once directory is mounted hunspell can read all files under mounted path. Returns `virtual` path to mounted path.\n- `mountBuffer(contents: ArrayBufferView, fileName?: string): string` : Mount contents of file. Environment like browser which doesn't have access to filesystem can use this interface to create each file into memory.\n- `unmount(mountedFilePath: string)` : Unmount path if it's exists in memory. If it's bufferFile created by `mountBuffer`, unmount will remove those file object in wasm memory as well.\n\nAll of `virtual` paths for mounted filesystem uses unix separator regardless of platform.\n\n## Creating spellchecker\n\nOnce you mounted dic / aff files you can create hunspell spellchecker instance via `HunspellFactory::create`. Each path for files are mounted path and should not be actual path or server endpoint.\n\n```js\ncreate(affPath: string, dictPath: string): Hunspell\n```\n\n`Hunspell` exposes minimal interfaces to spellchecker.\n\n- `spell(word: string): boolean` : Check spelling for word. False for misspelled, True otherwise.\n- `suggest(word: string): Array<string>` : Get suggestion list for misspelled word. Empty if word is not misspelled or no suggestions.\n- `dispose(): void` : Destroy current instance of hunspell. It is important to note created instance of hunspell will not be destroyed automatically.\n\nThere are simple [examples](https://github.com/kwonoj/hunspell-asm/tree/e0e421fda667fb0d4888a4e0b21877e95540c29c/examples) for each environments using different apis. In each example directory do `npm install && npm start`.\n\n## Adding words to dictionary in runtime\n\nHunspell exposes few interfaces allow to add words, or dictionaries in existing dictionary in runtime. This is **runtime** behavior, so it doesn't persist over once instance is disposed.\n\n- `addWord(word: string): void` : add single word to current dictionary.\n- `removeWord(word: string): void` : remove single word from current dictionary.\n- `addWordWithAffix(word: string, affix: string): void`: add word with example word having affix flag to be applied. Second param `affix` is example word, should exists in current dictionary with its own affix flag. Newly added word will have same affix rule as example word.\n- `addDictionary(dictPath): boolean` : Load addtional dictionary into existing hunspell instance. This cannot load additional affi\nx. If function returns false, it means internal slot hunspell manages are full and can't add additional dictionaries.\n\n## Things to note\n\n- Ensure all inputs (aff, dic, word for spell / suggest) are UTF-8 encoded correctly. While hunspell itself supports other encodings, all surrounding interfaces passing buffers are plain javascript doesn't detect / converts encodings automatically.\n\n# Building / Testing\n\nFew npm scripts are supported for build / test code.\n\n- `build`: Transpiles code to ES5 commonjs to `dist`.\n- `test`: Run `hunspell` / `hunspell-asm` test both. Does not require `build` before execute test.\n- `test:hunspell`: Run integration test for actual hunspell wasm binary, using [hunspell's test case](https://github.com/hunspell/hunspell/tree/97d7d559f621176685695fbd51e5d8d3f9e005e3/tests) as-is.\n- `test:hunspell-asm`: Run unit test against `hunspell-asm` interface\n- `lint`: Run lint over all codebases\n- `lint:staged`: Run lint only for staged changes. This'll be executed automatically with precommit hook.\n- `commit`: Commit wizard to write commit message\n\n# License\n\n- Hunspell: [original license](https://github.com/hunspell/hunspell/blob/master/license.hunspell)\n- Hunspell-asm: [MIT](https://github.com/kwonoj/hunspell-asm/blob/master/LICENSE)\n","readmeFilename":"README.md","_id":"hunspell-asm@2.0.0-beta.2","_npmVersion":"6.4.1","_nodeVersion":"11.0.0","_npmUser":{"name":"kwonoj","email":"kwon.ohjoong@gmail.com"},"dist":{"integrity":"sha512-JD0D5d6GvcMp32xwyOxTtUVknTG+RacPc7Yhx83heNHaSqYsaq1iJKFIR8ed7SnHpq4r5yHsT64aeaYM51X1zA==","shasum":"af230a8f0a23eb16d6869800349e679894da42f5","tarball":"https://registry.npmjs.org/hunspell-asm/-/hunspell-asm-2.0.0-beta.2.tgz","fileCount":112,"unpackedSize":4913404,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb3LW+CRA9TVsSAnZWagAA1LcP/3FsH0ix8mFR1yr151Ty\nDrIGS/6/erD1i7ByfPCfIqwzXbDKpRH/+OME6iXxfwagNCxbQcJIbesd7/1I\nJP9VLuOhdp6HdI8/MfPJ7m60E7jJ8g1V4eVvSyq3NRxMceNqOoyXiahWY32L\n+Ndr3jIyPCuMbyu//w5RvaMWr8FLJYoG0H8Md9KPxFWI8/mMetx4+4m/DY8I\n+tuzaFFhZovoNMOkuIvxcmjgFPoP2+ucvo+lhrvUL0HawhBj62yOHp4Hn16l\neBYkS4zTiwTIEG6oFy7lz/oEc0HoS0PQ5G5zdQsNPTVB5awNKdPedeQB2wG2\nm2YG1m+PwKacpjCsy/SKOfzqiMeLw+aYZxS9Hkq6IpDFrLDLkvx9EvFaw3N9\n9rcIBg1Y0b/4dTJYaAkZfDdvCCuGnk/slP8OuU+WucXdzUtZGQ/XGiM5OmPg\nBfeNGVnBxdOScPuuuDrAYo9FLBlrHYkGKPKd4H/RnXdU9RLc6zIzgzuRyEmO\nK1zdzhqE3iYRwnVCDyKqTA37BTqXeKYQoK8fe3VzgmygNF0n0e8oNSOF321m\nNtsJj/ybpG4qFsIE5GSuIlhgDpWI0RsZ/Vh8j0OWvkyCVDotu0bDSgR7hTJ+\nYSTchk/31O40OyTDWheYdQEsI/GoR7vvWLMUUIvoywzNH8J/5Nq5spmiVxkZ\nWIF1\r\n=QO8H\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBHnJC+MGusvZGNMrRhWI66vlCzAG79xeJ0O8Jnuw6U1AiEArMiMTI9J8Vzt59OnyCZvtitzAa+n+TYDhpWwhlL1cDo="}]},"maintainers":[{"name":"kwonoj","email":"kwon.ohjoong@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hunspell-asm_2.0.0-beta.2_1541191101318_0.7362836673161688"},"_hasShrinkwrap":false},"2.0.0-beta.3":{"name":"hunspell-asm","version":"2.0.0-beta.3","description":"WebAssembly based Javascript bindings for hunspell spellchecker","main":"./dist/cjs/index.js","module":"./dist/esm/index.js","types":"./dist/types/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"},"hunspell-version":"dab1b23-190125"},"lint-staged":{"*.ts":["prettier --write --single-quote --print-width 120 --jsx-bracket-same-line true --ignore-path ./src/lib/*.js","tslint --fix","git add"]},"scripts":{"prepare":"node -r ts-node/register bootstrap.ts","prepublishOnly":"npm-run-all build:clean build build:lib test","test:hunspell":"jest --config jest-hunspell.json","test:hunspell-asm":"jest --config jest-hunspell-asm.json --coverage","test":"npm-run-all test:*","lint":"tslint src/**/*.ts test/**/*.ts --project tsconfig.json","lint:staged":"lint-staged","build":"tsc -b --verbose ./src/tsconfig.cjs.json ./src/tsconfig.esm.json ./src/tsconfig.types.json ./spec/tsconfig.json","build:clean":"shx rm -rf ./dist","build:lib":"shx cp -r ./src/lib ./dist/cjs && shx cp -r ./src/lib ./dist/esm","commit":"git-cz -S","changelog":"conventional-changelog -p angular -i CHANGELOG.md -s"},"repository":{"type":"git","url":"git+https://github.com/kwonoj/hunspell-asm.git"},"author":{"name":"OJ Kwon","email":"kwon.ohjoong@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/kwonoj/hunspell-asm/issues"},"keywords":["WebAssembly","Wasm","Spellchecker","Hunspell","Language"],"homepage":"https://github.com/kwonoj/hunspell-asm#readme","devDependencies":{"@commitlint/cli":"^7.3.2","@commitlint/config-angular":"^7.3.1","@types/chai":"^4.1.7","@types/jest":"^23.3.13","@types/lodash":"^4.14.120","@types/node":"^10.12.18","@types/shelljs":"^0.8.2","chai":"^4.2.0","commitizen":"^3.0.5","conventional-changelog-cli":"^2.0.11","husky":"^1.3.1","jest":"^23.6.0","jest-spin-reporter":"^1.0.2","lint-staged":"^8.1.0","lodash":"^4.17.11","npm-run-all":"^4.1.5","prettier":"^1.16.1","rxjs":"^6.3.3","shelljs":"^0.8.3","shx":"^0.3.2","ts-jest":"^23.10.5","ts-node":"^7.0.1","tslint":"^5.12.1","tslint-no-unused-expression-chai":"0.1.4","typescript":"^3.2.4"},"dependencies":{"emscripten-wasm-loader":"^2.2.2","nanoid":"^2.0.1","tslib":"^1.9.3","unixify":"^1.0.0"},"engines":{"node":">=4"},"husky":{"hooks":{"commit-msg":"commitlint -e","pre-commit":"lint-staged","pre-push":"npm-run-all build test"}},"gitHead":"21569c1a2ddd31e35a866028449aa485d01496fd","readme":"[![Build Status](https://travis-ci.org/kwonoj/hunspell-asm.svg?branch=master)](https://travis-ci.org/kwonoj/hunspell-asm)\n[![Build status](https://ci.appveyor.com/api/projects/status/7s0r599r9h6r682g?svg=true)](https://ci.appveyor.com/project/kwonoj/hunspell-asm)\n[![codecov](https://codecov.io/gh/kwonoj/hunspell-asm/branch/master/graph/badge.svg)](https://codecov.io/gh/kwonoj/hunspell-asm)\n[![npm](https://img.shields.io/npm/v/hunspell-asm.svg)](https://www.npmjs.com/package/hunspell-asm)\n[![node](https://img.shields.io/badge/node-=>8.0-blue.svg?style=flat)](https://www.npmjs.com/package/hunspell-asm)\n\n# Hunspell-asm\n\n`Hunspell-asm` is isomorphic javascript binding to [hunspell](https://github.com/hunspell/hunspell) spellchecker based on WebAssembly hunspell binary. This module aims to provide thin, lightweight interface to hunspell without requiring native modules.\n\n# Install\n\n```sh\nnpm install hunspell-asm\n```\n\n# Usage\n\n## Loading module asynchronously\n\n`Hunspell-asm` relies on wasm binary of hunspell, which need to be initialized first.\n\n```js\nimport { loadModule } from 'hunspell-asm';\n\nconst hunspellFactory = await loadModule();\n```\n\n`loadModule` loads wasm binary, initialize it, and returns factory function to create instance of hunspell.\n\n```js\nloadModule({timeout?: number, locateBinary?: (wasmPath: string) => string | object}): Promise<HunspellFactory>\n```\n\nIt allows to specify timeout to wait until wasm binary compliation & load, also allows to override to lookup binary of wasm. Based on environment & bundling configurations, it is not sufficient to rely on default resolution logic. `locateBinary` expects to return path of binary (i.e remote endpoint url) or loader-specific object if it's bundled by bundler. Check [examples](https://github.com/kwonoj/hunspell-asm/tree/master/examples) for usecases.\n\n## Mounting files\n\nWasm binary uses different memory spaces allocated for its own and cannot access plain javascript object / or files directly. `HunspellFactory` provides few interfaces to interop physical file, or file contents into hunspell.\n\n- `mountDirectory(dirPath: string): string` : (node.js only) Mount physical path. Once directory is mounted hunspell can read all files under mounted path. Returns `virtual` path to mounted path.\n- `mountBuffer(contents: ArrayBufferView, fileName?: string): string` : Mount contents of file. Environment like browser which doesn't have access to filesystem can use this interface to create each file into memory.\n- `unmount(mountedFilePath: string)` : Unmount path if it's exists in memory. If it's bufferFile created by `mountBuffer`, unmount will remove those file object in wasm memory as well.\n\nAll of `virtual` paths for mounted filesystem uses unix separator regardless of platform.\n\n## Creating spellchecker\n\nOnce you mounted dic / aff files you can create hunspell spellchecker instance via `HunspellFactory::create`. Each path for files are mounted path and should not be actual path or server endpoint.\n\n```js\ncreate(affPath: string, dictPath: string): Hunspell\n```\n\n`Hunspell` exposes minimal interfaces to spellchecker.\n\n- `spell(word: string): boolean` : Check spelling for word. False for misspelled, True otherwise.\n- `suggest(word: string): Array<string>` : Get suggestion list for misspelled word. Empty if word is not misspelled or no suggestions.\n- `dispose(): void` : Destroy current instance of hunspell. It is important to note created instance of hunspell will not be destroyed automatically.\n\nThere are simple [examples](https://github.com/kwonoj/hunspell-asm/tree/e0e421fda667fb0d4888a4e0b21877e95540c29c/examples) for each environments using different apis. In each example directory do `npm install && npm start`.\n\n## Adding words to dictionary in runtime\n\nHunspell exposes few interfaces allow to add words, or dictionaries in existing dictionary in runtime. This is **runtime** behavior, so it doesn't persist over once instance is disposed.\n\n- `addWord(word: string): void` : add single word to current dictionary.\n- `removeWord(word: string): void` : remove single word from current dictionary.\n- `addWordWithAffix(word: string, affix: string): void`: add word with example word having affix flag to be applied. Second param `affix` is example word, should exists in current dictionary with its own affix flag. Newly added word will have same affix rule as example word.\n- `addDictionary(dictPath): boolean` : Load addtional dictionary into existing hunspell instance. This cannot load additional affi\nx. If function returns false, it means internal slot hunspell manages are full and can't add additional dictionaries.\n\n## Things to note\n\n- Ensure all inputs (aff, dic, word for spell / suggest) are UTF-8 encoded correctly. While hunspell itself supports other encodings, all surrounding interfaces passing buffers are plain javascript doesn't detect / converts encodings automatically.\n\n# Building / Testing\n\nFew npm scripts are supported for build / test code.\n\n- `build`: Transpiles code to ES5 commonjs to `dist`.\n- `test`: Run `hunspell` / `hunspell-asm` test both. Does not require `build` before execute test.\n- `test:hunspell`: Run integration test for actual hunspell wasm binary, using [hunspell's test case](https://github.com/hunspell/hunspell/tree/97d7d559f621176685695fbd51e5d8d3f9e005e3/tests) as-is.\n- `test:hunspell-asm`: Run unit test against `hunspell-asm` interface\n- `lint`: Run lint over all codebases\n- `lint:staged`: Run lint only for staged changes. This'll be executed automatically with precommit hook.\n- `commit`: Commit wizard to write commit message\n\n# License\n\n- Hunspell: [original license](https://github.com/hunspell/hunspell/blob/master/license.hunspell)\n- Hunspell-asm: [MIT](https://github.com/kwonoj/hunspell-asm/blob/master/LICENSE)\n","readmeFilename":"README.md","_id":"hunspell-asm@2.0.0-beta.3","_npmVersion":"6.5.0","_nodeVersion":"11.0.0","_npmUser":{"name":"kwonoj","email":"kwon.ohjoong@gmail.com"},"dist":{"integrity":"sha512-q9qTRNKhALYFC1Y57btkx9gpyd/gaoHEGe8YjcnrzBzvs8u2v9KBRzQm1WXIDsxJ//Iknh6Cgk+EGy+jCy9qbg==","shasum":"01df516994e981f874f81e2802704e9a0798fbb8","tarball":"https://registry.npmjs.org/hunspell-asm/-/hunspell-asm-2.0.0-beta.3.tgz","fileCount":123,"unpackedSize":6060480,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcS+6cCRA9TVsSAnZWagAAv1gQAI8hW5t/LbBOCYJmliR9\nZmKTX1qEB3aIFZozSZDVizZtnXMNvtajDq3JbiidKHHUsRfzwtAu3ytuRDsE\nC8eMBDsPgSGUav3VgKqD7t89TDJA/Bif3p6eIRq/gOD+tSwczGW/lMCXzJxI\ne4XmxyBPIWPhd7rpTFhFZoSuH7PAFE0fJYV9bNv9LDWvammuNkNxISi6H6oI\nizoSivi8zJDbiRiU14w2MNhGcI1DVEaUZpYZkszGGvVVy8C6YVLOnLUH4FBu\n1HQvlkL6shsJiC+OKopAAElvJQj2gAu7kInxYAxdgMfVJhLQq7bhvKAiA+HQ\nTK7fjlqyKrlu4/16Nn+NKlW4b0JxMTb2kAUVg+jIOMCPUJPRnMWIkVVuJ5uf\nF2phTBsG9E+XsYRLrCCKtEDq6UcvnNrPRD3dYcCA1culse48kH5EoKaMwut2\n9PV5lJQoyzO6QgYcwDMcEUQ+7JnKcAeluK+Mf7B3SyQZezQyjnXGm7XhN17u\n46NWZT62XCaBjFnpc6snsO3dD5kYwRBE82C2onxU65v1vaMeDJyuVBgBX/Mz\ngDMgqqM77ou9w9EQHmeZkjQgpEh8I8mrzwWebBHX4MPrwQ4/y4WsTpCc1GBq\nOoJTw3baNuuZ1Yl/cWu3sr35sRMVLlzIb/XwbesTa9h3B/Rs7w0hROJH5tGN\nblgK\r\n=iNAx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAW7qeUpMuoexDbDMDmogjzUZGTCGs5nEMZpemdpbscoAiEAsgWwkdfCeD8YJLO1dBMKj028dXDkRRs/TnxBQtj1+hE="}]},"maintainers":[{"name":"kwonoj","email":"kwon.ohjoong@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hunspell-asm_2.0.0-beta.3_1548480155486_0.22346992352132466"},"_hasShrinkwrap":false},"2.0.0-beta.4":{"name":"hunspell-asm","version":"2.0.0-beta.4","description":"WebAssembly based Javascript bindings for hunspell spellchecker","main":"./dist/cjs/index.js","module":"./dist/esm/index.js","types":"./dist/types/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"},"hunspell-version":"19b43c8-190125"},"lint-staged":{"*.ts":["prettier --write --single-quote --print-width 120 --jsx-bracket-same-line true --ignore-path ./src/lib/*.js","tslint --fix","git add"]},"scripts":{"prepare":"node -r ts-node/register bootstrap.ts","prepublishOnly":"npm-run-all build:clean build build:lib test","test:hunspell":"jest --config jest-hunspell.json","test:hunspell-asm":"jest --config jest-hunspell-asm.json --coverage","test":"npm-run-all test:*","lint":"tslint src/**/*.ts test/**/*.ts --project tsconfig.json","lint:staged":"lint-staged","build":"tsc -b --verbose ./src/tsconfig.cjs.json ./src/tsconfig.esm.json ./src/tsconfig.types.json ./spec/tsconfig.json","build:clean":"shx rm -rf ./dist","build:lib":"shx cp -r ./src/lib ./dist/cjs && shx cp -r ./src/lib ./dist/esm","commit":"git-cz -S","changelog":"conventional-changelog -p angular -i CHANGELOG.md -s"},"repository":{"type":"git","url":"git+https://github.com/kwonoj/hunspell-asm.git"},"author":{"name":"OJ Kwon","email":"kwon.ohjoong@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/kwonoj/hunspell-asm/issues"},"keywords":["WebAssembly","Wasm","Spellchecker","Hunspell","Language"],"homepage":"https://github.com/kwonoj/hunspell-asm#readme","devDependencies":{"@commitlint/cli":"^7.3.2","@commitlint/config-angular":"^7.3.1","@types/chai":"^4.1.7","@types/jest":"^23.3.13","@types/lodash":"^4.14.120","@types/node":"^10.12.18","@types/shelljs":"^0.8.2","chai":"^4.2.0","commitizen":"^3.0.5","conventional-changelog-cli":"^2.0.11","husky":"^1.3.1","jest":"^23.6.0","jest-spin-reporter":"^1.0.2","lint-staged":"^8.1.0","lodash":"^4.17.11","npm-run-all":"^4.1.5","prettier":"^1.16.1","rxjs":"^6.3.3","shelljs":"^0.8.3","shx":"^0.3.2","ts-jest":"^23.10.5","ts-node":"^7.0.1","tslint":"^5.12.1","tslint-no-unused-expression-chai":"0.1.4","typescript":"^3.2.4"},"dependencies":{"emscripten-wasm-loader":"^2.2.2","nanoid":"^2.0.1","tslib":"^1.9.3","unixify":"^1.0.0"},"engines":{"node":">=4"},"husky":{"hooks":{"commit-msg":"commitlint -e","pre-commit":"lint-staged","pre-push":"npm-run-all build test"}},"gitHead":"119ab73f87110a9f6ab4c564fd74a4a34a41c908","readme":"[![Build Status](https://travis-ci.org/kwonoj/hunspell-asm.svg?branch=master)](https://travis-ci.org/kwonoj/hunspell-asm)\n[![Build status](https://ci.appveyor.com/api/projects/status/7s0r599r9h6r682g?svg=true)](https://ci.appveyor.com/project/kwonoj/hunspell-asm)\n[![codecov](https://codecov.io/gh/kwonoj/hunspell-asm/branch/master/graph/badge.svg)](https://codecov.io/gh/kwonoj/hunspell-asm)\n[![npm](https://img.shields.io/npm/v/hunspell-asm.svg)](https://www.npmjs.com/package/hunspell-asm)\n[![node](https://img.shields.io/badge/node-=>8.0-blue.svg?style=flat)](https://www.npmjs.com/package/hunspell-asm)\n\n# Hunspell-asm\n\n`Hunspell-asm` is isomorphic javascript binding to [hunspell](https://github.com/hunspell/hunspell) spellchecker based on WebAssembly hunspell binary. This module aims to provide thin, lightweight interface to hunspell without requiring native modules.\n\n# Install\n\n```sh\nnpm install hunspell-asm\n```\n\n# Usage\n\n## Loading module asynchronously\n\n`Hunspell-asm` relies on wasm binary of hunspell, which need to be initialized first.\n\n```js\nimport { loadModule } from 'hunspell-asm';\n\nconst hunspellFactory = await loadModule();\n```\n\n`loadModule` loads wasm binary, initialize it, and returns factory function to create instance of hunspell.\n\n```js\nloadModule({timeout?: number, locateBinary?: (wasmPath: string) => string | object}): Promise<HunspellFactory>\n```\n\nIt allows to specify timeout to wait until wasm binary compliation & load, also allows to override to lookup binary of wasm. Based on environment & bundling configurations, it is not sufficient to rely on default resolution logic. `locateBinary` expects to return path of binary (i.e remote endpoint url) or loader-specific object if it's bundled by bundler. Check [examples](https://github.com/kwonoj/hunspell-asm/tree/master/examples) for usecases.\n\n## Mounting files\n\nWasm binary uses different memory spaces allocated for its own and cannot access plain javascript object / or files directly. `HunspellFactory` provides few interfaces to interop physical file, or file contents into hunspell.\n\n- `mountDirectory(dirPath: string): string` : (node.js only) Mount physical path. Once directory is mounted hunspell can read all files under mounted path. Returns `virtual` path to mounted path.\n- `mountBuffer(contents: ArrayBufferView, fileName?: string): string` : Mount contents of file. Environment like browser which doesn't have access to filesystem can use this interface to create each file into memory.\n- `unmount(mountedFilePath: string)` : Unmount path if it's exists in memory. If it's bufferFile created by `mountBuffer`, unmount will remove those file object in wasm memory as well.\n\nAll of `virtual` paths for mounted filesystem uses unix separator regardless of platform.\n\n## Creating spellchecker\n\nOnce you mounted dic / aff files you can create hunspell spellchecker instance via `HunspellFactory::create`. Each path for files are mounted path and should not be actual path or server endpoint.\n\n```js\ncreate(affPath: string, dictPath: string): Hunspell\n```\n\n`Hunspell` exposes minimal interfaces to spellchecker.\n\n- `spell(word: string): boolean` : Check spelling for word. False for misspelled, True otherwise.\n- `suggest(word: string): Array<string>` : Get suggestion list for misspelled word. Empty if word is not misspelled or no suggestions.\n- `dispose(): void` : Destroy current instance of hunspell. It is important to note created instance of hunspell will not be destroyed automatically.\n\nThere are simple [examples](https://github.com/kwonoj/hunspell-asm/tree/e0e421fda667fb0d4888a4e0b21877e95540c29c/examples) for each environments using different apis. In each example directory do `npm install && npm start`.\n\n## Adding words to dictionary in runtime\n\nHunspell exposes few interfaces allow to add words, or dictionaries in existing dictionary in runtime. This is **runtime** behavior, so it doesn't persist over once instance is disposed.\n\n- `addWord(word: string): void` : add single word to current dictionary.\n- `removeWord(word: string): void` : remove single word from current dictionary.\n- `addWordWithAffix(word: string, affix: string): void`: add word with example word having affix flag to be applied. Second param `affix` is example word, should exists in current dictionary with its own affix flag. Newly added word will have same affix rule as example word.\n- `addDictionary(dictPath): boolean` : Load addtional dictionary into existing hunspell instance. This cannot load additional affi\nx. If function returns false, it means internal slot hunspell manages are full and can't add additional dictionaries.\n\n## Things to note\n\n- Ensure all inputs (aff, dic, word for spell / suggest) are UTF-8 encoded correctly. While hunspell itself supports other encodings, all surrounding interfaces passing buffers are plain javascript doesn't detect / converts encodings automatically.\n\n# Building / Testing\n\nFew npm scripts are supported for build / test code.\n\n- `build`: Transpiles code to ES5 commonjs to `dist`.\n- `test`: Run `hunspell` / `hunspell-asm` test both. Does not require `build` before execute test.\n- `test:hunspell`: Run integration test for actual hunspell wasm binary, using [hunspell's test case](https://github.com/hunspell/hunspell/tree/97d7d559f621176685695fbd51e5d8d3f9e005e3/tests) as-is.\n- `test:hunspell-asm`: Run unit test against `hunspell-asm` interface\n- `lint`: Run lint over all codebases\n- `lint:staged`: Run lint only for staged changes. This'll be executed automatically with precommit hook.\n- `commit`: Commit wizard to write commit message\n\n# License\n\n- Hunspell: [original license](https://github.com/hunspell/hunspell/blob/master/license.hunspell)\n- Hunspell-asm: [MIT](https://github.com/kwonoj/hunspell-asm/blob/master/LICENSE)\n","readmeFilename":"README.md","_id":"hunspell-asm@2.0.0-beta.4","_npmVersion":"6.5.0","_nodeVersion":"11.0.0","_npmUser":{"name":"kwonoj","email":"kwon.ohjoong@gmail.com"},"dist":{"integrity":"sha512-CKPIMqUBsKPHD9bqWaAexmWeu6G3gfpIJKackbcg8FNpImoyse+Va0tBFbWf7eHAa2Vg4NQ5FBokPuxZBGsVZw==","shasum":"3a7901e9c2e849d39eedc203c30ee0a70ad654d1","tarball":"https://registry.npmjs.org/hunspell-asm/-/hunspell-asm-2.0.0-beta.4.tgz","fileCount":123,"unpackedSize":6060786,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcTAy8CRA9TVsSAnZWagAAS9QP/2k4PJHXXMveOsWhqHlH\ne3BMyJF1sv+1UVK2Rn6DZZK3BnktqXt+ftxxUenuNJa3X4x83PkKXcH7DCKX\nZ0d23c4a7Sat8l2jhAUC9MQJrnLetZ4xHXofCxdA7LlIEXi5UjVL3+rMoTuU\n0nqBgYcrlsiK34XjyUJU6RDLO0SJLHHTc5avrdu2EjPN0yQng1o6dkHpQYif\ngSegztcRfLeueGHjH0GOhqrEg38j+mW3XvTf9Imlaz4OCMPG2MvwBUndpfn/\nr0aVoCbTdySU2vnEnu9WLNnJ+vArTxYx8RkWOYEiB20WXcRApMbgBLBEuEuC\nWW6ti05hs5yM2rNNHsMimBhpG7j2oJDaOUfiU2sQLgV5GeD3W7WLiECztuZB\nAz+F5KV0GHLtr7if8O4xudr7UK5vP2ITUEhduCfoJpYj9HgGW/A16JDHy6Mq\ngsTOB+GBIl3BHLsf3BrJN4AJkFEH0r31Zii3vexnlirVqIzOMpBIQp23nRIL\n7TzqU7nHG69Z95XepM4XMlAklL/YcqFsWbi4tEAPvjGCIfmfA82sZnXJiEVF\ns+mjYSEyRABTEJMHEth1MnYW34bY07I6qL7F3E97+/YZ4slutKlObQTvacGy\nHXrRGVo2VnDbl8dx7IR75kCQiNEaNMDy5c1OhSZRfU6DFjpUBUPvLnn5hJHd\nZuK9\r\n=Ln1m\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCDmx1KfT4ZtN4ARm3ATp6TbalcCMu/H9eIXIo96HzBjgIhAO+t7R0JFd2vcfzgaitV07cWRyniktqClyc4IeYBLD/B"}]},"maintainers":[{"name":"kwonoj","email":"kwon.ohjoong@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hunspell-asm_2.0.0-beta.4_1548487867456_0.4956659348787624"},"_hasShrinkwrap":false},"2.0.0-beta.5":{"name":"hunspell-asm","version":"2.0.0-beta.5","description":"WebAssembly based Javascript bindings for hunspell spellchecker","main":"./dist/cjs/index.js","module":"./dist/esm/index.js","types":"./dist/types/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"},"hunspell-version":"19b43c8-190125"},"lint-staged":{"*.ts":["prettier --write --single-quote --print-width 120 --jsx-bracket-same-line true --ignore-path ./src/lib/*.js","tslint --fix","git add"]},"scripts":{"prepare":"node -r ts-node/register bootstrap.ts","prepublishOnly":"npm-run-all build:clean build build:lib test","test:hunspell":"jest --config jest-hunspell.json","test:hunspell-asm":"jest --config jest-hunspell-asm.json --coverage","test":"npm-run-all test:*","lint":"tslint src/**/*.ts test/**/*.ts --project tsconfig.json","lint:staged":"lint-staged","build":"tsc -b --verbose ./src/tsconfig.cjs.json ./src/tsconfig.esm.json ./src/tsconfig.types.json ./spec/tsconfig.json","build:clean":"shx rm -rf ./dist","build:lib":"shx cp -r ./src/lib ./dist/cjs && shx cp -r ./src/lib ./dist/esm","commit":"git-cz -S","changelog":"conventional-changelog -p angular -i CHANGELOG.md -s"},"repository":{"type":"git","url":"git+https://github.com/kwonoj/hunspell-asm.git"},"author":{"name":"OJ Kwon","email":"kwon.ohjoong@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/kwonoj/hunspell-asm/issues"},"keywords":["WebAssembly","Wasm","Spellchecker","Hunspell","Language"],"homepage":"https://github.com/kwonoj/hunspell-asm#readme","devDependencies":{"@commitlint/cli":"^7.3.2","@commitlint/config-angular":"^7.3.1","@types/chai":"^4.1.7","@types/jest":"^23.3.13","@types/lodash":"^4.14.120","@types/node":"^10.12.18","@types/shelljs":"^0.8.2","chai":"^4.2.0","commitizen":"^3.0.5","conventional-changelog-cli":"^2.0.11","husky":"^1.3.1","jest":"^23.6.0","jest-spin-reporter":"^1.0.2","lint-staged":"^8.1.0","lodash":"^4.17.11","npm-run-all":"^4.1.5","prettier":"^1.16.1","rxjs":"^6.3.3","shelljs":"^0.8.3","shx":"^0.3.2","ts-jest":"^23.10.5","ts-node":"^7.0.1","tslint":"^5.12.1","tslint-no-unused-expression-chai":"0.1.4","typescript":"^3.2.4"},"dependencies":{"emscripten-wasm-loader":"^2.2.2","nanoid":"^2.0.1","tslib":"^1.9.3","unixify":"^1.0.0"},"engines":{"node":">=4"},"husky":{"hooks":{"commit-msg":"commitlint -e","pre-commit":"lint-staged","pre-push":"npm-run-all build test"}},"gitHead":"751ac554bf800bed3f0a764614d55695b153f7d3","readme":"[![Build Status](https://travis-ci.org/kwonoj/hunspell-asm.svg?branch=master)](https://travis-ci.org/kwonoj/hunspell-asm)\n[![Build status](https://ci.appveyor.com/api/projects/status/7s0r599r9h6r682g?svg=true)](https://ci.appveyor.com/project/kwonoj/hunspell-asm)\n[![codecov](https://codecov.io/gh/kwonoj/hunspell-asm/branch/master/graph/badge.svg)](https://codecov.io/gh/kwonoj/hunspell-asm)\n[![npm](https://img.shields.io/npm/v/hunspell-asm.svg)](https://www.npmjs.com/package/hunspell-asm)\n[![node](https://img.shields.io/badge/node-=>8.0-blue.svg?style=flat)](https://www.npmjs.com/package/hunspell-asm)\n\n# Hunspell-asm\n\n`Hunspell-asm` is isomorphic javascript binding to [hunspell](https://github.com/hunspell/hunspell) spellchecker based on WebAssembly hunspell binary. This module aims to provide thin, lightweight interface to hunspell without requiring native modules.\n\n# Install\n\n```sh\nnpm install hunspell-asm\n```\n\n# Usage\n\n## Loading module asynchronously\n\n`Hunspell-asm` relies on wasm binary of hunspell, which need to be initialized first.\n\n```js\nimport { loadModule } from 'hunspell-asm';\n\nconst hunspellFactory = await loadModule();\n```\n\n`loadModule` loads wasm binary, initialize it, and returns factory function to create instance of hunspell.\n\n```js\nloadModule({timeout?: number, locateBinary?: (wasmPath: string) => string | object}): Promise<HunspellFactory>\n```\n\nIt allows to specify timeout to wait until wasm binary compliation & load, also allows to override to lookup binary of wasm. Based on environment & bundling configurations, it is not sufficient to rely on default resolution logic. `locateBinary` expects to return path of binary (i.e remote endpoint url) or loader-specific object if it's bundled by bundler. Check [examples](https://github.com/kwonoj/hunspell-asm/tree/master/examples) for usecases.\n\n## Mounting files\n\nWasm binary uses different memory spaces allocated for its own and cannot access plain javascript object / or files directly. `HunspellFactory` provides few interfaces to interop physical file, or file contents into hunspell.\n\n- `mountDirectory(dirPath: string): string` : (node.js only) Mount physical path. Once directory is mounted hunspell can read all files under mounted path. Returns `virtual` path to mounted path.\n- `mountBuffer(contents: ArrayBufferView, fileName?: string): string` : Mount contents of file. Environment like browser which doesn't have access to filesystem can use this interface to create each file into memory.\n- `unmount(mountedFilePath: string)` : Unmount path if it's exists in memory. If it's bufferFile created by `mountBuffer`, unmount will remove those file object in wasm memory as well.\n\nAll of `virtual` paths for mounted filesystem uses unix separator regardless of platform.\n\n## Creating spellchecker\n\nOnce you mounted dic / aff files you can create hunspell spellchecker instance via `HunspellFactory::create`. Each path for files are mounted path and should not be actual path or server endpoint.\n\n```js\ncreate(affPath: string, dictPath: string): Hunspell\n```\n\n`Hunspell` exposes minimal interfaces to spellchecker.\n\n- `spell(word: string): boolean` : Check spelling for word. False for misspelled, True otherwise.\n- `suggest(word: string): Array<string>` : Get suggestion list for misspelled word. Empty if word is not misspelled or no suggestions.\n- `dispose(): void` : Destroy current instance of hunspell. It is important to note created instance of hunspell will not be destroyed automatically.\n\nThere are simple [examples](https://github.com/kwonoj/hunspell-asm/tree/e0e421fda667fb0d4888a4e0b21877e95540c29c/examples) for each environments using different apis. In each example directory do `npm install && npm start`.\n\n## Adding words to dictionary in runtime\n\nHunspell exposes few interfaces allow to add words, or dictionaries in existing dictionary in runtime. This is **runtime** behavior, so it doesn't persist over once instance is disposed.\n\n- `addWord(word: string): void` : add single word to current dictionary.\n- `removeWord(word: string): void` : remove single word from current dictionary.\n- `addWordWithAffix(word: string, affix: string): void`: add word with example word having affix flag to be applied. Second param `affix` is example word, should exists in current dictionary with its own affix flag. Newly added word will have same affix rule as example word.\n- `addDictionary(dictPath): boolean` : Load addtional dictionary into existing hunspell instance. This cannot load additional affi\nx. If function returns false, it means internal slot hunspell manages are full and can't add additional dictionaries.\n\n## Things to note\n\n- Ensure all inputs (aff, dic, word for spell / suggest) are UTF-8 encoded correctly. While hunspell itself supports other encodings, all surrounding interfaces passing buffers are plain javascript doesn't detect / converts encodings automatically.\n\n# Building / Testing\n\nFew npm scripts are supported for build / test code.\n\n- `build`: Transpiles code to ES5 commonjs to `dist`.\n- `test`: Run `hunspell` / `hunspell-asm` test both. Does not require `build` before execute test.\n- `test:hunspell`: Run integration test for actual hunspell wasm binary, using [hunspell's test case](https://github.com/hunspell/hunspell/tree/97d7d559f621176685695fbd51e5d8d3f9e005e3/tests) as-is.\n- `test:hunspell-asm`: Run unit test against `hunspell-asm` interface\n- `lint`: Run lint over all codebases\n- `lint:staged`: Run lint only for staged changes. This'll be executed automatically with precommit hook.\n- `commit`: Commit wizard to write commit message\n\n# License\n\n- Hunspell: [original license](https://github.com/hunspell/hunspell/blob/master/license.hunspell)\n- Hunspell-asm: [MIT](https://github.com/kwonoj/hunspell-asm/blob/master/LICENSE)\n","readmeFilename":"README.md","_id":"hunspell-asm@2.0.0-beta.5","_npmVersion":"6.5.0","_nodeVersion":"11.0.0","_npmUser":{"name":"kwonoj","email":"kwon.ohjoong@gmail.com"},"dist":{"integrity":"sha512-SuYol3rp83kMg7MFWUCZaLrOexnkGbqMIpeoi76Bg54egJlFX8tcS7FenkjkH7c9IAZc3SRbGKU0Y6l3QP8tSg==","shasum":"f5acf81484385319f9bb3fc834f0f638e25f2e53","tarball":"https://registry.npmjs.org/hunspell-asm/-/hunspell-asm-2.0.0-beta.5.tgz","fileCount":123,"unpackedSize":6061680,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcTBZ1CRA9TVsSAnZWagAAbRwQAKLoOjPvjXJU56cCuDfe\nMEwyYyH1CQMiImBv7o2xtzOpa4xKLNr+Cj5JK2zs9dXPJaRNfiR1WMOVyWwk\nubuWUgjoFRXLYCk0C8ipSlQoi2EKwRFUDvXimS2qaHiAoYvtG6VaI8GEngif\n5QZqDc0HgUlVEYA+B0BFF/kcVOPR6kYmAtWPWrCny6aidOgQdx5qby4MYU94\nNgBepU9LQz80APMBKpkJSS53jaqSywE8YGFrLTBIaTB2TubznQG/bhR9nzCL\nfolYNfDSNEOiGmhdxhqQom+lp7KNDrnZMnDnfZbCujQPLhJgnLPTPIRdsFPR\nIGZqHMLM3fj1DI9jS4R/hJVfbjjJzH4w4BDxYeS43eNWCw3n5lSAaDPviz/2\niHgcQVq75hDpk+7mZK7bT9XUd/FEngFn+8Xr1R2VrjmiOXs9F8q5GzNbb0ZL\nlloRlmbQkOuCU77iP65GizwR26qTxDLt3kNHmfSchywu82Xnovrt/M8w1sY1\nvOECcnNUHY8LAqxcDhjPu9Iyu0289F8wY44rBvwd1KX7ywzG54gxfuFhFaoC\n01KDDpiLZF8/x51KIX720vTfKW8qAn7yVX71LXvwgoL5J3wRWlwBqAKCygJP\n2jWYJoWhBZzYryire2iTmQWlgdb9kpfdPMStbpJJQSwV5HxHk8yqoFxhn6ds\nqG9k\r\n=h7eG\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCLmaeMbAFkkmxSceciEJdARwiW68HSq4tS5Re0xYmg+AIhAP0gBwAQGWlbaUD2i7h7bS/mthSPG9iZCabXn5iXw16O"}]},"maintainers":[{"name":"kwonoj","email":"kwon.ohjoong@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hunspell-asm_2.0.0-beta.5_1548490356480_0.1985739126074837"},"_hasShrinkwrap":false},"2.0.0-beta.6":{"name":"hunspell-asm","version":"2.0.0-beta.6","description":"WebAssembly based Javascript bindings for hunspell spellchecker","main":"./dist/cjs/index.js","module":"./dist/esm/index.js","types":"./dist/types/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"},"hunspell-version":"19b43c8-190125"},"lint-staged":{"*.ts":["prettier --write --single-quote --print-width 120 --jsx-bracket-same-line true --ignore-path ./src/lib/*.js","tslint --fix","git add"]},"scripts":{"prepare":"node -r ts-node/register bootstrap.ts","prepublishOnly":"npm-run-all build:clean build build:lib test","test:hunspell":"jest --config jest-hunspell.json","test:hunspell-asm":"jest --config jest-hunspell-asm.json --coverage","test":"npm-run-all test:*","lint":"tslint src/**/*.ts test/**/*.ts --project tsconfig.json","lint:staged":"lint-staged","build":"tsc -b --verbose ./src/tsconfig.cjs.json ./src/tsconfig.esm.json ./src/tsconfig.types.json ./spec/tsconfig.json","build:clean":"shx rm -rf ./dist","build:lib":"shx cp -r ./src/lib ./dist/cjs && shx cp -r ./src/lib ./dist/esm","commit":"git-cz -S","changelog":"conventional-changelog -p angular -i CHANGELOG.md -s"},"repository":{"type":"git","url":"git+https://github.com/kwonoj/hunspell-asm.git"},"author":{"name":"OJ Kwon","email":"kwon.ohjoong@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/kwonoj/hunspell-asm/issues"},"keywords":["WebAssembly","Wasm","Spellchecker","Hunspell","Language"],"homepage":"https://github.com/kwonoj/hunspell-asm#readme","devDependencies":{"@commitlint/cli":"^7.3.2","@commitlint/config-angular":"^7.3.1","@types/chai":"^4.1.7","@types/jest":"^23.3.13","@types/lodash":"^4.14.120","@types/node":"^10.12.18","@types/shelljs":"^0.8.2","chai":"^4.2.0","commitizen":"^3.0.5","conventional-changelog-cli":"^2.0.11","husky":"^1.3.1","jest":"^23.6.0","jest-spin-reporter":"^1.0.2","lint-staged":"^8.1.0","lodash":"^4.17.11","npm-run-all":"^4.1.5","prettier":"^1.16.1","rxjs":"^6.3.3","shelljs":"^0.8.3","shx":"^0.3.2","ts-jest":"^23.10.5","ts-node":"^7.0.1","tslint":"^5.12.1","tslint-no-unused-expression-chai":"0.1.4","typescript":"^3.2.4"},"dependencies":{"emscripten-wasm-loader":"^2.2.2","nanoid":"^2.0.1","tslib":"^1.9.3","unixify":"^1.0.0"},"engines":{"node":">=4"},"husky":{"hooks":{"commit-msg":"commitlint -e","pre-commit":"lint-staged","pre-push":"npm-run-all build test"}},"gitHead":"3ad8c8a4e62873220c5736af6ab12078d52294fb","readme":"[![Build Status](https://travis-ci.org/kwonoj/hunspell-asm.svg?branch=master)](https://travis-ci.org/kwonoj/hunspell-asm)\n[![Build status](https://ci.appveyor.com/api/projects/status/7s0r599r9h6r682g?svg=true)](https://ci.appveyor.com/project/kwonoj/hunspell-asm)\n[![codecov](https://codecov.io/gh/kwonoj/hunspell-asm/branch/master/graph/badge.svg)](https://codecov.io/gh/kwonoj/hunspell-asm)\n[![npm](https://img.shields.io/npm/v/hunspell-asm.svg)](https://www.npmjs.com/package/hunspell-asm)\n[![node](https://img.shields.io/badge/node-=>8.0-blue.svg?style=flat)](https://www.npmjs.com/package/hunspell-asm)\n\n# Hunspell-asm\n\n`Hunspell-asm` is isomorphic javascript binding to [hunspell](https://github.com/hunspell/hunspell) spellchecker based on WebAssembly hunspell binary. This module aims to provide thin, lightweight interface to hunspell without requiring native modules.\n\n# Install\n\n```sh\nnpm install hunspell-asm\n```\n\n# Usage\n\n## Loading module asynchronously\n\n`Hunspell-asm` relies on wasm binary of hunspell, which need to be initialized first.\n\n```js\nimport { loadModule } from 'hunspell-asm';\n\nconst hunspellFactory = await loadModule();\n```\n\n`loadModule` loads wasm binary, initialize it, and returns factory function to create instance of hunspell.\n\n```js\nloadModule({timeout?: number, locateBinary?: (wasmPath: string) => string | object}): Promise<HunspellFactory>\n```\n\nIt allows to specify timeout to wait until wasm binary compliation & load, also allows to override to lookup binary of wasm. Based on environment & bundling configurations, it is not sufficient to rely on default resolution logic. `locateBinary` expects to return path of binary (i.e remote endpoint url) or loader-specific object if it's bundled by bundler. Check [examples](https://github.com/kwonoj/hunspell-asm/tree/master/examples) for usecases.\n\n## Mounting files\n\nWasm binary uses different memory spaces allocated for its own and cannot access plain javascript object / or files directly. `HunspellFactory` provides few interfaces to interop physical file, or file contents into hunspell.\n\n- `mountDirectory(dirPath: string): string` : (node.js only) Mount physical path. Once directory is mounted hunspell can read all files under mounted path. Returns `virtual` path to mounted path.\n- `mountBuffer(contents: ArrayBufferView, fileName?: string): string` : Mount contents of file. Environment like browser which doesn't have access to filesystem can use this interface to create each file into memory.\n- `unmount(mountedFilePath: string)` : Unmount path if it's exists in memory. If it's bufferFile created by `mountBuffer`, unmount will remove those file object in wasm memory as well.\n\nAll of `virtual` paths for mounted filesystem uses unix separator regardless of platform.\n\n## Creating spellchecker\n\nOnce you mounted dic / aff files you can create hunspell spellchecker instance via `HunspellFactory::create`. Each path for files are mounted path and should not be actual path or server endpoint.\n\n```js\ncreate(affPath: string, dictPath: string): Hunspell\n```\n\n`Hunspell` exposes minimal interfaces to spellchecker.\n\n- `spell(word: string): boolean` : Check spelling for word. False for misspelled, True otherwise.\n- `suggest(word: string): Array<string>` : Get suggestion list for misspelled word. Empty if word is not misspelled or no suggestions.\n- `dispose(): void` : Destroy current instance of hunspell. It is important to note created instance of hunspell will not be destroyed automatically.\n\nThere are simple [examples](https://github.com/kwonoj/hunspell-asm/tree/e0e421fda667fb0d4888a4e0b21877e95540c29c/examples) for each environments using different apis. In each example directory do `npm install && npm start`.\n\n## Adding words to dictionary in runtime\n\nHunspell exposes few interfaces allow to add words, or dictionaries in existing dictionary in runtime. This is **runtime** behavior, so it doesn't persist over once instance is disposed.\n\n- `addWord(word: string): void` : add single word to current dictionary.\n- `removeWord(word: string): void` : remove single word from current dictionary.\n- `addWordWithAffix(word: string, affix: string): void`: add word with example word having affix flag to be applied. Second param `affix` is example word, should exists in current dictionary with its own affix flag. Newly added word will have same affix rule as example word.\n- `addDictionary(dictPath): boolean` : Load addtional dictionary into existing hunspell instance. This cannot load additional affi\nx. If function returns false, it means internal slot hunspell manages are full and can't add additional dictionaries.\n\n## Things to note\n\n- Ensure all inputs (aff, dic, word for spell / suggest) are UTF-8 encoded correctly. While hunspell itself supports other encodings, all surrounding interfaces passing buffers are plain javascript doesn't detect / converts encodings automatically.\n\n# Building / Testing\n\nFew npm scripts are supported for build / test code.\n\n- `build`: Transpiles code to ES5 commonjs to `dist`.\n- `test`: Run `hunspell` / `hunspell-asm` test both. Does not require `build` before execute test.\n- `test:hunspell`: Run integration test for actual hunspell wasm binary, using [hunspell's test case](https://github.com/hunspell/hunspell/tree/97d7d559f621176685695fbd51e5d8d3f9e005e3/tests) as-is.\n- `test:hunspell-asm`: Run unit test against `hunspell-asm` interface\n- `lint`: Run lint over all codebases\n- `lint:staged`: Run lint only for staged changes. This'll be executed automatically with precommit hook.\n- `commit`: Commit wizard to write commit message\n\n# License\n\n- Hunspell: [original license](https://github.com/hunspell/hunspell/blob/master/license.hunspell)\n- Hunspell-asm: [MIT](https://github.com/kwonoj/hunspell-asm/blob/master/LICENSE)\n","readmeFilename":"README.md","_id":"hunspell-asm@2.0.0-beta.6","_nodeVersion":"11.4.0","_npmVersion":"6.7.0","dist":{"integrity":"sha512-UoBHiWU4wAJTrkW1SrllDT/mdwIoZ/nTSOETkAyMaaM6VnPg0k7XQ4hiBfwlIi5wIeJp2/jJ3v8dXXIgH+i3aw==","shasum":"5183615c20363815f9c85c0148bc48a0af7ecaf7","tarball":"https://registry.npmjs.org/hunspell-asm/-/hunspell-asm-2.0.0-beta.6.tgz","fileCount":109,"unpackedSize":6049982,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcThovCRA9TVsSAnZWagAANT4P/0hKbzR0q8uIRD2uGO3i\nR0vI3FHG0GYkw0KrRtZkmQ0QfdfKA3rabFC5Pz6L6GP6PDad1L9HDkywFeXe\nuMBA24MIYWZugv/YRbTMc/xOz5vwddRLWA656GpAOkdz6GH5+VVeF/NIWZyJ\nmYVMzzqpU+vIacNKdvtsaGKJ0cGcLzgP8R2KqfkpLMGcVzE1uPVu0mValFnE\nRNPb33fFppVhqtO3+G6D9qwS8HE5l57UCijz4LfkQAzVy96X9FJ/DRxmyQtZ\noyf2W8bTTbxuJTK7Y/aUPaI66D32G3dUU6ZcMImgTC5n3O6oMi9vb3w2qhFz\nAaIjBl/ug69MZa2vTNn2me/pUYwaxAqe+j6HeT0wFS+ValM1N8C+BQhPh0dA\n8CY6zR4Cn6rEL+llCxz1Y4Iv9WXvt91vSMPZs0kOhpU9r8HuKt7H1XYnfwqt\nwHjow35gBEqcJy+q/B4+0yWw4eoL6P74SY75Oq6imMYv7t0wEKyGF8O6Ruda\n18o/QoqpKpojHCujc10ax/9CxeSKDvoDJmT4sxmh9Fsaj/J9/gSbKE+rnjFE\n00Lmd6fWP3MQ6PwXmfpWFSxxS7diIan4w4RL1nPgv6cYSUz71gVJBnFVNSXO\nw2EcxTsritcOcFcot5FQchiH1rVckKMRYfXtujuZxaCLznIc6kPRUX6u3slf\neHqR\r\n=qORk\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBl8jK6hOHn1JH8dlm7RuUgqH5o/a/oGGNmaZPOeff39AiAVbhxLjD2lBOyjHA3y20jdE1wYhcCsVyzKFhulNK6RFw=="}]},"maintainers":[{"name":"kwonoj","email":"kwon.ohjoong@gmail.com"}],"_npmUser":{"name":"kwonoj","email":"kwon.ohjoong@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hunspell-asm_2.0.0-beta.6_1548622382789_0.5833928768340231"},"_hasShrinkwrap":false},"2.0.0-beta.asm.1":{"name":"hunspell-asm","version":"2.0.0-beta.asm.1","description":"WebAssembly based Javascript bindings for hunspell spellchecker","main":"./dist/cjs/index.js","module":"./dist/esm/index.js","types":"./dist/types/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"},"hunspell-version":"19b43c8-190125"},"lint-staged":{"*.ts":["prettier --write --single-quote --print-width 120 --jsx-bracket-same-line true --ignore-path ./src/lib/*.js","tslint --fix","git add"]},"scripts":{"prepare":"node -r ts-node/register bootstrap.ts","prepublishOnly":"npm-run-all build:clean build build:lib test","test:hunspell":"jest --config jest-hunspell.json","test:hunspell-asm":"jest --config jest-hunspell-asm.json --coverage","test":"npm-run-all test:*","lint":"tslint src/**/*.ts test/**/*.ts --project tsconfig.json","lint:staged":"lint-staged","build":"tsc -b --verbose ./src/tsconfig.cjs.json ./src/tsconfig.esm.json ./src/tsconfig.types.json ./spec/tsconfig.json","build:clean":"shx rm -rf ./dist","build:lib":"shx cp -r ./src/lib ./dist/cjs && shx cp -r ./src/lib ./dist/esm","commit":"git-cz -S","changelog":"conventional-changelog -p angular -i CHANGELOG.md -s"},"repository":{"type":"git","url":"git+https://github.com/kwonoj/hunspell-asm.git"},"author":{"name":"OJ Kwon","email":"kwon.ohjoong@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/kwonoj/hunspell-asm/issues"},"keywords":["WebAssembly","Wasm","Spellchecker","Hunspell","Language"],"homepage":"https://github.com/kwonoj/hunspell-asm#readme","devDependencies":{"@commitlint/cli":"^7.3.2","@commitlint/config-angular":"^7.3.1","@types/chai":"^4.1.7","@types/jest":"^23.3.13","@types/lodash":"^4.14.120","@types/node":"^10.12.18","@types/shelljs":"^0.8.2","chai":"^4.2.0","commitizen":"^3.0.5","conventional-changelog-cli":"^2.0.11","husky":"^1.3.1","jest":"^23.6.0","jest-spin-reporter":"^1.0.2","lint-staged":"^8.1.0","lodash":"^4.17.11","npm-run-all":"^4.1.5","prettier":"^1.16.1","rxjs":"^6.3.3","shelljs":"^0.8.3","shx":"^0.3.2","ts-jest":"^23.10.5","ts-node":"^7.0.1","tslint":"^5.12.1","tslint-no-unused-expression-chai":"0.1.4","typescript":"^3.2.4"},"dependencies":{"emscripten-wasm-loader":"^2.2.2","nanoid":"^2.0.1","tslib":"^1.9.3","unixify":"^1.0.0"},"engines":{"node":">=4"},"husky":{"hooks":{"commit-msg":"commitlint -e","pre-commit":"lint-staged","pre-push":"npm-run-all build test"}},"readme":"[![Build Status](https://travis-ci.org/kwonoj/hunspell-asm.svg?branch=master)](https://travis-ci.org/kwonoj/hunspell-asm)\n[![Build status](https://ci.appveyor.com/api/projects/status/7s0r599r9h6r682g?svg=true)](https://ci.appveyor.com/project/kwonoj/hunspell-asm)\n[![codecov](https://codecov.io/gh/kwonoj/hunspell-asm/branch/master/graph/badge.svg)](https://codecov.io/gh/kwonoj/hunspell-asm)\n[![npm](https://img.shields.io/npm/v/hunspell-asm.svg)](https://www.npmjs.com/package/hunspell-asm)\n[![node](https://img.shields.io/badge/node-=>8.0-blue.svg?style=flat)](https://www.npmjs.com/package/hunspell-asm)\n\n# Hunspell-asm\n\n`Hunspell-asm` is isomorphic javascript binding to [hunspell](https://github.com/hunspell/hunspell) spellchecker based on WebAssembly hunspell binary. This module aims to provide thin, lightweight interface to hunspell without requiring native modules.\n\n# Install\n\n```sh\nnpm install hunspell-asm\n```\n\n# Usage\n\n## Loading module asynchronously\n\n`Hunspell-asm` relies on wasm binary of hunspell, which need to be initialized first.\n\n```js\nimport { loadModule } from 'hunspell-asm';\n\nconst hunspellFactory = await loadModule();\n```\n\n`loadModule` loads wasm binary, initialize it, and returns factory function to create instance of hunspell.\n\n```js\nloadModule({timeout?: number, locateBinary?: (wasmPath: string) => string | object}): Promise<HunspellFactory>\n```\n\nIt allows to specify timeout to wait until wasm binary compliation & load, also allows to override to lookup binary of wasm. Based on environment & bundling configurations, it is not sufficient to rely on default resolution logic. `locateBinary` expects to return path of binary (i.e remote endpoint url) or loader-specific object if it's bundled by bundler. Check [examples](https://github.com/kwonoj/hunspell-asm/tree/master/examples) for usecases.\n\n## Mounting files\n\nWasm binary uses different memory spaces allocated for its own and cannot access plain javascript object / or files directly. `HunspellFactory` provides few interfaces to interop physical file, or file contents into hunspell.\n\n- `mountDirectory(dirPath: string): string` : (node.js only) Mount physical path. Once directory is mounted hunspell can read all files under mounted path. Returns `virtual` path to mounted path.\n- `mountBuffer(contents: ArrayBufferView, fileName?: string): string` : Mount contents of file. Environment like browser which doesn't have access to filesystem can use this interface to create each file into memory.\n- `unmount(mountedFilePath: string)` : Unmount path if it's exists in memory. If it's bufferFile created by `mountBuffer`, unmount will remove those file object in wasm memory as well.\n\nAll of `virtual` paths for mounted filesystem uses unix separator regardless of platform.\n\n## Creating spellchecker\n\nOnce you mounted dic / aff files you can create hunspell spellchecker instance via `HunspellFactory::create`. Each path for files are mounted path and should not be actual path or server endpoint.\n\n```js\ncreate(affPath: string, dictPath: string): Hunspell\n```\n\n`Hunspell` exposes minimal interfaces to spellchecker.\n\n- `spell(word: string): boolean` : Check spelling for word. False for misspelled, True otherwise.\n- `suggest(word: string): Array<string>` : Get suggestion list for misspelled word. Empty if word is not misspelled or no suggestions.\n- `dispose(): void` : Destroy current instance of hunspell. It is important to note created instance of hunspell will not be destroyed automatically.\n\nThere are simple [examples](https://github.com/kwonoj/hunspell-asm/tree/e0e421fda667fb0d4888a4e0b21877e95540c29c/examples) for each environments using different apis. In each example directory do `npm install && npm start`.\n\n## Adding words to dictionary in runtime\n\nHunspell exposes few interfaces allow to add words, or dictionaries in existing dictionary in runtime. This is **runtime** behavior, so it doesn't persist over once instance is disposed.\n\n- `addWord(word: string): void` : add single word to current dictionary.\n- `removeWord(word: string): void` : remove single word from current dictionary.\n- `addWordWithAffix(word: string, affix: string): void`: add word with example word having affix flag to be applied. Second param `affix` is example word, should exists in current dictionary with its own affix flag. Newly added word will have same affix rule as example word.\n- `addDictionary(dictPath): boolean` : Load addtional dictionary into existing hunspell instance. This cannot load additional affi\nx. If function returns false, it means internal slot hunspell manages are full and can't add additional dictionaries.\n\n## Things to note\n\n- Ensure all inputs (aff, dic, word for spell / suggest) are UTF-8 encoded correctly. While hunspell itself supports other encodings, all surrounding interfaces passing buffers are plain javascript doesn't detect / converts encodings automatically.\n\n# Building / Testing\n\nFew npm scripts are supported for build / test code.\n\n- `build`: Transpiles code to ES5 commonjs to `dist`.\n- `test`: Run `hunspell` / `hunspell-asm` test both. Does not require `build` before execute test.\n- `test:hunspell`: Run integration test for actual hunspell wasm binary, using [hunspell's test case](https://github.com/hunspell/hunspell/tree/97d7d559f621176685695fbd51e5d8d3f9e005e3/tests) as-is.\n- `test:hunspell-asm`: Run unit test against `hunspell-asm` interface\n- `lint`: Run lint over all codebases\n- `lint:staged`: Run lint only for staged changes. This'll be executed automatically with precommit hook.\n- `commit`: Commit wizard to write commit message\n\n# License\n\n- Hunspell: [original license](https://github.com/hunspell/hunspell/blob/master/license.hunspell)\n- Hunspell-asm: [MIT](https://github.com/kwonoj/hunspell-asm/blob/master/LICENSE)\n","readmeFilename":"README.md","gitHead":"7a26a71a5483439c80683dc47a8ad3dcc067d279","_id":"hunspell-asm@2.0.0-beta.asm.1","_nodeVersion":"11.4.0","_npmVersion":"6.7.0","dist":{"integrity":"sha512-qps5voARZUtRSxO3MfBvABNzHFUCJYSJhPv3J5azGQB667VedSwScLCJM/hVmhbx7Q51IzktUShv2CyJi8PECQ==","shasum":"6f6001909ea8220d9e9e9337f9c4d3ffdf68f4f8","tarball":"https://registry.npmjs.org/hunspell-asm/-/hunspell-asm-2.0.0-beta.asm.1.tgz","fileCount":103,"unpackedSize":3900627,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcThvwCRA9TVsSAnZWagAAjtEP/AvNyyZaIgLkIBNZ6+vi\n9H01xhvQCz7ms1MFrvVaONNg7V6rUW9RtpIm6740qw4w5GRlfH5aHwdoEwU5\n5tyStXEX9mnvbsOZSJ72oOwwTsgNL7VPgfUMMdpnMQMLvQpr9hUzEH2Qx4M8\nzOu82Q2i9l5y35BZu0zLsGvWPw1TxjPuLrpwSeizkby7uJVq+UrLxW/rH4MJ\nz/2ZQTYpztz+Q+rQkrCCTg2znIVnEH4pJj2coRN/zKDWjvBxS7MpNjJuPcfo\nxRsy+jYPDoMbuNjs2ply3DSaQcTiAVig2YPSMsjFeLZPFk+Z6zwGNulFnjs6\nAdeRmmqxl9m4+vwgwQGLNJMKsiXcwsXgN6MxU/z2Cmms856o6WtswGshObUR\nYEHMupVurisuqhpupmTRbsgOi2DEXIcbIkQQ9ZLA6DMq6IX7tIgGbrFnNoeh\nbxkun9A0M6YkGvLgXqPu14rLAdGA4lZe4adNjtoN8/1zXthk9fP/8ZAf43sX\ngwYqfa0RTuHk69ruUJ7wdHFGWuDB7q3oHHzc6QKyOI0C2nYtcUJm3I+yph1s\nGT8jQviH4Sq0J6hA3YFx97O49hc6CgPIPwfUTflV08LjN7jvbfeIIGvSOycP\n5h8gdGWpmBV63keYDu7lNFCXqsMrCVHs5rugZeL3N15k8WxQLblSa6seJcD1\niVkd\r\n=eA1I\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD+rDKO+HoBU/bPi+0KfYNGpbRHcAMV2YhPDJfqfUxRXgIgZk8xPQTkvdhuDvmq+2jJHrLb6OT5yQw9XM444dhGXWQ="}]},"maintainers":[{"name":"kwonoj","email":"kwon.ohjoong@gmail.com"}],"_npmUser":{"name":"kwonoj","email":"kwon.ohjoong@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hunspell-asm_2.0.0-beta.asm.1_1548622831414_0.8722755320327835"},"_hasShrinkwrap":false},"2.0.0-beta.asm.2":{"name":"hunspell-asm","version":"2.0.0-beta.asm.2","description":"WebAssembly based Javascript bindings for hunspell spellchecker","main":"./dist/cjs/index.js","module":"./dist/esm/index.js","types":"./dist/types/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"},"hunspell-version":"19b43c8-190125"},"lint-staged":{"*.ts":["prettier --write --single-quote --print-width 120 --jsx-bracket-same-line true --ignore-path ./src/lib/*.js","tslint --fix","git add"]},"scripts":{"prepare":"node -r ts-node/register bootstrap.ts","prepublishOnly":"npm-run-all build:clean build build:lib test","test:hunspell":"jest --config jest-hunspell.json","test:hunspell-asm":"jest --config jest-hunspell-asm.json --coverage","test":"npm-run-all test:*","lint":"tslint src/**/*.ts test/**/*.ts --project tsconfig.json","lint:staged":"lint-staged","build":"tsc -b --verbose ./src/tsconfig.cjs.json ./src/tsconfig.esm.json ./src/tsconfig.types.json ./spec/tsconfig.json","build:clean":"shx rm -rf ./dist","build:lib":"shx cp -r ./src/lib ./dist/cjs && shx cp -r ./src/lib ./dist/esm","commit":"git-cz -S","changelog":"conventional-changelog -p angular -i CHANGELOG.md -s"},"repository":{"type":"git","url":"git+https://github.com/kwonoj/hunspell-asm.git"},"author":{"name":"OJ Kwon","email":"kwon.ohjoong@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/kwonoj/hunspell-asm/issues"},"keywords":["WebAssembly","Wasm","Spellchecker","Hunspell","Language"],"homepage":"https://github.com/kwonoj/hunspell-asm#readme","devDependencies":{"@commitlint/cli":"^7.3.2","@commitlint/config-angular":"^7.3.1","@types/chai":"^4.1.7","@types/jest":"^23.3.13","@types/lodash":"^4.14.120","@types/node":"^10.12.18","@types/shelljs":"^0.8.2","chai":"^4.2.0","commitizen":"^3.0.5","conventional-changelog-cli":"^2.0.11","husky":"^1.3.1","jest":"^23.6.0","jest-spin-reporter":"^1.0.2","lint-staged":"^8.1.0","lodash":"^4.17.11","npm-run-all":"^4.1.5","prettier":"^1.16.1","rxjs":"^6.3.3","shelljs":"^0.8.3","shx":"^0.3.2","ts-jest":"^23.10.5","ts-node":"^7.0.1","tslint":"^5.12.1","tslint-no-unused-expression-chai":"0.1.4","typescript":"^3.2.4"},"dependencies":{"emscripten-wasm-loader":"^2.2.2","nanoid":"^2.0.1","tslib":"^1.9.3","unixify":"^1.0.0"},"engines":{"node":">=4"},"husky":{"hooks":{"commit-msg":"commitlint -e","pre-commit":"lint-staged","pre-push":"npm-run-all build test"}},"readme":"[![Build Status](https://travis-ci.org/kwonoj/hunspell-asm.svg?branch=master)](https://travis-ci.org/kwonoj/hunspell-asm)\n[![Build status](https://ci.appveyor.com/api/projects/status/7s0r599r9h6r682g?svg=true)](https://ci.appveyor.com/project/kwonoj/hunspell-asm)\n[![codecov](https://codecov.io/gh/kwonoj/hunspell-asm/branch/master/graph/badge.svg)](https://codecov.io/gh/kwonoj/hunspell-asm)\n[![npm](https://img.shields.io/npm/v/hunspell-asm.svg)](https://www.npmjs.com/package/hunspell-asm)\n[![node](https://img.shields.io/badge/node-=>8.0-blue.svg?style=flat)](https://www.npmjs.com/package/hunspell-asm)\n\n# Hunspell-asm\n\n`Hunspell-asm` is isomorphic javascript binding to [hunspell](https://github.com/hunspell/hunspell) spellchecker based on WebAssembly hunspell binary. This module aims to provide thin, lightweight interface to hunspell without requiring native modules.\n\n# Install\n\n```sh\nnpm install hunspell-asm\n```\n\n# Usage\n\n## Loading module asynchronously\n\n`Hunspell-asm` relies on wasm binary of hunspell, which need to be initialized first.\n\n```js\nimport { loadModule } from 'hunspell-asm';\n\nconst hunspellFactory = await loadModule();\n```\n\n`loadModule` loads wasm binary, initialize it, and returns factory function to create instance of hunspell.\n\n```js\nloadModule({timeout?: number, locateBinary?: (wasmPath: string) => string | object}): Promise<HunspellFactory>\n```\n\nIt allows to specify timeout to wait until wasm binary compliation & load, also allows to override to lookup binary of wasm. Based on environment & bundling configurations, it is not sufficient to rely on default resolution logic. `locateBinary` expects to return path of binary (i.e remote endpoint url) or loader-specific object if it's bundled by bundler. Check [examples](https://github.com/kwonoj/hunspell-asm/tree/master/examples) for usecases.\n\n## Mounting files\n\nWasm binary uses different memory spaces allocated for its own and cannot access plain javascript object / or files directly. `HunspellFactory` provides few interfaces to interop physical file, or file contents into hunspell.\n\n- `mountDirectory(dirPath: string): string` : (node.js only) Mount physical path. Once directory is mounted hunspell can read all files under mounted path. Returns `virtual` path to mounted path.\n- `mountBuffer(contents: ArrayBufferView, fileName?: string): string` : Mount contents of file. Environment like browser which doesn't have access to filesystem can use this interface to create each file into memory.\n- `unmount(mountedFilePath: string)` : Unmount path if it's exists in memory. If it's bufferFile created by `mountBuffer`, unmount will remove those file object in wasm memory as well.\n\nAll of `virtual` paths for mounted filesystem uses unix separator regardless of platform.\n\n## Creating spellchecker\n\nOnce you mounted dic / aff files you can create hunspell spellchecker instance via `HunspellFactory::create`. Each path for files are mounted path and should not be actual path or server endpoint.\n\n```js\ncreate(affPath: string, dictPath: string): Hunspell\n```\n\n`Hunspell` exposes minimal interfaces to spellchecker.\n\n- `spell(word: string): boolean` : Check spelling for word. False for misspelled, True otherwise.\n- `suggest(word: string): Array<string>` : Get suggestion list for misspelled word. Empty if word is not misspelled or no suggestions.\n- `dispose(): void` : Destroy current instance of hunspell. It is important to note created instance of hunspell will not be destroyed automatically.\n\nThere are simple [examples](https://github.com/kwonoj/hunspell-asm/tree/e0e421fda667fb0d4888a4e0b21877e95540c29c/examples) for each environments using different apis. In each example directory do `npm install && npm start`.\n\n## Adding words to dictionary in runtime\n\nHunspell exposes few interfaces allow to add words, or dictionaries in existing dictionary in runtime. This is **runtime** behavior, so it doesn't persist over once instance is disposed.\n\n- `addWord(word: string): void` : add single word to current dictionary.\n- `removeWord(word: string): void` : remove single word from current dictionary.\n- `addWordWithAffix(word: string, affix: string): void`: add word with example word having affix flag to be applied. Second param `affix` is example word, should exists in current dictionary with its own affix flag. Newly added word will have same affix rule as example word.\n- `addDictionary(dictPath): boolean` : Load addtional dictionary into existing hunspell instance. This cannot load additional affi\nx. If function returns false, it means internal slot hunspell manages are full and can't add additional dictionaries.\n\n## Things to note\n\n- Ensure all inputs (aff, dic, word for spell / suggest) are UTF-8 encoded correctly. While hunspell itself supports other encodings, all surrounding interfaces passing buffers are plain javascript doesn't detect / converts encodings automatically.\n\n# Building / Testing\n\nFew npm scripts are supported for build / test code.\n\n- `build`: Transpiles code to ES5 commonjs to `dist`.\n- `test`: Run `hunspell` / `hunspell-asm` test both. Does not require `build` before execute test.\n- `test:hunspell`: Run integration test for actual hunspell wasm binary, using [hunspell's test case](https://github.com/hunspell/hunspell/tree/97d7d559f621176685695fbd51e5d8d3f9e005e3/tests) as-is.\n- `test:hunspell-asm`: Run unit test against `hunspell-asm` interface\n- `lint`: Run lint over all codebases\n- `lint:staged`: Run lint only for staged changes. This'll be executed automatically with precommit hook.\n- `commit`: Commit wizard to write commit message\n\n# License\n\n- Hunspell: [original license](https://github.com/hunspell/hunspell/blob/master/license.hunspell)\n- Hunspell-asm: [MIT](https://github.com/kwonoj/hunspell-asm/blob/master/LICENSE)\n","readmeFilename":"README.md","gitHead":"11a4c17361e736ffc9b5e3f312cf3195ac155746","_id":"hunspell-asm@2.0.0-beta.asm.2","_nodeVersion":"11.4.0","_npmVersion":"6.7.0","dist":{"integrity":"sha512-fgLSufVd2nHVlYMd6K4UsU+6OEqqHyxL8l1B9B7q4SqYxFBZzXbdPQoZz65uKQ3W0SxhWtQh0KFn9qHxuTflEw==","shasum":"3dcbf993f6102c25b0105c95ac027000ea40fa66","tarball":"https://registry.npmjs.org/hunspell-asm/-/hunspell-asm-2.0.0-beta.asm.2.tgz","fileCount":103,"unpackedSize":3899290,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcTiQzCRA9TVsSAnZWagAAuuQP/0i5fw2DXuNiLvEZ6vPr\naVNWVSlKoKJA+FBsudXKBTn2MBZzuSh5GQ7IDDHxi7nrCFaSCbzvPhPYj2b+\n3M7HBqeH9veW4oazxuaNwdgif0RuBDCpYEjY6l3q2PJy8AuOv4Ls7krvku7S\n7fFwNXp1P4yqnzkNz/o3Xd/1boY0IkHM4MvaGif3OOhxZ62+8O7JU6EfNvOh\n9RgxGIMygyoVzirLHnJEPETE7O7PBZ9atwNJ2ezsbYJsRRCM6NIepwY9XUmJ\nRVU1GQ++vaU0PCpGaduy62SMA3Wgf9m+wCwCHmxVtR4w5wsKHabVrbxDLMoO\nxM1C3Ph4DvFo7/0oam5OEkdKpx4Eo17t87VDwIa0Ue6o6wfW9mzl0fgOlScH\nbn4x6vDwMgmDWoVab9nOM12Xn3aQxU1LJJ6+LU2KPRbUbFVv7mJjROVhSdgn\n6KXYil9bkDLb6azSriJd5mrj2OoN4BrYL/9/tRYFUxiVaVk7Y7jWcp2ihuU5\ngSzJsrK9wqeWELVgR7PwT9yJdbj9Ry1oB5W1MRn9oTFkvOwY8Sk3t/VVwe4A\nicnR9BqnT8+CLbtPLjGRAITdbrqZrvyYXwi5ddp+hgbBg2V1f3QTTLvzspn+\nxQsrpo0MaDDhrnPGpYMWcx7ONYoP73uAhWlYWHB07jnKzgvYNlAg/F5gLItO\nFJQw\r\n=9Bhx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCW2jSAZ0K5QZdSQVPeAijnKz8XojGOIFTXngXt3qaQfgIgZR/O/oQ7Ocqnhu4RhuK76hJDkcyinYjoDi9hxowgE8M="}]},"maintainers":[{"name":"kwonoj","email":"kwon.ohjoong@gmail.com"}],"_npmUser":{"name":"kwonoj","email":"kwon.ohjoong@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hunspell-asm_2.0.0-beta.asm.2_1548624946516_0.0672658052358186"},"_hasShrinkwrap":false},"2.0.0-beta.7":{"name":"hunspell-asm","version":"2.0.0-beta.7","description":"WebAssembly based Javascript bindings for hunspell spellchecker","main":"./dist/cjs/index.js","module":"./dist/esm/index.js","types":"./dist/types/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"},"hunspell-version":"5dee226-190129"},"lint-staged":{"*.ts":["prettier --write --single-quote --print-width 120 --jsx-bracket-same-line true --ignore-path ./src/lib/*.js","tslint --fix","git add"]},"scripts":{"prepare":"node -r ts-node/register bootstrap.ts","prepublishOnly":"npm-run-all build:clean build build:lib test","test:hunspell":"jest --config jest-hunspell.json","test:hunspell-asm":"jest --config jest-hunspell-asm.json --coverage","test":"npm-run-all test:*","lint":"tslint src/**/*.ts test/**/*.ts --project tsconfig.json","lint:staged":"lint-staged","build":"tsc -b --verbose ./src/tsconfig.cjs.json ./src/tsconfig.esm.json ./src/tsconfig.types.json ./spec/tsconfig.json","build:clean":"shx rm -rf ./dist","build:lib":"shx cp -r ./src/lib ./dist/cjs && shx cp -r ./src/lib ./dist/esm","commit":"git-cz -S","changelog":"conventional-changelog -p angular -i CHANGELOG.md -s"},"repository":{"type":"git","url":"git+https://github.com/kwonoj/hunspell-asm.git"},"author":{"name":"OJ Kwon","email":"kwon.ohjoong@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/kwonoj/hunspell-asm/issues"},"keywords":["WebAssembly","Wasm","Spellchecker","Hunspell","Language"],"homepage":"https://github.com/kwonoj/hunspell-asm#readme","devDependencies":{"@commitlint/cli":"^7.4.0","@commitlint/config-angular":"^7.3.1","@types/chai":"^4.1.7","@types/jest":"^23.3.13","@types/lodash":"^4.14.120","@types/node":"^10.12.19","@types/shelljs":"^0.8.2","chai":"^4.2.0","commitizen":"^3.0.5","conventional-changelog-cli":"^2.0.11","husky":"^1.3.1","jest":"^23.6.0","jest-spin-reporter":"^1.0.2","lint-staged":"^8.1.1","lodash":"^4.17.11","npm-run-all":"^4.1.5","prettier":"^1.16.1","rxjs":"^6.4.0","shelljs":"^0.8.3","shx":"^0.3.2","ts-jest":"^23.10.5","ts-node":"^7.0.1","tslint":"^5.12.1","tslint-no-unused-expression-chai":"0.1.4","typescript":"^3.2.4"},"dependencies":{"emscripten-wasm-loader":"^2.2.2","nanoid":"^2.0.1","tslib":"^1.9.3","unixify":"^1.0.0"},"engines":{"node":">=4"},"husky":{"hooks":{"commit-msg":"commitlint -e","pre-commit":"lint-staged","pre-push":"npm-run-all build test"}},"gitHead":"eaabb49c5b9e5a4ab6d6ca68503fc307b494bd16","readme":"[![Build Status](https://travis-ci.org/kwonoj/hunspell-asm.svg?branch=master)](https://travis-ci.org/kwonoj/hunspell-asm)\n[![Build status](https://ci.appveyor.com/api/projects/status/7s0r599r9h6r682g?svg=true)](https://ci.appveyor.com/project/kwonoj/hunspell-asm)\n[![codecov](https://codecov.io/gh/kwonoj/hunspell-asm/branch/master/graph/badge.svg)](https://codecov.io/gh/kwonoj/hunspell-asm)\n[![npm](https://img.shields.io/npm/v/hunspell-asm.svg)](https://www.npmjs.com/package/hunspell-asm)\n[![node](https://img.shields.io/badge/node-=>8.0-blue.svg?style=flat)](https://www.npmjs.com/package/hunspell-asm)\n\n# Hunspell-asm\n\n`Hunspell-asm` is isomorphic javascript binding to [hunspell](https://github.com/hunspell/hunspell) spellchecker based on WebAssembly hunspell binary. This module aims to provide thin, lightweight interface to hunspell without requiring native modules.\n\n# Install\n\n```sh\nnpm install hunspell-asm\n```\n\n# Usage\n\n## Loading module asynchronously\n\n`Hunspell-asm` relies on wasm binary of hunspell, which need to be initialized first.\n\n```js\nimport { loadModule } from 'hunspell-asm';\n\nconst hunspellFactory = await loadModule();\n```\n\n`loadModule` loads wasm binary, initialize it, and returns factory function to create instance of hunspell.\n\n```js\nloadModule({timeout?: number, environment?: ENVIRONMENT}): Promise<HunspellFactory>\n```\n\nIt allows to specify timeout to wait until wasm binary compliation & load. By default `hunspell-asm` tries to detect running environment, but for some cases (i.e `electron`) it is possible to override.\n\n## Mounting files\n\nWasm binary uses different memory spaces allocated for its own and cannot access plain javascript object / or files directly. `HunspellFactory` provides few interfaces to interop physical file, or file contents into hunspell.\n\n- `mountDirectory(dirPath: string): string` : (node.js only) Mount physical path. Once directory is mounted hunspell can read all files under mounted path. Returns `virtual` path to mounted path.\n- `mountBuffer(contents: ArrayBufferView, fileName?: string): string` : Mount contents of file. Environment like browser which doesn't have access to filesystem can use this interface to create each file into memory.\n- `unmount(mountedFilePath: string)` : Unmount path if it's exists in memory. If it's bufferFile created by `mountBuffer`, unmount will remove those file object in wasm memory as well.\n\nAll of `virtual` paths for mounted filesystem uses unix separator regardless of platform.\n\n## Creating spellchecker\n\nOnce you mounted dic / aff files you can create hunspell spellchecker instance via `HunspellFactory::create`. Each path for files are mounted path and should not be actual path or server endpoint.\n\n```js\ncreate(affPath: string, dictPath: string): Hunspell\n```\n\n`Hunspell` exposes minimal interfaces to spellchecker.\n\n- `spell(word: string): boolean` : Check spelling for word. False for misspelled, True otherwise.\n- `suggest(word: string): Array<string>` : Get suggestion list for misspelled word. Empty if word is not misspelled or no suggestions.\n- `dispose(): void` : Destroy current instance of hunspell. It is important to note created instance of hunspell will not be destroyed automatically.\n\nThere are simple [examples](https://github.com/kwonoj/hunspell-asm/tree/e0e421fda667fb0d4888a4e0b21877e95540c29c/examples) for each environments using different apis. In each example directory do `npm install && npm start`.\n\n## Adding words to dictionary in runtime\n\nHunspell exposes few interfaces allow to add words, or dictionaries in existing dictionary in runtime. This is **runtime** behavior, so it doesn't persist over once instance is disposed.\n\n- `addWord(word: string): void` : add single word to current dictionary.\n- `removeWord(word: string): void` : remove single word from current dictionary.\n- `addWordWithAffix(word: string, affix: string): void`: add word with example word having affix flag to be applied. Second param `affix` is example word, should exists in current dictionary with its own affix flag. Newly added word will have same affix rule as example word.\n- `addDictionary(dictPath): boolean` : Load addtional dictionary into existing hunspell instance. This cannot load additional affi\nx. If function returns false, it means internal slot hunspell manages are full and can't add additional dictionaries.\n\n## Things to note\n\n- Ensure all inputs (aff, dic, word for spell / suggest) are UTF-8 encoded correctly. While hunspell itself supports other encodings, all surrounding interfaces passing buffers are plain javascript doesn't detect / converts encodings automatically.\n\n# Building / Testing\n\nFew npm scripts are supported for build / test code.\n\n- `build`: Transpiles code to ES5 commonjs to `dist`.\n- `test`: Run `hunspell` / `hunspell-asm` test both. Does not require `build` before execute test.\n- `test:hunspell`: Run integration test for actual hunspell wasm binary, using [hunspell's test case](https://github.com/hunspell/hunspell/tree/97d7d559f621176685695fbd51e5d8d3f9e005e3/tests) as-is.\n- `test:hunspell-asm`: Run unit test against `hunspell-asm` interface\n- `lint`: Run lint over all codebases\n- `lint:staged`: Run lint only for staged changes. This'll be executed automatically with precommit hook.\n- `commit`: Commit wizard to write commit message\n\n# License\n\n- Hunspell: [original license](https://github.com/hunspell/hunspell/blob/master/license.hunspell)\n- Hunspell-asm: [MIT](https://github.com/kwonoj/hunspell-asm/blob/master/LICENSE)\n","readmeFilename":"README.md","_id":"hunspell-asm@2.0.0-beta.7","_npmVersion":"6.5.0","_nodeVersion":"11.8.0","_npmUser":{"name":"kwonoj","email":"kwon.ohjoong@gmail.com"},"dist":{"integrity":"sha512-2o1WZqX1EcXmjjKK7kFRj9nxgU51xtdg4QXWllw2vqAFjUCZT8ar06x0S8QAQhyDjE9dVY9T2vi9jQ8PnwAxsg==","shasum":"7b50a8e999268f1d47e2c2e06a423e44469e7afe","tarball":"https://registry.npmjs.org/hunspell-asm/-/hunspell-asm-2.0.0-beta.7.tgz","fileCount":103,"unpackedSize":2813416,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcUegCCRA9TVsSAnZWagAA1UYP/33lF/bhV0engyEmflZ8\n8oEiOE+tvcbKpY0Y3/LWdUdOA8aAvTI93+U1AfJheX3EGeCqkhGApfdVfvWo\nhzhLNMoU3qYMrrxJvfDlJaXiBXrUfhN9DFSGpFF4MtiP6p2SKAyMI/X/bZoi\nMrAUrZTtSawANROLitP/8mGVVQzW+SJnGmfI9dELQIhp0xGEmeEO4waJyieV\noAjG8Fz21UDMXrtulNgTl8YgzwkdUiryQegXZUcKuwa+Irmod6fbBZvpD1N/\n0NFyum8G6MyEi/AwsNOQ7RVjNbz0dCfw4YRQ3v3+ufVl6GnFtiyXikrZH27S\nMc9Q3NMEx5ERLxWNZe/YsdXQyb/qbtUBq6fSMIHz/tlf9ZfzeIKV9HhgDFhb\nZr1zlFp5HUprRn8+40YJNJ4elbYigpBMGxPckQ+/k+dPdD5UObx1VG7C1z5d\no511CnGcjnowhNCSKghw8sxgztD/xeE1RGtM6p7+KHY0d+nVFs84/npygSTI\nym1psvI8thsEubVZew4dZm4nggBTq0iOB4TyMQa1Zu3I8Yu0cEnR2ZD0wo/y\nJ8icdkGlMjyPkXw8cV5HFa8bndjKasJqQCFio8UuZENHSZm9bpt5mHFd2GRv\n7ocSjObq8rXEQo5+i/218eLNaWy+LhM2q7aCqMuo7ZQpgjEcZ4OHxiwGEBQJ\n4xSg\r\n=mBzd\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHHTZ+xHT6VStFk+91nzdSyJ+iWgFicKOVP7TbdxGyZVAiAtfuYywhNtmoWQmd6EjcFGf5573MQxRLlyc84mcga+WQ=="}]},"maintainers":[{"name":"kwonoj","email":"kwon.ohjoong@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hunspell-asm_2.0.0-beta.7_1548871682133_0.2546253687905726"},"_hasShrinkwrap":false},"2.0.0-beta.asm.3":{"name":"hunspell-asm","version":"2.0.0-beta.asm.3","description":"WebAssembly based Javascript bindings for hunspell spellchecker","main":"./dist/cjs/index.js","module":"./dist/esm/index.js","types":"./dist/types/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"},"hunspell-version":"5dee226-190129"},"lint-staged":{"*.ts":["prettier --write --single-quote --print-width 120 --jsx-bracket-same-line true --ignore-path ./src/lib/*.js","tslint --fix","git add"]},"scripts":{"prepare":"node -r ts-node/register bootstrap.ts","prepublishOnly":"npm-run-all build:clean build build:lib test","test:hunspell":"jest --config jest-hunspell.json","test:hunspell-asm":"jest --config jest-hunspell-asm.json --coverage","test":"npm-run-all test:*","lint":"tslint src/**/*.ts test/**/*.ts --project tsconfig.json","lint:staged":"lint-staged","build":"tsc -b --verbose ./src/tsconfig.cjs.json ./src/tsconfig.esm.json ./src/tsconfig.types.json ./spec/tsconfig.json","build:clean":"shx rm -rf ./dist","build:lib":"shx cp -r ./src/lib ./dist/cjs && shx cp -r ./src/lib ./dist/esm","commit":"git-cz -S","changelog":"conventional-changelog -p angular -i CHANGELOG.md -s"},"repository":{"type":"git","url":"git+https://github.com/kwonoj/hunspell-asm.git"},"author":{"name":"OJ Kwon","email":"kwon.ohjoong@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/kwonoj/hunspell-asm/issues"},"keywords":["WebAssembly","Wasm","Spellchecker","Hunspell","Language"],"homepage":"https://github.com/kwonoj/hunspell-asm#readme","devDependencies":{"@commitlint/cli":"^7.4.0","@commitlint/config-angular":"^7.3.1","@types/chai":"^4.1.7","@types/jest":"^23.3.13","@types/lodash":"^4.14.120","@types/node":"^10.12.19","@types/shelljs":"^0.8.2","chai":"^4.2.0","commitizen":"^3.0.5","conventional-changelog-cli":"^2.0.11","husky":"^1.3.1","jest":"^23.6.0","jest-spin-reporter":"^1.0.2","lint-staged":"^8.1.1","lodash":"^4.17.11","npm-run-all":"^4.1.5","prettier":"^1.16.1","rxjs":"^6.4.0","shelljs":"^0.8.3","shx":"^0.3.2","ts-jest":"^23.10.5","ts-node":"^7.0.1","tslint":"^5.12.1","tslint-no-unused-expression-chai":"0.1.4","typescript":"^3.2.4"},"dependencies":{"emscripten-wasm-loader":"^2.2.2","nanoid":"^2.0.1","tslib":"^1.9.3","unixify":"^1.0.0"},"engines":{"node":">=4"},"husky":{"hooks":{"commit-msg":"commitlint -e","pre-commit":"lint-staged","pre-push":"npm-run-all build test"}},"readme":"[![Build Status](https://travis-ci.org/kwonoj/hunspell-asm.svg?branch=master)](https://travis-ci.org/kwonoj/hunspell-asm)\n[![Build status](https://ci.appveyor.com/api/projects/status/7s0r599r9h6r682g?svg=true)](https://ci.appveyor.com/project/kwonoj/hunspell-asm)\n[![codecov](https://codecov.io/gh/kwonoj/hunspell-asm/branch/master/graph/badge.svg)](https://codecov.io/gh/kwonoj/hunspell-asm)\n[![npm](https://img.shields.io/npm/v/hunspell-asm.svg)](https://www.npmjs.com/package/hunspell-asm)\n[![node](https://img.shields.io/badge/node-=>8.0-blue.svg?style=flat)](https://www.npmjs.com/package/hunspell-asm)\n\n# Hunspell-asm\n\n`Hunspell-asm` is isomorphic javascript binding to [hunspell](https://github.com/hunspell/hunspell) spellchecker based on WebAssembly hunspell binary. This module aims to provide thin, lightweight interface to hunspell without requiring native modules.\n\n# Install\n\n```sh\nnpm install hunspell-asm\n```\n\n# Usage\n\n## Loading module asynchronously\n\n`Hunspell-asm` relies on wasm binary of hunspell, which need to be initialized first.\n\n```js\nimport { loadModule } from 'hunspell-asm';\n\nconst hunspellFactory = await loadModule();\n```\n\n`loadModule` loads wasm binary, initialize it, and returns factory function to create instance of hunspell.\n\n```js\nloadModule({timeout?: number, environment?: ENVIRONMENT}): Promise<HunspellFactory>\n```\n\nIt allows to specify timeout to wait until wasm binary compliation & load. By default `hunspell-asm` tries to detect running environment, but for some cases (i.e `electron`) it is possible to override.\n\n## Mounting files\n\nWasm binary uses different memory spaces allocated for its own and cannot access plain javascript object / or files directly. `HunspellFactory` provides few interfaces to interop physical file, or file contents into hunspell.\n\n- `mountDirectory(dirPath: string): string` : (node.js only) Mount physical path. Once directory is mounted hunspell can read all files under mounted path. Returns `virtual` path to mounted path.\n- `mountBuffer(contents: ArrayBufferView, fileName?: string): string` : Mount contents of file. Environment like browser which doesn't have access to filesystem can use this interface to create each file into memory.\n- `unmount(mountedFilePath: string)` : Unmount path if it's exists in memory. If it's bufferFile created by `mountBuffer`, unmount will remove those file object in wasm memory as well.\n\nAll of `virtual` paths for mounted filesystem uses unix separator regardless of platform.\n\n## Creating spellchecker\n\nOnce you mounted dic / aff files you can create hunspell spellchecker instance via `HunspellFactory::create`. Each path for files are mounted path and should not be actual path or server endpoint.\n\n```js\ncreate(affPath: string, dictPath: string): Hunspell\n```\n\n`Hunspell` exposes minimal interfaces to spellchecker.\n\n- `spell(word: string): boolean` : Check spelling for word. False for misspelled, True otherwise.\n- `suggest(word: string): Array<string>` : Get suggestion list for misspelled word. Empty if word is not misspelled or no suggestions.\n- `dispose(): void` : Destroy current instance of hunspell. It is important to note created instance of hunspell will not be destroyed automatically.\n\nThere are simple [examples](https://github.com/kwonoj/hunspell-asm/tree/e0e421fda667fb0d4888a4e0b21877e95540c29c/examples) for each environments using different apis. In each example directory do `npm install && npm start`.\n\n## Adding words to dictionary in runtime\n\nHunspell exposes few interfaces allow to add words, or dictionaries in existing dictionary in runtime. This is **runtime** behavior, so it doesn't persist over once instance is disposed.\n\n- `addWord(word: string): void` : add single word to current dictionary.\n- `removeWord(word: string): void` : remove single word from current dictionary.\n- `addWordWithAffix(word: string, affix: string): void`: add word with example word having affix flag to be applied. Second param `affix` is example word, should exists in current dictionary with its own affix flag. Newly added word will have same affix rule as example word.\n- `addDictionary(dictPath): boolean` : Load addtional dictionary into existing hunspell instance. This cannot load additional affi\nx. If function returns false, it means internal slot hunspell manages are full and can't add additional dictionaries.\n\n## Things to note\n\n- Ensure all inputs (aff, dic, word for spell / suggest) are UTF-8 encoded correctly. While hunspell itself supports other encodings, all surrounding interfaces passing buffers are plain javascript doesn't detect / converts encodings automatically.\n\n# Building / Testing\n\nFew npm scripts are supported for build / test code.\n\n- `build`: Transpiles code to ES5 commonjs to `dist`.\n- `test`: Run `hunspell` / `hunspell-asm` test both. Does not require `build` before execute test.\n- `test:hunspell`: Run integration test for actual hunspell wasm binary, using [hunspell's test case](https://github.com/hunspell/hunspell/tree/97d7d559f621176685695fbd51e5d8d3f9e005e3/tests) as-is.\n- `test:hunspell-asm`: Run unit test against `hunspell-asm` interface\n- `lint`: Run lint over all codebases\n- `lint:staged`: Run lint only for staged changes. This'll be executed automatically with precommit hook.\n- `commit`: Commit wizard to write commit message\n\n# License\n\n- Hunspell: [original license](https://github.com/hunspell/hunspell/blob/master/license.hunspell)\n- Hunspell-asm: [MIT](https://github.com/kwonoj/hunspell-asm/blob/master/LICENSE)\n","readmeFilename":"README.md","gitHead":"b99f550233c6ba3eafb0904c4dc117850b83d29c","_id":"hunspell-asm@2.0.0-beta.asm.3","_npmVersion":"6.5.0","_nodeVersion":"11.8.0","_npmUser":{"name":"kwonoj","email":"kwon.ohjoong@gmail.com"},"dist":{"integrity":"sha512-ZeAgmBRdmMeMp7pM9jTsnx7+7DSVR/k34r3cQapXAFexRiBfrDIHEzC6g4dQt7WX6eB0vQlXhvE/HmnhQqRNiA==","shasum":"2d56692d3fe470e88cb045cac28b3d12bf14a4fd","tarball":"https://registry.npmjs.org/hunspell-asm/-/hunspell-asm-2.0.0-beta.asm.3.tgz","fileCount":103,"unpackedSize":3898505,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcUepGCRA9TVsSAnZWagAAEsoP/2w1f0678BOZZhU8ANJb\nfErWX2+TRmUihoJW83OOXYYe1y4N0nJk9jtiCQJJnzRzIBDOq/0/Q5duGR8L\nXyXMsDHroKN/0S5mNa7YDQO8WcU0iJH/QHnXUh3mev4d53C29mWvuuVZl0ya\nq7dWRXuZ3WGDuIARbbwsD5eqo1ku4WKXS0DtuMTKalNBvZg2g3+78uYxIBQG\npx2Z91zoda+Z457PUi5Ul8XT8M3PN8dy3eYZwvuc1UFmprbpDGvtP6r2MwZA\nbefWfn6wvXthmV/vQaIqSMXDr7/pxQq3rxW7wosT3yCvHBmyLvsVkeq81td1\nMr+Jh5MLQnz/feyUA8uf/kL4fRsFH4ArZ0FTt5X/5+vrIfmEPya71HXnvYti\n9+59spZNqvcQ3rCitedxN/AYtZMMrHqEO/HP6OfrWPA8SlTs9btpVDtcKMlp\n8kCWxP4jNehDlAO9nefyu+FlzVyGXTMEG++z2yD2sAvYLKYNVu5BhR57MCna\n6TsroiepUvQ5YjH5kvmdWO9i1dGxUgeaq6Fp0odIHnwXKuUx0CXBINJKarq3\nvnMOJUGrGyQjY0nea8rc4iTevpk0dhwGRepnHFw5yAoGVIzKbPeXGTmkD2F6\n7pCSq3xLqGytLkTnMyTbBdsFOixTF0fVudY54w9fixiCG2lTAMUVCXEMUN4K\nTL4+\r\n=EjFK\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC9cRDPJ1dG9YYZ8kMvvEYYCdSUcUkYs/J5OkM3rRwiHwIhAKB+4J4TH0EvOyKfGHS5EbwxiRt/+FM/JVvxU1zeXcAg"}]},"maintainers":[{"name":"kwonoj","email":"kwon.ohjoong@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hunspell-asm_2.0.0-beta.asm.3_1548872262140_0.11381188251913965"},"_hasShrinkwrap":false},"2.0.0-beta.8":{"name":"hunspell-asm","version":"2.0.0-beta.8","description":"WebAssembly based Javascript bindings for hunspell spellchecker","main":"./dist/cjs/index.js","module":"./dist/esm/index.js","types":"./dist/types/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"},"hunspell-version":"5dee226-190129"},"lint-staged":{"*.ts":["prettier --write --single-quote --print-width 120 --jsx-bracket-same-line true --ignore-path ./src/lib/*.js","tslint --fix","git add"]},"scripts":{"prepare":"node -r ts-node/register bootstrap.ts","prepublishOnly":"npm-run-all build:clean build build:lib test","test:hunspell":"jest --config jest-hunspell.json","test:hunspell-asm":"jest --config jest-hunspell-asm.json --coverage","test":"npm-run-all test:*","lint":"tslint src/**/*.ts test/**/*.ts --project tsconfig.json","lint:staged":"lint-staged","build":"tsc -b --verbose ./src/tsconfig.cjs.json ./src/tsconfig.esm.json ./src/tsconfig.types.json ./spec/tsconfig.json","build:clean":"shx rm -rf ./dist","build:lib":"shx cp -r ./src/lib ./dist/cjs && shx cp -r ./src/lib ./dist/esm","commit":"git-cz -S","changelog":"conventional-changelog -p angular -i CHANGELOG.md -s"},"repository":{"type":"git","url":"git+https://github.com/kwonoj/hunspell-asm.git"},"author":{"name":"OJ Kwon","email":"kwon.ohjoong@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/kwonoj/hunspell-asm/issues"},"keywords":["WebAssembly","Wasm","Spellchecker","Hunspell","Language"],"homepage":"https://github.com/kwonoj/hunspell-asm#readme","devDependencies":{"@commitlint/cli":"^7.4.0","@commitlint/config-angular":"^7.3.1","@types/chai":"^4.1.7","@types/jest":"^23.3.13","@types/lodash":"^4.14.120","@types/node":"^10.12.19","@types/shelljs":"^0.8.2","chai":"^4.2.0","commitizen":"^3.0.5","conventional-changelog-cli":"^2.0.11","husky":"^1.3.1","jest":"^23.6.0","jest-spin-reporter":"^1.0.2","lint-staged":"^8.1.1","lodash":"^4.17.11","npm-run-all":"^4.1.5","prettier":"^1.16.1","rxjs":"^6.4.0","shelljs":"^0.8.3","shx":"^0.3.2","ts-jest":"^23.10.5","ts-node":"^7.0.1","tslint":"^5.12.1","tslint-no-unused-expression-chai":"0.1.4","typescript":"^3.2.4"},"dependencies":{"emscripten-wasm-loader":"^2.2.3","nanoid":"^2.0.1","tslib":"^1.9.3","unixify":"^1.0.0"},"engines":{"node":">=4"},"husky":{"hooks":{"commit-msg":"commitlint -e","pre-commit":"lint-staged","pre-push":"npm-run-all build test"}},"gitHead":"c0b6282971fec0a2eb24a561ad45c45ff13f6f0a","readme":"[![Build Status](https://travis-ci.org/kwonoj/hunspell-asm.svg?branch=master)](https://travis-ci.org/kwonoj/hunspell-asm)\n[![Build status](https://ci.appveyor.com/api/projects/status/7s0r599r9h6r682g?svg=true)](https://ci.appveyor.com/project/kwonoj/hunspell-asm)\n[![codecov](https://codecov.io/gh/kwonoj/hunspell-asm/branch/master/graph/badge.svg)](https://codecov.io/gh/kwonoj/hunspell-asm)\n[![npm](https://img.shields.io/npm/v/hunspell-asm.svg)](https://www.npmjs.com/package/hunspell-asm)\n[![node](https://img.shields.io/badge/node-=>8.0-blue.svg?style=flat)](https://www.npmjs.com/package/hunspell-asm)\n\n# Hunspell-asm\n\n`Hunspell-asm` is isomorphic javascript binding to [hunspell](https://github.com/hunspell/hunspell) spellchecker based on WebAssembly hunspell binary. This module aims to provide thin, lightweight interface to hunspell without requiring native modules.\n\n# Install\n\n```sh\nnpm install hunspell-asm\n```\n\n# Usage\n\n## Loading module asynchronously\n\n`Hunspell-asm` relies on wasm binary of hunspell, which need to be initialized first.\n\n```js\nimport { loadModule } from 'hunspell-asm';\n\nconst hunspellFactory = await loadModule();\n```\n\n`loadModule` loads wasm binary, initialize it, and returns factory function to create instance of hunspell.\n\n```js\nloadModule({timeout?: number, environment?: ENVIRONMENT}): Promise<HunspellFactory>\n```\n\nIt allows to specify timeout to wait until wasm binary compliation & load. By default `hunspell-asm` tries to detect running environment, but for some cases (i.e `electron`) it is possible to override.\n\n## Mounting files\n\nWasm binary uses different memory spaces allocated for its own and cannot access plain javascript object / or files directly. `HunspellFactory` provides few interfaces to interop physical file, or file contents into hunspell.\n\n- `mountDirectory(dirPath: string): string` : (node.js only) Mount physical path. Once directory is mounted hunspell can read all files under mounted path. Returns `virtual` path to mounted path.\n- `mountBuffer(contents: ArrayBufferView, fileName?: string): string` : Mount contents of file. Environment like browser which doesn't have access to filesystem can use this interface to create each file into memory.\n- `unmount(mountedFilePath: string)` : Unmount path if it's exists in memory. If it's bufferFile created by `mountBuffer`, unmount will remove those file object in wasm memory as well.\n\nAll of `virtual` paths for mounted filesystem uses unix separator regardless of platform.\n\n## Creating spellchecker\n\nOnce you mounted dic / aff files you can create hunspell spellchecker instance via `HunspellFactory::create`. Each path for files are mounted path and should not be actual path or server endpoint.\n\n```js\ncreate(affPath: string, dictPath: string): Hunspell\n```\n\n`Hunspell` exposes minimal interfaces to spellchecker.\n\n- `spell(word: string): boolean` : Check spelling for word. False for misspelled, True otherwise.\n- `suggest(word: string): Array<string>` : Get suggestion list for misspelled word. Empty if word is not misspelled or no suggestions.\n- `dispose(): void` : Destroy current instance of hunspell. It is important to note created instance of hunspell will not be destroyed automatically.\n\nThere are simple [examples](https://github.com/kwonoj/hunspell-asm/tree/e0e421fda667fb0d4888a4e0b21877e95540c29c/examples) for each environments using different apis. In each example directory do `npm install && npm start`.\n\n## Adding words to dictionary in runtime\n\nHunspell exposes few interfaces allow to add words, or dictionaries in existing dictionary in runtime. This is **runtime** behavior, so it doesn't persist over once instance is disposed.\n\n- `addWord(word: string): void` : add single word to current dictionary.\n- `removeWord(word: string): void` : remove single word from current dictionary.\n- `addWordWithAffix(word: string, affix: string): void`: add word with example word having affix flag to be applied. Second param `affix` is example word, should exists in current dictionary with its own affix flag. Newly added word will have same affix rule as example word.\n- `addDictionary(dictPath): boolean` : Load addtional dictionary into existing hunspell instance. This cannot load additional affi\nx. If function returns false, it means internal slot hunspell manages are full and can't add additional dictionaries.\n\n## Things to note\n\n- Ensure all inputs (aff, dic, word for spell / suggest) are UTF-8 encoded correctly. While hunspell itself supports other encodings, all surrounding interfaces passing buffers are plain javascript doesn't detect / converts encodings automatically.\n\n# Building / Testing\n\nFew npm scripts are supported for build / test code.\n\n- `build`: Transpiles code to ES5 commonjs to `dist`.\n- `test`: Run `hunspell` / `hunspell-asm` test both. Does not require `build` before execute test.\n- `test:hunspell`: Run integration test for actual hunspell wasm binary, using [hunspell's test case](https://github.com/hunspell/hunspell/tree/97d7d559f621176685695fbd51e5d8d3f9e005e3/tests) as-is.\n- `test:hunspell-asm`: Run unit test against `hunspell-asm` interface\n- `lint`: Run lint over all codebases\n- `lint:staged`: Run lint only for staged changes. This'll be executed automatically with precommit hook.\n- `commit`: Commit wizard to write commit message\n\n# License\n\n- Hunspell: [original license](https://github.com/hunspell/hunspell/blob/master/license.hunspell)\n- Hunspell-asm: [MIT](https://github.com/kwonoj/hunspell-asm/blob/master/LICENSE)\n","readmeFilename":"README.md","_id":"hunspell-asm@2.0.0-beta.8","_npmVersion":"6.5.0","_nodeVersion":"11.8.0","_npmUser":{"name":"kwonoj","email":"kwon.ohjoong@gmail.com"},"dist":{"integrity":"sha512-hlqF453d0jl7SucYX5zGffoxFezmfOD4Ns4TyAhIBXC4hnQPhEsMqpAp3epUaEHdW/6cIpjc9Yc+vCfk7JC2/A==","shasum":"94aa72878b070377b669f7ba1db02b8fc59f2e93","tarball":"https://registry.npmjs.org/hunspell-asm/-/hunspell-asm-2.0.0-beta.8.tgz","fileCount":103,"unpackedSize":2812808,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcUkHRCRA9TVsSAnZWagAA7NoQAJ8wwbcC+YejitwNungO\ntxHK0efGpz20bzECIrHcKLev5k1lu0cx0mc7KjPxpE/diOx0YcAAyh91ZGAV\n+boBXSR7YP3YwBx5MI9nMfegAn/IOhSuD/Y94IAyHhquEYqYNG/2vWe+wXlM\nRyR0dgA9vSHNghSBOo/QD+zxFytQArePm74Z8jMW06RV+z5EY4pbyAUpq6df\nUzAhlpn+OUkIcH846fwBIuT3Y2lrqw8WRci/WFyQ/OPa5apOBhVokrghXTO+\nnddZTsG+b5YVBq5aGSfj5OYMyUs8tKGemwdniMU5JzGprOk0P7QKHAY+6yjX\nPyqRLCWguTzCb4EF5HX13W/3VeMOgQ6JSCctLS/lCUXdiVeeYpnm0dBsRRr0\nC4YiLxg1hlCuCzxc4UMD576HnMPDgdF+absEVHHUJka5zYZdmfPt6vglolm3\n6GtogZbH/d3tu9DcyUxf0wLs3zUoQOlj9xkosFusRJuvHimcfhTVsLpShpLq\nDSuYVbblwK1xfHcH6qYR3NKDie8Cnv37XrAT3XIaqoSfOmBaQbrjBhQA7vJb\njmTaMk/kzLoFyVT4tZfbr5PuR35rZ7C1V9e4aXWWqhh4KdVHifwjpw3bxEFq\ndSoCHFQhJVQ/6n7SLN0RxgNZAIaFewM4msHMN1odjJC1cT8sflXbrmOo/jDj\nw4Jt\r\n=CnLo\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCcrQx5I9yYd3hcbXuMfBKvoERgDG07xQOaa0+21QtgegIgEJr9aO1d6+ADTGq2lrc2OU4iywm1e2YAq3l6TdFnTcs="}]},"maintainers":[{"name":"kwonoj","email":"kwon.ohjoong@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hunspell-asm_2.0.0-beta.8_1548894672387_0.12742503456958976"},"_hasShrinkwrap":false},"2.0.0-beta.asm.4":{"name":"hunspell-asm","version":"2.0.0-beta.asm.4","description":"WebAssembly based Javascript bindings for hunspell spellchecker","main":"./dist/cjs/index.js","module":"./dist/esm/index.js","types":"./dist/types/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"},"hunspell-version":"5dee226-190129"},"lint-staged":{"*.ts":["prettier --write --single-quote --print-width 120 --jsx-bracket-same-line true --ignore-path ./src/lib/*.js","tslint --fix","git add"]},"scripts":{"prepare":"node -r ts-node/register bootstrap.ts","prepublishOnly":"npm-run-all build:clean build build:lib test","test:hunspell":"jest --config jest-hunspell.json","test:hunspell-asm":"jest --config jest-hunspell-asm.json --coverage","test":"npm-run-all test:*","lint":"tslint src/**/*.ts test/**/*.ts --project tsconfig.json","lint:staged":"lint-staged","build":"tsc -b --verbose ./src/tsconfig.cjs.json ./src/tsconfig.esm.json ./src/tsconfig.types.json ./spec/tsconfig.json","build:clean":"shx rm -rf ./dist","build:lib":"shx cp -r ./src/lib ./dist/cjs && shx cp -r ./src/lib ./dist/esm","commit":"git-cz -S","changelog":"conventional-changelog -p angular -i CHANGELOG.md -s"},"repository":{"type":"git","url":"git+https://github.com/kwonoj/hunspell-asm.git"},"author":{"name":"OJ Kwon","email":"kwon.ohjoong@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/kwonoj/hunspell-asm/issues"},"keywords":["WebAssembly","Wasm","Spellchecker","Hunspell","Language"],"homepage":"https://github.com/kwonoj/hunspell-asm#readme","devDependencies":{"@commitlint/cli":"^7.4.0","@commitlint/config-angular":"^7.3.1","@types/chai":"^4.1.7","@types/jest":"^23.3.13","@types/lodash":"^4.14.120","@types/node":"^10.12.19","@types/shelljs":"^0.8.2","chai":"^4.2.0","commitizen":"^3.0.5","conventional-changelog-cli":"^2.0.11","husky":"^1.3.1","jest":"^23.6.0","jest-spin-reporter":"^1.0.2","lint-staged":"^8.1.1","lodash":"^4.17.11","npm-run-all":"^4.1.5","prettier":"^1.16.1","rxjs":"^6.4.0","shelljs":"^0.8.3","shx":"^0.3.2","ts-jest":"^23.10.5","ts-node":"^7.0.1","tslint":"^5.12.1","tslint-no-unused-expression-chai":"0.1.4","typescript":"^3.2.4"},"dependencies":{"emscripten-wasm-loader":"^2.2.3","nanoid":"^2.0.1","tslib":"^1.9.3","unixify":"^1.0.0"},"engines":{"node":">=4"},"husky":{"hooks":{"commit-msg":"commitlint -e","pre-commit":"lint-staged","pre-push":"npm-run-all build test"}},"readme":"[![Build Status](https://travis-ci.org/kwonoj/hunspell-asm.svg?branch=master)](https://travis-ci.org/kwonoj/hunspell-asm)\n[![Build status](https://ci.appveyor.com/api/projects/status/7s0r599r9h6r682g?svg=true)](https://ci.appveyor.com/project/kwonoj/hunspell-asm)\n[![codecov](https://codecov.io/gh/kwonoj/hunspell-asm/branch/master/graph/badge.svg)](https://codecov.io/gh/kwonoj/hunspell-asm)\n[![npm](https://img.shields.io/npm/v/hunspell-asm.svg)](https://www.npmjs.com/package/hunspell-asm)\n[![node](https://img.shields.io/badge/node-=>8.0-blue.svg?style=flat)](https://www.npmjs.com/package/hunspell-asm)\n\n# Hunspell-asm\n\n`Hunspell-asm` is isomorphic javascript binding to [hunspell](https://github.com/hunspell/hunspell) spellchecker based on WebAssembly hunspell binary. This module aims to provide thin, lightweight interface to hunspell without requiring native modules.\n\n# Install\n\n```sh\nnpm install hunspell-asm\n```\n\n# Usage\n\n## Loading module asynchronously\n\n`Hunspell-asm` relies on wasm binary of hunspell, which need to be initialized first.\n\n```js\nimport { loadModule } from 'hunspell-asm';\n\nconst hunspellFactory = await loadModule();\n```\n\n`loadModule` loads wasm binary, initialize it, and returns factory function to create instance of hunspell.\n\n```js\nloadModule({timeout?: number, environment?: ENVIRONMENT}): Promise<HunspellFactory>\n```\n\nIt allows to specify timeout to wait until wasm binary compliation & load. By default `hunspell-asm` tries to detect running environment, but for some cases (i.e `electron`) it is possible to override.\n\n## Mounting files\n\nWasm binary uses different memory spaces allocated for its own and cannot access plain javascript object / or files directly. `HunspellFactory` provides few interfaces to interop physical file, or file contents into hunspell.\n\n- `mountDirectory(dirPath: string): string` : (node.js only) Mount physical path. Once directory is mounted hunspell can read all files under mounted path. Returns `virtual` path to mounted path.\n- `mountBuffer(contents: ArrayBufferView, fileName?: string): string` : Mount contents of file. Environment like browser which doesn't have access to filesystem can use this interface to create each file into memory.\n- `unmount(mountedFilePath: string)` : Unmount path if it's exists in memory. If it's bufferFile created by `mountBuffer`, unmount will remove those file object in wasm memory as well.\n\nAll of `virtual` paths for mounted filesystem uses unix separator regardless of platform.\n\n## Creating spellchecker\n\nOnce you mounted dic / aff files you can create hunspell spellchecker instance via `HunspellFactory::create`. Each path for files are mounted path and should not be actual path or server endpoint.\n\n```js\ncreate(affPath: string, dictPath: string): Hunspell\n```\n\n`Hunspell` exposes minimal interfaces to spellchecker.\n\n- `spell(word: string): boolean` : Check spelling for word. False for misspelled, True otherwise.\n- `suggest(word: string): Array<string>` : Get suggestion list for misspelled word. Empty if word is not misspelled or no suggestions.\n- `dispose(): void` : Destroy current instance of hunspell. It is important to note created instance of hunspell will not be destroyed automatically.\n\nThere are simple [examples](https://github.com/kwonoj/hunspell-asm/tree/e0e421fda667fb0d4888a4e0b21877e95540c29c/examples) for each environments using different apis. In each example directory do `npm install && npm start`.\n\n## Adding words to dictionary in runtime\n\nHunspell exposes few interfaces allow to add words, or dictionaries in existing dictionary in runtime. This is **runtime** behavior, so it doesn't persist over once instance is disposed.\n\n- `addWord(word: string): void` : add single word to current dictionary.\n- `removeWord(word: string): void` : remove single word from current dictionary.\n- `addWordWithAffix(word: string, affix: string): void`: add word with example word having affix flag to be applied. Second param `affix` is example word, should exists in current dictionary with its own affix flag. Newly added word will have same affix rule as example word.\n- `addDictionary(dictPath): boolean` : Load addtional dictionary into existing hunspell instance. This cannot load additional affi\nx. If function returns false, it means internal slot hunspell manages are full and can't add additional dictionaries.\n\n## Things to note\n\n- Ensure all inputs (aff, dic, word for spell / suggest) are UTF-8 encoded correctly. While hunspell itself supports other encodings, all surrounding interfaces passing buffers are plain javascript doesn't detect / converts encodings automatically.\n\n# Building / Testing\n\nFew npm scripts are supported for build / test code.\n\n- `build`: Transpiles code to ES5 commonjs to `dist`.\n- `test`: Run `hunspell` / `hunspell-asm` test both. Does not require `build` before execute test.\n- `test:hunspell`: Run integration test for actual hunspell wasm binary, using [hunspell's test case](https://github.com/hunspell/hunspell/tree/97d7d559f621176685695fbd51e5d8d3f9e005e3/tests) as-is.\n- `test:hunspell-asm`: Run unit test against `hunspell-asm` interface\n- `lint`: Run lint over all codebases\n- `lint:staged`: Run lint only for staged changes. This'll be executed automatically with precommit hook.\n- `commit`: Commit wizard to write commit message\n\n# License\n\n- Hunspell: [original license](https://github.com/hunspell/hunspell/blob/master/license.hunspell)\n- Hunspell-asm: [MIT](https://github.com/kwonoj/hunspell-asm/blob/master/LICENSE)\n","readmeFilename":"README.md","gitHead":"c234d67e2e339b221978d71aedbe398caf06267b","_id":"hunspell-asm@2.0.0-beta.asm.4","_npmVersion":"6.5.0","_nodeVersion":"11.8.0","_npmUser":{"name":"kwonoj","email":"kwon.ohjoong@gmail.com"},"dist":{"integrity":"sha512-xQt7rdkPUdXAKo3ZsigwN4T3cQd6F67HxmasWiB4nP20zkGOFR1PXUnr7DFWK9mZ1o/P2jOmHhGPMFL5bgeLXw==","shasum":"3edfcc4f1045a2340848b3467b27b182e11cf670","tarball":"https://registry.npmjs.org/hunspell-asm/-/hunspell-asm-2.0.0-beta.asm.4.tgz","fileCount":103,"unpackedSize":3897897,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcUkLpCRA9TVsSAnZWagAABbcP/0dYbfph2PrFwvNxIZDS\nfdXqcy4sxyiOo/iGgeF9wc0FaQrLzMufdqBaNtYKzYJPhdvjrK4ahGgqazM7\nm3ryVvhGBJHRyb9hM6Htj0nfhOhba9C360lDTFBtJvAqjdW9wtk9xKssauT2\n2fNb7RerMOa/joBPmySA4RUTmYdyNvS+lqdbVqifbK2meBHsVs8t13asASL+\n3GElt4WrvUyfjBPkWzqj05oRLhg5sjTehiw9btvQFy0j5bsj7t0qStBsNjyZ\nYoHrP/7XppkNyhfP395jVQe75SdsePm2+05ORLK5qHghNOhm48BhnAMF2kYV\n5WJddKqzYIX3JWlMnPhr9Xu5fMadJ19wkOYL9tVEHt5m8+Shw9yJNPWEg+9v\nsM6nzO5IPl6PO7UfWfNrE5wea05rM6e+nrWWpbtPIkcRt7VMBurL10IqQwrO\nkPs+s3STkl3vd381FUN0MZMCZUbFFlByZmdTCsRm01tFert6e5P5ciwd8vya\nxtB6dsBEjcpcc+YxgL4Ggy8IuAJcRO9cU+5xCNFHuDyYv4ICtT8l+vRGVfRg\nsyDa3XskksQgD7J2C/74umTh1jUHPgB/d9ytySnB49MjgRZRMqU1gZTOFhXt\n4lCafUP+ZkqhkuI1cON0yC6oalLn9msFQxL39wJNV+yIUZ75Ba1z4KH5zW56\nViNg\r\n=W+UX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBxp7tY1sg3b/cDP2tSqWzgdxafCtAQGvX3y/NM9UBP9AiAMi2LtYkyJTqHGuycQYhNCEVztZCoX/8/mqtmgw0Y63g=="}]},"maintainers":[{"name":"kwonoj","email":"kwon.ohjoong@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hunspell-asm_2.0.0-beta.asm.4_1548894952686_0.02341884392273963"},"_hasShrinkwrap":false},"2.0.0-asm.5":{"name":"hunspell-asm","version":"2.0.0-asm.5","description":"WebAssembly based Javascript bindings for hunspell spellchecker","main":"./dist/cjs/index.js","module":"./dist/esm/index.js","types":"./dist/types/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"},"hunspell-version":"5dee226-190129"},"lint-staged":{"*.ts":["prettier --write --single-quote --print-width 120 --jsx-bracket-same-line true --ignore-path ./src/lib/*.js","tslint --fix","git add"]},"scripts":{"prepare":"node -r ts-node/register bootstrap.ts","prepublishOnly":"npm-run-all build:clean build build:lib test","test:hunspell":"jest --config jest-hunspell.json","test:hunspell-asm":"jest --config jest-hunspell-asm.json --coverage","test":"npm-run-all test:*","lint":"tslint src/**/*.ts test/**/*.ts --project tsconfig.json","lint:staged":"lint-staged","build":"tsc -b --verbose ./src/tsconfig.cjs.json ./src/tsconfig.esm.json ./src/tsconfig.types.json ./spec/tsconfig.json","build:clean":"shx rm -rf ./dist","build:lib":"shx cp -r ./src/lib ./dist/cjs && shx cp -r ./src/lib ./dist/esm","commit":"git-cz -S","changelog":"conventional-changelog -p angular -i CHANGELOG.md -s"},"repository":{"type":"git","url":"git+https://github.com/kwonoj/hunspell-asm.git"},"author":{"name":"OJ Kwon","email":"kwon.ohjoong@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/kwonoj/hunspell-asm/issues"},"keywords":["WebAssembly","Wasm","Spellchecker","Hunspell","Language"],"homepage":"https://github.com/kwonoj/hunspell-asm#readme","devDependencies":{"@commitlint/cli":"^7.4.0","@commitlint/config-angular":"^7.3.1","@types/chai":"^4.1.7","@types/jest":"^23.3.13","@types/lodash":"^4.14.120","@types/node":"^10.12.19","@types/shelljs":"^0.8.2","chai":"^4.2.0","commitizen":"^3.0.5","conventional-changelog-cli":"^2.0.11","husky":"^1.3.1","jest":"^23.6.0","jest-spin-reporter":"^1.0.2","lint-staged":"^8.1.1","lodash":"^4.17.11","npm-run-all":"^4.1.5","prettier":"^1.16.1","rxjs":"^6.4.0","shelljs":"^0.8.3","shx":"^0.3.2","ts-jest":"^23.10.5","ts-node":"^7.0.1","tslint":"^5.12.1","tslint-no-unused-expression-chai":"0.1.4","typescript":"^3.2.4"},"dependencies":{"emscripten-wasm-loader":"^2.2.3","nanoid":"^2.0.1","tslib":"^1.9.3","unixify":"^1.0.0"},"engines":{"node":">=4"},"husky":{"hooks":{"commit-msg":"commitlint -e","pre-commit":"lint-staged","pre-push":"npm-run-all build test"}},"readme":"[![Build Status](https://travis-ci.org/kwonoj/hunspell-asm.svg?branch=master)](https://travis-ci.org/kwonoj/hunspell-asm)\n[![Build status](https://ci.appveyor.com/api/projects/status/7s0r599r9h6r682g?svg=true)](https://ci.appveyor.com/project/kwonoj/hunspell-asm)\n[![codecov](https://codecov.io/gh/kwonoj/hunspell-asm/branch/master/graph/badge.svg)](https://codecov.io/gh/kwonoj/hunspell-asm)\n[![npm](https://img.shields.io/npm/v/hunspell-asm.svg)](https://www.npmjs.com/package/hunspell-asm)\n[![node](https://img.shields.io/badge/node-=>8.0-blue.svg?style=flat)](https://www.npmjs.com/package/hunspell-asm)\n\n# Hunspell-asm\n\n`Hunspell-asm` is isomorphic javascript binding to [hunspell](https://github.com/hunspell/hunspell) spellchecker based on WebAssembly hunspell binary. This module aims to provide thin, lightweight interface to hunspell without requiring native modules.\n\n# Install\n\n```sh\nnpm install hunspell-asm\n```\n\n# Usage\n\n## Loading module asynchronously\n\n`Hunspell-asm` relies on wasm binary of hunspell, which need to be initialized first.\n\n```js\nimport { loadModule } from 'hunspell-asm';\n\nconst hunspellFactory = await loadModule();\n```\n\n`loadModule` loads wasm binary, initialize it, and returns factory function to create instance of hunspell.\n\n```js\nloadModule({timeout?: number, environment?: ENVIRONMENT}): Promise<HunspellFactory>\n```\n\nIt allows to specify timeout to wait until wasm binary compliation & load. By default `hunspell-asm` tries to detect running environment, but for some cases (i.e `electron`) it is possible to override.\n\n## Mounting files\n\nWasm binary uses different memory spaces allocated for its own and cannot access plain javascript object / or files directly. `HunspellFactory` provides few interfaces to interop physical file, or file contents into hunspell.\n\n- `mountDirectory(dirPath: string): string` : (node.js only) Mount physical path. Once directory is mounted hunspell can read all files under mounted path. Returns `virtual` path to mounted path.\n- `mountBuffer(contents: ArrayBufferView, fileName?: string): string` : Mount contents of file. Environment like browser which doesn't have access to filesystem can use this interface to create each file into memory.\n- `unmount(mountedFilePath: string)` : Unmount path if it's exists in memory. If it's bufferFile created by `mountBuffer`, unmount will remove those file object in wasm memory as well.\n\nAll of `virtual` paths for mounted filesystem uses unix separator regardless of platform.\n\n## Creating spellchecker\n\nOnce you mounted dic / aff files you can create hunspell spellchecker instance via `HunspellFactory::create`. Each path for files are mounted path and should not be actual path or server endpoint.\n\n```js\ncreate(affPath: string, dictPath: string): Hunspell\n```\n\n`Hunspell` exposes minimal interfaces to spellchecker.\n\n- `spell(word: string): boolean` : Check spelling for word. False for misspelled, True otherwise.\n- `suggest(word: string): Array<string>` : Get suggestion list for misspelled word. Empty if word is not misspelled or no suggestions.\n- `dispose(): void` : Destroy current instance of hunspell. It is important to note created instance of hunspell will not be destroyed automatically.\n\nThere are simple [examples](https://github.com/kwonoj/hunspell-asm/tree/e0e421fda667fb0d4888a4e0b21877e95540c29c/examples) for each environments using different apis. In each example directory do `npm install && npm start`.\n\n## Adding words to dictionary in runtime\n\nHunspell exposes few interfaces allow to add words, or dictionaries in existing dictionary in runtime. This is **runtime** behavior, so it doesn't persist over once instance is disposed.\n\n- `addWord(word: string): void` : add single word to current dictionary.\n- `removeWord(word: string): void` : remove single word from current dictionary.\n- `addWordWithAffix(word: string, affix: string): void`: add word with example word having affix flag to be applied. Second param `affix` is example word, should exists in current dictionary with its own affix flag. Newly added word will have same affix rule as example word.\n- `addDictionary(dictPath): boolean` : Load addtional dictionary into existing hunspell instance. This cannot load additional affi\nx. If function returns false, it means internal slot hunspell manages are full and can't add additional dictionaries.\n\n## Things to note\n\n- Ensure all inputs (aff, dic, word for spell / suggest) are UTF-8 encoded correctly. While hunspell itself supports other encodings, all surrounding interfaces passing buffers are plain javascript doesn't detect / converts encodings automatically.\n\n# Building / Testing\n\nFew npm scripts are supported for build / test code.\n\n- `build`: Transpiles code to ES5 commonjs to `dist`.\n- `test`: Run `hunspell` / `hunspell-asm` test both. Does not require `build` before execute test.\n- `test:hunspell`: Run integration test for actual hunspell wasm binary, using [hunspell's test case](https://github.com/hunspell/hunspell/tree/97d7d559f621176685695fbd51e5d8d3f9e005e3/tests) as-is.\n- `test:hunspell-asm`: Run unit test against `hunspell-asm` interface\n- `lint`: Run lint over all codebases\n- `lint:staged`: Run lint only for staged changes. This'll be executed automatically with precommit hook.\n- `commit`: Commit wizard to write commit message\n\n# License\n\n- Hunspell: [original license](https://github.com/hunspell/hunspell/blob/master/license.hunspell)\n- Hunspell-asm: [MIT](https://github.com/kwonoj/hunspell-asm/blob/master/LICENSE)\n","readmeFilename":"README.md","gitHead":"5d96139a7145b757498b41d672c707847f9c0cd6","_id":"hunspell-asm@2.0.0-asm.5","_npmVersion":"6.5.0","_nodeVersion":"11.9.0","_npmUser":{"name":"kwonoj","email":"kwon.ohjoong@gmail.com"},"dist":{"integrity":"sha512-XsWIOb1dlQCTrW9mT2mAPLlX8LTCcrkt/h7m0Ty8xAzZ1vLuHHyUC/cFmlPK8B3gruQ3aFIu6zpnhVTFU2R5zg==","shasum":"669a72764d5083774edb43d1923fffddc3e339ac","tarball":"https://registry.npmjs.org/hunspell-asm/-/hunspell-asm-2.0.0-asm.5.tgz","fileCount":103,"unpackedSize":3897892,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcVMVqCRA9TVsSAnZWagAAqgUQAJywPhGh7dwOwHzH4HNz\n99I3Q+0zrwEuEg7sO9hix2PHklu9NBF492gOkk7pgIWEKdXxngZm0JAG85l7\nGJEtP0yQ6SUeTnkPbYvJKazQl6ljwOxMynzv6EfDRHYsm+Ujmb8n/bd27tV/\nhF4I51iQXblZONyHh+fryjn/cbSXIUxoGVD/wacB3/Bchc9kwXcERr5vjcNI\n28kaWc9874wSF9fywP0uDuqDqeKUFJ97D3wj0X+r1ozNsw70QI30T7PBMMvb\nj1G4fXt0v/EOfcfGqoE+7iXQk9dNhqsnwIe+qBGs8TrYSnBElfSOgdMMfugr\nYphlhtz3iRwQJiVuLpCROtZbu3L+EQc5OjqSLvjoGxtPxukDtVeil8rdUad0\nqCsJrRYF6lBMj0weM4/xruxAkkCb2Yr1WdV/19BPKflaQbuk292RMYD2Gpn7\nzccXGIpw7LU1sBu4sl6IProHiOkaJH/Mb0tgUNAbedLYWkWtN2XJW/PEspBz\nmll5/z8yNYRogmkOLzZbDRaNweIlKNoc/2AhVgkHlhlXL6twyzkWfghJalm2\n3iXczVYtuW68sqI9dvOEDt5TS0eno8PRYZVoN/ao+Fg+rm+UNtZNSB78zL4Y\ngchUnQ+pFYpjzWVlFadXtH9whX+WiOCqEKABaLHNLNIo4Qfpa0Nn0vcj4CSR\nACHV\r\n=+8E7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDX8Obetk1NGU1ENQd6ETdPWQUGbk3iy2qHYXMDgsD56gIgRhE9Jv5ZF5iBH/jKAwUPsvY5m8p2lgN6kOGy+GNZBPA="}]},"maintainers":[{"name":"kwonoj","email":"kwon.ohjoong@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hunspell-asm_2.0.0-asm.5_1549059433933_0.37674594276560813"},"_hasShrinkwrap":false},"2.0.0":{"name":"hunspell-asm","version":"2.0.0","description":"WebAssembly based Javascript bindings for hunspell spellchecker","main":"./dist/cjs/index.js","module":"./dist/esm/index.js","types":"./dist/types/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"},"hunspell-version":"5dee226-190129"},"lint-staged":{"*.ts":["prettier --write --single-quote --print-width 120 --jsx-bracket-same-line true --ignore-path ./src/lib/*.js","tslint --fix","git add"]},"scripts":{"prepare":"node -r ts-node/register bootstrap.ts","prepublishOnly":"npm-run-all build:clean build build:lib test","test:hunspell":"jest --config jest-hunspell.json","test:hunspell-asm":"jest --config jest-hunspell-asm.json --coverage","test":"npm-run-all test:*","lint":"tslint src/**/*.ts test/**/*.ts --project tsconfig.json","lint:staged":"lint-staged","build":"tsc -b --verbose ./src/tsconfig.cjs.json ./src/tsconfig.esm.json ./src/tsconfig.types.json ./spec/tsconfig.json","build:clean":"shx rm -rf ./dist","build:lib":"shx cp -r ./src/lib ./dist/cjs && shx cp -r ./src/lib ./dist/esm","commit":"git-cz -S","changelog":"conventional-changelog -p angular -i CHANGELOG.md -s"},"repository":{"type":"git","url":"git+https://github.com/kwonoj/hunspell-asm.git"},"author":{"name":"OJ Kwon","email":"kwon.ohjoong@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/kwonoj/hunspell-asm/issues"},"keywords":["WebAssembly","Wasm","Spellchecker","Hunspell","Language"],"homepage":"https://github.com/kwonoj/hunspell-asm#readme","devDependencies":{"@babel/core":"^7.3.4","@commitlint/cli":"^7.5.2","@commitlint/config-angular":"^7.5.0","@types/chai":"^4.1.7","@types/jest":"^24.0.11","@types/lodash":"^4.14.123","@types/node":"^11.11.1","@types/shelljs":"^0.8.3","chai":"^4.2.0","commitizen":"^3.0.7","conventional-changelog-cli":"^2.0.12","husky":"^1.3.1","jest":"^24.4.0","jest-spin-reporter":"^1.0.2","lint-staged":"^8.1.5","lodash":"^4.17.11","npm-run-all":"^4.1.5","prettier":"^1.16.4","rxjs":"^6.4.0","shelljs":"^0.8.3","shx":"^0.3.2","ts-jest":"^24.0.0","ts-node":"^8.0.3","tslint":"^5.13.1","tslint-no-unused-expression-chai":"0.1.4","typescript":"^3.3.3333"},"dependencies":{"emscripten-wasm-loader":"^2.2.3","nanoid":"^2.0.1","tslib":"^1.9.3","unixify":"^1.0.0"},"engines":{"node":">=4"},"husky":{"hooks":{"commit-msg":"commitlint -e","pre-commit":"lint-staged","pre-push":"npm-run-all build test"}},"gitHead":"af11a7847b31afd77ad1835613f5e455ed308694","_id":"hunspell-asm@2.0.0","_nodeVersion":"11.11.0","_npmVersion":"6.7.0","dist":{"integrity":"sha512-FMIUBpy+bRREFAvC63RcYEK9U6+FdlEojGSVsvMTpuZ2CekYyUBwEfG4+ExIQOQyEN0U6f1MoVgrFqvgPNSA2g==","shasum":"1b2beb59f9be1a142c80ce7f07a4063e93ec5073","tarball":"https://registry.npmjs.org/hunspell-asm/-/hunspell-asm-2.0.0.tgz","fileCount":103,"unpackedSize":2812985,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJch9b0CRA9TVsSAnZWagAAWq4P+gKAfKYRlcldT8narF0a\n379p7V975+aJHTNUA0kp4SGKKf5JRdHXqAsg+4IfU7hPKKMk2IxE9d6xurHO\nwLVNKmuJ6mdFW2R+xTwRBQ7dXaPSDOlbmwM/8lod2QXBVBwFRA88EmtUpWSg\nRr01BnJFB/ZfDX89725Cv3pCp7KNzNreXeYDBfvF1jWbM7ap82ROFwh1q1lp\nnylYE2R8qLUooOCBmRAQrpx939JXahJlZyXtS3plfrN77hU2ztrJCSNPWdRZ\nUq9Qpt8DTMRjhPQGk7sFQH+Ve+dH499hVwi3veqCfJttu0Zltxp/8Y/tg3Wy\nTOqRNn7lpViYwd8GlZzTfIQ2ySfwCz5yeeCxKk05BgrCGWxTmtP5E8f+GISY\niH/rT7emLpX11QedihKN0EhrOqigaFB6/0tERZCOnT/OvX9F5+9OXnNlnJU6\ntECji2BIdoYKwAJTWZmxxLM2ZtQUCmNKH7YoKuflkt1/ebrUEFG6c6RT64AM\n7A2HgyXRWASxBePlWVc+dvE1yL0LuAYsBgsA25e2RBmBcPq9rUssmOJEiVIb\nYb8w6OiuN8RC8ShBBYwJW1f4h5tcdHjs0Huxig7ABzGUkGxk44Q939sF7AXl\nfvwv/LJeA/7g7dYNzuFV7pDMrW245HeogYgxyuhf0IW8cN5/TDp2eMRhcm7Q\n0JKd\r\n=tenb\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDPwH9LC0NmAa1i4fqY2OXLnJL+wHROWopZlRaZibUOVQIgQ/Y7M46MY+UX8DAWRyyC2oIEWWwcU34AuWA0ooRHYrk="}]},"maintainers":[{"name":"kwonoj","email":"kwon.ohjoong@gmail.com"}],"_npmUser":{"name":"kwonoj","email":"kwon.ohjoong@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hunspell-asm_2.0.0_1552406259454_0.1099674052253754"},"_hasShrinkwrap":false},"3.0.0":{"name":"hunspell-asm","version":"3.0.0","description":"WebAssembly based Javascript bindings for hunspell spellchecker","main":"./dist/cjs/index.js","module":"./dist/esm/index.js","types":"./dist/types/index.d.ts","browser":{"./dist/cjs/lib/node/hunspell.js":"./dist/cjs/lib/browser/hunspell.js","./dist/esm/lib/node/hunspell.js":"./dist/esm/lib/browser/hunspell.js"},"config":{"commitizen":{"path":"cz-conventional-changelog"},"hunspell-version":"9b2c03c-190612"},"lint-staged":{"*.ts":["prettier --write --single-quote --print-width 120 --jsx-bracket-same-line true --ignore-path ./src/lib/*.js","tslint --fix","git add"]},"scripts":{"prepare":"node -r ts-node/register bootstrap.ts","prepublishOnly":"npm-run-all build:clean build build:lib test","test:hunspell":"jest --config jest-hunspell.json","test:hunspell-asm":"jest --config jest-hunspell-asm.json --coverage","test":"npm-run-all test:*","lint":"tslint src/**/*.ts test/**/*.ts --project tsconfig.json","lint:staged":"lint-staged","build":"tsc -b --verbose ./src/tsconfig.cjs.json ./src/tsconfig.esm.json ./src/tsconfig.types.json ./spec/tsconfig.json","build:clean":"shx rm -rf ./dist","build:lib":"shx cp -r ./src/lib ./dist/cjs && shx cp -r ./src/lib ./dist/esm","commit":"git-cz -S","changelog":"conventional-changelog -p angular -i CHANGELOG.md -s"},"repository":{"type":"git","url":"git+https://github.com/kwonoj/hunspell-asm.git"},"author":{"name":"OJ Kwon","email":"kwon.ohjoong@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/kwonoj/hunspell-asm/issues"},"keywords":["WebAssembly","Wasm","Spellchecker","Hunspell","Language"],"homepage":"https://github.com/kwonoj/hunspell-asm#readme","devDependencies":{"@babel/core":"^7.4.5","@commitlint/cli":"^8.0.0","@commitlint/config-angular":"^8.0.0","@types/chai":"^4.1.7","@types/jest":"^24.0.13","@types/lodash":"^4.14.134","@types/node":"^12.0.8","@types/shelljs":"^0.8.5","chai":"^4.2.0","commitizen":"^3.1.1","conventional-changelog-cli":"^2.0.21","husky":"^2.4.1","jest":"^24.8.0","jest-spin-reporter":"^1.0.2","lint-staged":"^8.2.0","lodash":"^4.17.11","npm-run-all":"^4.1.5","prettier":"^1.18.2","rxjs":"^6.5.2","shelljs":"^0.8.3","shx":"^0.3.2","ts-jest":"^24.0.2","ts-node":"^8.2.0","tslint":"^5.17.0","tslint-no-unused-expression-chai":"0.1.4","typescript":"^3.5.1"},"dependencies":{"emscripten-wasm-loader":"^3.0.1","nanoid":"^2.0.3"},"engines":{"node":">=4"},"husky":{"hooks":{"commit-msg":"commitlint -e","pre-commit":"lint-staged","pre-push":"npm-run-all build test"}},"gitHead":"0ebe2156b525f2453130cad108a0fcf0f44e82d9","_id":"hunspell-asm@3.0.0","_nodeVersion":"12.4.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-trC59Akm42CK2cmK9OuRwTSEG07mW6qr6mW3rs5RopBiDqiI/xI8rIrrumn460e/MXSAY4n+a0380ZbtlmMCHw==","shasum":"2b3ca30430d091089baa4868ac656e056f1829f3","tarball":"https://registry.npmjs.org/hunspell-asm/-/hunspell-asm-3.0.0.tgz","fileCount":93,"unpackedSize":5548358,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdAe2RCRA9TVsSAnZWagAAvQ0QAIiw839Lyw3cebJlV5cu\n//BBT80ZIV7DkCHJuR0vB+finJ8mN+kP+DOlwyV7UCeRVlx4uRSm6d6AFZaS\nMdf3wwLzDw+jfzL6h5s+qOgahANdutdrT5H2Z5YzrYrNyyYUQmQTYCjR9ytj\n4VW8s+5NgdlRtrb/oByQ6yLXrN2aAWeZfrcyJKrdjS+qMoNzR97FmyDZ4ODv\nD6WAtyqt489nYGL/mlZfZ/lEeZ9qm/e8SSsV6dL0CY0qSyRRj9X627LKXFV6\nK6qpZahXb2yPs8Z7miGOd0WuQk/Z9RXwan4py6bqJridSnbZFGtCuStNSEKP\nQcMq6RPFB15vBaIODLmA7Wbmk1oGNHZremSVgXyJbz1kP1beb1FMXRIZWkLh\ncKsok1auHumj4qQvkEw0CtfOh3VeSSKl6pCVtnqVptPZRCumijHvKApaNknT\nG0ZyCGO4qMJhi+7urpc88N7XfDRO6cacGvYnb9RIPOHTx4Iw1JS3ha7XXGCn\nwEJ+n+lJquXNyY/aia0YnUvxlpDIMh0iGYPQpfKDqcwTBQMDIho6S5ylwNkq\ne88kiXpvp0j7aErBduba6qwzc7R01kADTcRfjlZrZd0V9Mjn8lqyiTh7OjX6\ngYtMHVTu6HwioZHrtY36QWNA8YNcB6f6ESHkJc3GiapEL9qVKGcnLY9j5SRY\nAzAS\r\n=/DiJ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE3Gh41y29oTzcv7OpgwBhgCScxB38zocDui9m13398mAiBfzLYCRYD/aCu2tVHAS0aH5odKanBL6xFCle+ZpALHwQ=="}]},"maintainers":[{"name":"kwonoj","email":"kwon.ohjoong@gmail.com"}],"_npmUser":{"name":"kwonoj","email":"kwon.ohjoong@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hunspell-asm_3.0.0_1560407440973_0.8034710911070935"},"_hasShrinkwrap":false},"3.0.1":{"name":"hunspell-asm","version":"3.0.1","description":"WebAssembly based Javascript bindings for hunspell spellchecker","main":"./dist/cjs/index.js","module":"./dist/esm/index.js","types":"./dist/types/index.d.ts","browser":{"./dist/cjs/lib/node/hunspell.js":"./dist/cjs/lib/browser/hunspell.js","./dist/esm/lib/node/hunspell.js":"./dist/esm/lib/browser/hunspell.js"},"config":{"commitizen":{"path":"cz-conventional-changelog"},"hunspell-version":"9b2c03c-190612"},"lint-staged":{"*.ts":["prettier --write --single-quote --print-width 120 --jsx-bracket-same-line true --ignore-path ./src/lib/*.js","tslint --fix","git add"]},"scripts":{"prepare":"node -r ts-node/register bootstrap.ts","prepublishOnly":"npm-run-all build:clean build build:lib test","test:hunspell":"jest --config jest-hunspell.json","test:hunspell-asm":"jest --config jest-hunspell-asm.json --coverage","test":"npm-run-all test:*","lint":"tslint src/**/*.ts test/**/*.ts --project tsconfig.json","lint:staged":"lint-staged","build":"tsc -b --verbose ./src/tsconfig.cjs.json ./src/tsconfig.esm.json ./src/tsconfig.types.json ./spec/tsconfig.json","build:clean":"shx rm -rf ./dist","build:lib":"shx cp -r ./src/lib ./dist/cjs && shx cp -r ./src/lib ./dist/esm","commit":"git-cz -S","changelog":"conventional-changelog -p angular -i CHANGELOG.md -s"},"repository":{"type":"git","url":"git+https://github.com/kwonoj/hunspell-asm.git"},"author":{"name":"OJ Kwon","email":"kwon.ohjoong@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/kwonoj/hunspell-asm/issues"},"keywords":["WebAssembly","Wasm","Spellchecker","Hunspell","Language"],"homepage":"https://github.com/kwonoj/hunspell-asm#readme","devDependencies":{"@babel/core":"^7.4.5","@commitlint/cli":"^8.0.0","@commitlint/config-angular":"^8.0.0","@types/chai":"^4.1.7","@types/jest":"^24.0.13","@types/lodash":"^4.14.134","@types/node":"^12.0.8","@types/shelljs":"^0.8.5","chai":"^4.2.0","commitizen":"^3.1.1","conventional-changelog-cli":"^2.0.21","husky":"^2.4.1","jest":"^24.8.0","jest-spin-reporter":"^1.0.2","lint-staged":"^8.2.0","lodash":"^4.17.11","npm-run-all":"^4.1.5","prettier":"^1.18.2","rxjs":"^6.5.2","shelljs":"^0.8.3","shx":"^0.3.2","ts-jest":"^24.0.2","ts-node":"^8.2.0","tslint":"^5.17.0","tslint-no-unused-expression-chai":"0.1.4","typescript":"^3.5.1"},"dependencies":{"emscripten-wasm-loader":"^3.0.2","nanoid":"^2.0.3"},"engines":{"node":">=4"},"husky":{"hooks":{"commit-msg":"commitlint -e","pre-commit":"lint-staged","pre-push":"npm-run-all build test"}},"gitHead":"a4574652ac652dad8a5347cd9266bba6fcab00d4","_id":"hunspell-asm@3.0.1","_nodeVersion":"12.4.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-zBiz26yGGrw9vJNackEj2zBVtrDLw4IDbkbGX0aIjvnOYXRbZ2z3DcKq0d6e2TiIMgPQ7ikX1JRLixkpnJHHcg==","shasum":"6a43e5ba6b350afab581e6c1b134e869f79d28f3","tarball":"https://registry.npmjs.org/hunspell-asm/-/hunspell-asm-3.0.1.tgz","fileCount":72,"unpackedSize":5546059,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdAo0ICRA9TVsSAnZWagAASkEQAKOCtSUtsMO1JfO7Nt05\nQpJluaCJzteNhpI8lnAnVv83D0jiJnlVRPvE+qsm7gPArvoRQDmAQBKgu07n\nOxcMdymB1Jw+TnPtX98P3nVlm33sDh+J15zo5acybsuDBGzpkbn920hhRRta\nYJeiZIFo9ReUkX5xNHvZWUxEE0Yh0M+74apS9GO7+5erRWQSGW3BUEKpP2dx\nE/ImPr85vxS1rFO8xPZ/yQIBNhjeXGO6G0AMtGPFz1R60Qr1FYTN/yqLJgCW\nh0frimJ3ktIZL6COjnYGzG+tUeYWB8RBywr72t7Nxi9lzGuuH9k0mZsu0saE\nNxz8rkvSz6oKQKitVkntkMRO/Rjy5CJ8Vm02yiVOeNYRmDpiK8J2GsphqFR9\ne6lhc6BsmeBOOGp5M37DEIJfjGV9pDdiIvg94DFt62aN1t+jT9knJNL7daGY\nxXuaFPppKxJbNnNe3CF+W17YwuZGZV+asduqhPvqg0r6r0hLDWcTf4F0Mz/x\nBW46lritv8ZSN/stxfXRVOI+kng5nbl96RYXwtOIbx6aW+WBWCECNo2PALMQ\nlokt2zsmQmzc/LwtG58VODwmY+QaT+LZlVWFcRS+ZdnpIzqPDM3TOxxOUW0p\nkBpnCEZnMxB/Eij1wEzBrdJz2gdpAbiTW45Cc/JRwzRlSrcUPvFWlaKQIXZr\nrloj\r\n=qo2+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAQ3RNjqs8LcpEGpGqy7X3ReBqfcuGXmIE/5cHpuAFVkAiEA5jVf+0yoDtNuQeH9GdY9ZWwKrXuu25hyQYX09spxM48="}]},"maintainers":[{"name":"kwonoj","email":"kwon.ohjoong@gmail.com"}],"_npmUser":{"name":"kwonoj","email":"kwon.ohjoong@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hunspell-asm_3.0.1_1560448263776_0.374866394500305"},"_hasShrinkwrap":false},"3.0.2":{"name":"hunspell-asm","version":"3.0.2","description":"WebAssembly based Javascript bindings for hunspell spellchecker","main":"./dist/cjs/index.js","module":"./dist/esm/index.js","types":"./dist/types/index.d.ts","browser":{"./dist/cjs/lib/node/hunspell.js":"./dist/cjs/lib/browser/hunspell.js","./dist/esm/lib/node/hunspell.js":"./dist/esm/lib/browser/hunspell.js"},"config":{"commitizen":{"path":"cz-conventional-changelog"},"hunspell-version":"e13bda0-190620"},"lint-staged":{"*.ts":["prettier --write --single-quote --print-width 120 --jsx-bracket-same-line true --ignore-path ./src/lib/*.js","tslint --fix","git add"]},"scripts":{"prepare":"node -r ts-node/register bootstrap.ts","prepublishOnly":"npm-run-all build:clean build build:lib test","test:hunspell":"jest --config jest-hunspell.json","test:hunspell-asm":"jest --config jest-hunspell-asm.json --coverage","test":"npm-run-all test:*","lint":"tslint src/**/*.ts test/**/*.ts --project tsconfig.json","lint:staged":"lint-staged","build":"tsc -b --verbose ./src/tsconfig.cjs.json ./src/tsconfig.esm.json ./src/tsconfig.types.json ./spec/tsconfig.json","build:clean":"shx rm -rf ./dist","build:lib":"shx cp -r ./src/lib ./dist/cjs && shx cp -r ./src/lib ./dist/esm","commit":"git-cz -S","changelog":"conventional-changelog -p angular -i CHANGELOG.md -s"},"repository":{"type":"git","url":"git+https://github.com/kwonoj/hunspell-asm.git"},"author":{"name":"OJ Kwon","email":"kwon.ohjoong@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/kwonoj/hunspell-asm/issues"},"keywords":["WebAssembly","Wasm","Spellchecker","Hunspell","Language"],"homepage":"https://github.com/kwonoj/hunspell-asm#readme","devDependencies":{"@babel/core":"^7.4.5","@commitlint/cli":"^8.0.0","@commitlint/config-angular":"^8.0.0","@types/chai":"^4.1.7","@types/jest":"^24.0.13","@types/lodash":"^4.14.134","@types/node":"^12.0.8","@types/shelljs":"^0.8.5","chai":"^4.2.0","commitizen":"^3.1.1","conventional-changelog-cli":"^2.0.21","husky":"^2.4.1","jest":"^24.8.0","jest-spin-reporter":"^1.0.2","lint-staged":"^8.2.0","lodash":"^4.17.11","npm-run-all":"^4.1.5","prettier":"^1.18.2","rxjs":"^6.5.2","shelljs":"^0.8.3","shx":"^0.3.2","ts-jest":"^24.0.2","ts-node":"^8.2.0","tslint":"^5.17.0","tslint-no-unused-expression-chai":"0.1.4","typescript":"^3.5.1"},"dependencies":{"emscripten-wasm-loader":"^3.0.2","nanoid":"^2.0.3"},"engines":{"node":">=4"},"husky":{"hooks":{"commit-msg":"commitlint -e","pre-commit":"lint-staged","pre-push":"npm-run-all build test"}},"gitHead":"83da6a5d4311d27ceb31073f15780fb965df37f7","_id":"hunspell-asm@3.0.2","_nodeVersion":"12.4.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-GPXx+uCpPnl4oDIwcwAeNdptLvigcxAxwmkZNGhmlk4/SqXCjmJmbW+xIf/CaQjzjifkFDz9/w6nNZhjNodN1A==","shasum":"090f689da8074ca9927892a7d91049c582045078","tarball":"https://registry.npmjs.org/hunspell-asm/-/hunspell-asm-3.0.2.tgz","fileCount":72,"unpackedSize":9525910,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdC9CyCRA9TVsSAnZWagAA1twQAKEEu8v3ki12SOPhjaIS\neJdLjJuPzK3BIN8Y4NWeIfI3clmqFvkSANSIPq8/bFRrv6/MI//n/5ewb0EP\nEUOXB0z5rVv186ZvGD5mK7+pwz2YL8fgzisPCEXidiBBxwyavqxZDUCRzLWu\nB/QVSJeGjXKmuozZAP3SmZY9Y6EkYB3xkKkbep0weOm9OrjqcHz6+6uHvpHO\nW74lL1IXpVjlUIC27khM6d57IYc/gvURrJbwxaaZS6UyWwuj+qLMlk2E9BKN\nItFwulWsFK9Aqf+snauLHRQ2p/LJ5w6UeyqBIV/nERxfjEPcxKtSmJhgAeyA\nMQ8a0I4oRzTpxMaGmTCt8px/4IDMY16cavKIpYaJGwWRcnRJdqNZPgAnEGXl\nkNyNb/saGuhVl2ep6S36nPu3STAYfyipoR0Q/m5jlKiG7gI8VPWZ7eGCOtSR\nmOHcm4u0OQtHsrq/K2QjZZMeqJWa1IMLbqPtNM7NkGo1Q3e9iIEQDEYiX1Hm\nQov4UrBtk9CEVJ30A2AdY9Yuzxr/sW5pcH6tfLKVaQkWO7Gntqs7qVReZDL2\nhLltqiElipAikcv+3xn0/F1fvq4bCJaXcd6OoY353mXpH+bdgvIfVQvaUIbX\nxAjhI8SjeDVZgWRKakaAbFOS7+EP80gdyQsJinN61ZWnBI0toaZmMCyiFlZP\n8mX2\r\n=6LHO\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG1gVeiyPgl7DXBWmczITlB2fZ4zOPQpnhaypjDy7hkoAiEAiOccWZDZb5yKkFnFRyFZZbKPXZEPxGd/+q8cshsE+vs="}]},"maintainers":[{"name":"kwonoj","email":"kwon.ohjoong@gmail.com"}],"_npmUser":{"name":"kwonoj","email":"kwon.ohjoong@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hunspell-asm_3.0.2_1561055409162_0.2846835536916066"},"_hasShrinkwrap":false},"3.0.3":{"name":"hunspell-asm","version":"3.0.3","description":"WebAssembly based Javascript bindings for hunspell spellchecker","main":"./dist/cjs/index.js","module":"./dist/esm/index.js","types":"./dist/types/index.d.ts","browser":{"./dist/cjs/lib/node/hunspell.js":"./dist/cjs/lib/browser/hunspell.js","./dist/esm/lib/node/hunspell.js":"./dist/esm/lib/browser/hunspell.js"},"config":{"commitizen":{"path":"cz-conventional-changelog"},"hunspell-version":"e13bda0-190620"},"lint-staged":{"*.ts":["prettier --write --single-quote --print-width 120 --jsx-bracket-same-line true --ignore-path ./src/lib/*.js","tslint --fix","git add"]},"scripts":{"prepare":"node -r ts-node/register bootstrap.ts","prepublishOnly":"npm-run-all build:clean build build:lib test","test:hunspell":"jest --config jest-hunspell.json","test:hunspell-asm":"jest --config jest-hunspell-asm.json --coverage","test":"npm-run-all test:*","lint":"tslint src/**/*.ts test/**/*.ts --project tsconfig.json","lint:staged":"lint-staged","build":"tsc -b --verbose ./src/tsconfig.cjs.json ./src/tsconfig.esm.json ./src/tsconfig.types.json ./spec/tsconfig.json","build:clean":"shx rm -rf ./dist","build:lib":"shx cp -r ./src/lib ./dist/cjs && shx cp -r ./src/lib ./dist/esm","commit":"git-cz -S","changelog":"conventional-changelog -p angular -i CHANGELOG.md -s"},"repository":{"type":"git","url":"git+https://github.com/kwonoj/hunspell-asm.git"},"author":{"name":"OJ Kwon","email":"kwon.ohjoong@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/kwonoj/hunspell-asm/issues"},"keywords":["WebAssembly","Wasm","Spellchecker","Hunspell","Language"],"homepage":"https://github.com/kwonoj/hunspell-asm#readme","devDependencies":{"@babel/core":"^7.5.5","@commitlint/cli":"^8.1.0","@commitlint/config-angular":"^8.1.0","@types/chai":"^4.1.7","@types/jest":"^24.0.15","@types/lodash":"^4.14.136","@types/node":"^12.6.8","@types/shelljs":"^0.8.5","chai":"^4.2.0","commitizen":"^4.0.2","conventional-changelog-cli":"^2.0.21","husky":"^3.0.1","jest":"^24.8.0","jest-spin-reporter":"^1.0.2","lint-staged":"^9.2.0","lodash":"^4.17.15","npm-run-all":"^4.1.5","prettier":"^1.18.2","rxjs":"^6.5.2","shelljs":"^0.8.3","shx":"^0.3.2","ts-jest":"^24.0.2","ts-node":"^8.3.0","tslint":"^5.18.0","tslint-no-unused-expression-chai":"0.1.4","typescript":"^3.5.3"},"dependencies":{"emscripten-wasm-loader":"^3.0.3","nanoid":"^2.0.3"},"engines":{"node":">=4"},"husky":{"hooks":{"commit-msg":"commitlint -e","pre-commit":"lint-staged","pre-push":"npm-run-all build test"}},"gitHead":"8c4dc357caf2fc291bbf34dcb0a87d4c7b851f7f","_id":"hunspell-asm@3.0.3","_nodeVersion":"12.6.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-0Izyb2dRBldwjM/1cMK7ydgGsQoEZKHxF1+mHHKHUvN00/g4MeNILWTQrKnW7mIzo/NAnQXtaYd5vu3WZeUfMw==","shasum":"9b1ffd2af39c2384f6a2966dc846bcd6ab54bb82","tarball":"https://registry.npmjs.org/hunspell-asm/-/hunspell-asm-3.0.3.tgz","fileCount":72,"unpackedSize":9526907,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdMh3yCRA9TVsSAnZWagAA+RUP/ibFuz1o6juVwwO0D0Cs\n9B/7ES9NH3U+bP5EN3BupaFOSBaIuWX5obxbx34wpFxwGrpbQxvlRYxmZkms\nIRjD9EyOGvsy9Gh9Sk+9DodYNhA11zHupu+Hy+sMEFg3SpwldK+K4z0gjwP8\nYTbo6xg2tigqUZyq48mPDpxphXHoinSNuwYCE1ARa3omhoAekt2QUi38moNq\nGACGiEBRMBQS41GaJQkrrjBi77rDeKeSJ7ph0o6/ydrUISxDPv2Myo8vjU7k\nQ3ZS9zIMdl/C7bHvapBgwzBkrRer+yqKlKiax/4HLlrHvyIN5iezBuQp1pXZ\nEG3naOq7TT/lWxYR680ZDrdlH/p4dAldCwDRfALJL911bO4uz6KxQCNgpCEG\nMRUT4Bu3BW2SMQhlPCMNd9FULGxGyHHw+URmITE7vpAW1akUkbFw36l/vb1R\naXPafAQou7ztf1usK0Xjo/o571Ais57DfM+1tDN+LNg++2dv0ZRV1GuqrL5P\nbHayzpFyj3FBSIhDsZVSXNuqnbUZgdV33wo0BRd2eFANsdeKU005WiDsN/Ib\nr8kK6yeFV6P9vNEs9nn9M3RQ1+tixS4C+YlwRRK3sGxcufpz22cf9R+5lI0r\nhNj/8sYe+auWPu+z4KIgh7HAW4FRBZzeONWGrGzhJTQr2uN0Lwp+zDqWy8vz\nCdwf\r\n=ZCQl\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEHBuXBPig6hsrESD08sX2632EkTpaVZRGIsxVaqHcYQAiBLLNS1neYerjaz3MB8DXHav4wIX3rd28mmvcUki6W8Tg=="}]},"maintainers":[{"name":"kwonoj","email":"kwon.ohjoong@gmail.com"}],"_npmUser":{"name":"kwonoj","email":"kwon.ohjoong@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hunspell-asm_3.0.3_1563565553966_0.3255651406442368"},"_hasShrinkwrap":false},"4.0.0":{"name":"hunspell-asm","version":"4.0.0","description":"WebAssembly based Javascript bindings for hunspell spellchecker","main":"./dist/cjs/index.js","module":"./dist/esm/index.js","types":"./dist/types/index.d.ts","browser":{"./dist/cjs/lib/node/hunspell.js":"./dist/cjs/lib/browser/hunspell.js","./dist/esm/lib/node/hunspell.js":"./dist/esm/lib/browser/hunspell.js"},"config":{"commitizen":{"path":"cz-conventional-changelog"},"hunspell-version":"4870475-190913"},"lint-staged":{"*.ts":["prettier --write --single-quote --print-width 120 --jsx-bracket-same-line true --ignore-path ./src/lib/*.js","tslint --fix","git add"]},"scripts":{"prepare":"node -r ts-node/register bootstrap.ts","prepublishOnly":"npm-run-all build:clean build build:lib test","test:hunspell":"jest --config jest-hunspell.json","test:hunspell-asm":"jest --config jest-hunspell-asm.json --coverage","test":"npm-run-all test:*","lint":"tslint src/**/*.ts test/**/*.ts --project tsconfig.json","lint:staged":"lint-staged","build":"tsc -b --verbose ./src/tsconfig.cjs.json ./src/tsconfig.esm.json ./src/tsconfig.types.json ./spec/tsconfig.json","build:clean":"shx rm -rf ./dist","build:lib":"shx cp -r ./src/lib ./dist/cjs && shx cp -r ./src/lib ./dist/esm","commit":"git-cz -S","changelog":"conventional-changelog -p angular -i CHANGELOG.md -s"},"repository":{"type":"git","url":"git+https://github.com/kwonoj/hunspell-asm.git"},"author":{"name":"OJ Kwon","email":"kwon.ohjoong@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/kwonoj/hunspell-asm/issues"},"keywords":["WebAssembly","Wasm","Spellchecker","Hunspell","Language"],"homepage":"https://github.com/kwonoj/hunspell-asm#readme","devDependencies":{"@babel/core":"^7.6.0","@commitlint/cli":"^8.1.0","@commitlint/config-angular":"^8.1.0","@types/chai":"^4.2.2","@types/jest":"^24.0.18","@types/lodash":"^4.14.138","@types/node":"^12.7.5","@types/shelljs":"^0.8.5","chai":"^4.2.0","commitizen":"^4.0.3","conventional-changelog-cli":"^2.0.23","husky":"^3.0.5","jest":"^24.9.0","jest-spin-reporter":"^2.0.0","lint-staged":"^9.2.5","lodash":"^4.17.15","npm-run-all":"^4.1.5","prettier":"^1.18.2","rxjs":"^6.5.3","shelljs":"^0.8.3","shx":"^0.3.2","ts-jest":"^24.1.0","ts-node":"^8.3.0","tslint":"^5.20.0","tslint-no-unused-expression-chai":"0.1.4","typescript":"^3.6.3"},"dependencies":{"emscripten-wasm-loader":"^3.0.3","nanoid":"^2.1.1"},"engines":{"node":">=4"},"husky":{"hooks":{"commit-msg":"commitlint -e","pre-commit":"lint-staged","pre-push":"npm-run-all build test"}},"gitHead":"8e9268ae289991362f6ff97f93a95c547ef2f961","_id":"hunspell-asm@4.0.0","_nodeVersion":"12.9.1","_npmVersion":"6.10.2","dist":{"integrity":"sha512-EcNwMx0Byq1JHMZiuATmqpMk41bOo+NH4yD5xJ3H0X403MoDBory3zri2lJzYSGj+z/6Bqr3EZn24syCjZoY1w==","shasum":"a918f1f9118d27b8d21337b610f244bedf4d02c0","tarball":"https://registry.npmjs.org/hunspell-asm/-/hunspell-asm-4.0.0.tgz","fileCount":72,"unpackedSize":5927389,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJde8LGCRA9TVsSAnZWagAAtFIP/3TvJhnJ1qqPOl3FW08U\neLxPZzrtywAaZQwOA9ly/fy4QoHTwrhc6SIXMwrcqiNiMqpSXPEbJzTfZKSQ\nGwkLqG5fLId38X+rcL+A4mfnZy1dFk5kd2fLI2e+FG8fReFoud2kIIoD84gz\nJb/SYc8DURsPHC8IuXv7/LBS5PdXI+4szouj8zVdOjmxFCPvKUm1H70FdGNW\nEhkNDWwErw8GXJcqzBYaHfsgaBBaZClWvsorNLNC5h3M9mqm81eo8QJYvNwn\nSD0ffTv2Umh4QCYN06wz4JfoakljRCeJ+rkiF4maWRFTNZ9ZECsy/fKXDkKW\nMBtAtHxkIMAF4lSqoYzxpx8YVKtrZCL6YozZE46VnbUhhZQ0kYtDk3KhvxTI\nfkBiHbo0P2tNgprNNDLUnvD0vkx/DDb2NVBa6ZlaJ8epNw/TWqzbSMRyzjd8\n2xxVMsB4kZWck5J6Kk7w9RY1pzzO+rsGu11mnjJGcPs4NI6LmUWA77hOodOw\nmDSiEbzsIDVvSaqys2+Hqx7O+9v4WDxkWJeyxycl2Vf5M01GQ3vP9R0Jn1FU\n8Ee103d86Mr9GVfNOf88eQmR8/0srIB30Lcxa4RjQFOmCnuq7mnJblnYcD8V\nM6HV+gx4lKQs19bGA6qzSZoevpT2+3wDi6QM7TexfGxM1Y9AyTkwjgi/fHO5\nq/Nv\r\n=0yyn\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDYbdCVvAthMorS5MplS42FKJY+D/tYh2r0Rd5qMOrYQAIgDLBgHWd0aw0HVwPi98DCDWxcOSVbyX9y3a2kSelDs14="}]},"maintainers":[{"name":"kwonoj","email":"kwon.ohjoong@gmail.com"}],"_npmUser":{"name":"kwonoj","email":"kwon.ohjoong@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hunspell-asm_4.0.0_1568391877503_0.4374141744233184"},"_hasShrinkwrap":false},"4.0.1":{"name":"hunspell-asm","version":"4.0.1","description":"WebAssembly based Javascript bindings for hunspell spellchecker","main":"./dist/cjs/index.js","module":"./dist/esm/index.js","types":"./dist/types/index.d.ts","browser":{"./dist/cjs/lib/node/hunspell.js":"./dist/cjs/lib/browser/hunspell.js","./dist/esm/lib/node/hunspell.js":"./dist/esm/lib/browser/hunspell.js"},"config":{"commitizen":{"path":"cz-conventional-changelog"},"hunspell-version":"4870475-190913"},"lint-staged":{"*.ts":["prettier --write --single-quote --print-width 120 --jsx-bracket-same-line true --ignore-path ./src/lib/*.js","tslint --fix","git add"]},"scripts":{"prepare":"node -r ts-node/register bootstrap.ts","prepublishOnly":"npm-run-all build:clean build build:lib test","test:hunspell":"jest --config jest-hunspell.json","test:hunspell-asm":"jest --config jest-hunspell-asm.json --coverage","test":"npm-run-all test:*","lint":"tslint src/**/*.ts test/**/*.ts --project tsconfig.json","lint:staged":"lint-staged","build":"tsc -b --verbose ./src/tsconfig.cjs.json ./src/tsconfig.esm.json ./src/tsconfig.types.json ./spec/tsconfig.json","build:clean":"shx rm -rf ./dist","build:lib":"shx cp -r ./src/lib ./dist/cjs && shx cp -r ./src/lib ./dist/esm","commit":"git-cz -S","changelog":"conventional-changelog -p angular -i CHANGELOG.md -s"},"repository":{"type":"git","url":"git+https://github.com/kwonoj/hunspell-asm.git"},"author":{"name":"OJ Kwon","email":"kwon.ohjoong@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/kwonoj/hunspell-asm/issues"},"keywords":["WebAssembly","Wasm","Spellchecker","Hunspell","Language"],"homepage":"https://github.com/kwonoj/hunspell-asm#readme","devDependencies":{"@babel/core":"^7.6.4","@commitlint/cli":"^8.2.0","@commitlint/config-angular":"^8.2.0","@types/chai":"^4.2.3","@types/jest":"^24.0.19","@types/lodash":"^4.14.144","@types/node":"^12.11.1","@types/shelljs":"^0.8.5","chai":"^4.2.0","commitizen":"^4.0.3","conventional-changelog-cli":"^2.0.25","husky":"^3.0.9","jest":"^24.9.0","jest-spin-reporter":"^2.0.0","lint-staged":"^9.4.2","lodash":"^4.17.15","npm-run-all":"^4.1.5","prettier":"^1.18.2","rxjs":"^6.5.3","shelljs":"^0.8.3","shx":"^0.3.2","ts-jest":"^24.1.0","ts-node":"^8.4.1","tslint":"^5.20.0","tslint-no-unused-expression-chai":"0.1.4","typescript":"^3.6.4"},"dependencies":{"emscripten-wasm-loader":"^3.0.3","nanoid":"^2.1.4"},"engines":{"node":">=4"},"husky":{"hooks":{"commit-msg":"commitlint -e","pre-commit":"lint-staged","pre-push":"npm-run-all build test"}},"gitHead":"db9242dc600377db3da3f14f26c9d402d653f4d4","_id":"hunspell-asm@4.0.1","_nodeVersion":"12.12.0","_npmVersion":"6.11.3","dist":{"integrity":"sha512-dtaiJchMCQC/7G8NhACcd6+euqbAxzVw/sq/H7px37SuEMwgUWgY0anRf+2vBcnQ63ggfIbEYXldsu4SrLAeJg==","shasum":"d78b5d8c8816f45b48b4a0b3d775bfd691e8e1c3","tarball":"https://registry.npmjs.org/hunspell-asm/-/hunspell-asm-4.0.1.tgz","fileCount":72,"unpackedSize":5954807,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdqtEYCRA9TVsSAnZWagAAq88P+gL3rBkmwLZiN6zT9CK5\n3WbXEusvu/dJJmOK2cxdgS9UfqslEwWvsUpOPmNVViu/R4PyqnumwhNiEwvG\nYapQ6i1U01nrkV5x7BNi+TQdmV1htjDJv+mkAtF9PbXRz/k32tZX5Cneld+B\ntfn+c3xF4r84Wqo3tDj3a2jAPjIjqukMLjE5NP5C/1/2w8zWwpHShz3aSC5q\nwhYugU2CExXbRttVH0qqjfymufYLjZNj3XoEn+USsUNeQBypfRzBmM9+rNb9\nNYbmASPctKH3zE9YSocolSo8D+gcmSV2mpJLRiQTIXVxPh9StSAg5OV1Z6pz\n/gKiq4KorvNxq/dy+CTFDNBBbtYjhZkqS8cYqLnLjQ+hx3w/XatGnccmPduJ\n5VHoH7JJFuNsaNLsyhC9dp32s9+H2Cwa/OyFRnoBrobN6OvEk+vwWs2EKD8b\nVoJQ2SYqjEy8te3vzaLUfYpENG0/kmKlDgLxpSTDgbpCbxdTZlNN9oR2Gv1O\nJ08UWX6E7p89lnUxoqttxcm54vg2OyaO1D2F62UJy1yu/6dkBiwSUrM/TT8Q\n2hVWLF1k3dIh1l0f1zGnFhj2UoPltcgiXFWkGUYJvQFSqOVMStUNn/wD9NUd\nJ4qtTJn8fdWZpeXQEyrojT1Y0zJNDacpDPsx+3Nw188Ci0Yic6iv5JrEViEI\n59sV\r\n=Ebde\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCfBmZFwNhtyTd8nGSwkAJayGaAtc1FJiAvlSmMQsg/1gIgGD/MKCZYx7btc3xJI9M4oBrsnTPXVzY0qouQjp6xvfw="}]},"maintainers":[{"name":"kwonoj","email":"kwon.ohjoong@gmail.com"}],"_npmUser":{"name":"kwonoj","email":"kwon.ohjoong@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hunspell-asm_4.0.1_1571475735422_0.17695886043462394"},"_hasShrinkwrap":false},"4.0.2":{"name":"hunspell-asm","version":"4.0.2","description":"WebAssembly based Javascript bindings for hunspell spellchecker","main":"./dist/cjs/index.js","module":"./dist/esm/index.js","types":"./dist/types/index.d.ts","browser":{"./dist/cjs/lib/node/hunspell.js":"./dist/cjs/lib/browser/hunspell.js","./dist/esm/lib/node/hunspell.js":"./dist/esm/lib/browser/hunspell.js"},"config":{"commitizen":{"path":"cz-conventional-changelog"},"hunspell-version":"fc6a952-200131"},"lint-staged":{"*.ts":["prettier --write --single-quote --print-width 120 --jsx-bracket-same-line true --ignore-path ./src/lib/*.js","tslint --fix","git add"]},"scripts":{"prepare":"node -r ts-node/register bootstrap.ts","prepublishOnly":"npm-run-all build:clean build build:lib test","test:hunspell":"jest --config jest-hunspell.json","test:hunspell-asm":"jest --config jest-hunspell-asm.json --coverage","test":"npm-run-all test:*","lint":"tslint src/**/*.ts test/**/*.ts --project tsconfig.json","lint:staged":"lint-staged","build":"tsc -b --verbose ./src/tsconfig.cjs.json ./src/tsconfig.esm.json ./src/tsconfig.types.json ./spec/tsconfig.json","build:clean":"shx rm -rf ./dist","build:lib":"shx cp -r ./src/lib ./dist/cjs && shx cp -r ./src/lib ./dist/esm","changelog":"conventional-changelog -p angular -i CHANGELOG.md -s"},"repository":{"type":"git","url":"git+https://github.com/kwonoj/hunspell-asm.git"},"author":{"name":"OJ Kwon","email":"kwon.ohjoong@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/kwonoj/hunspell-asm/issues"},"keywords":["WebAssembly","Wasm","Spellchecker","Hunspell","Language"],"homepage":"https://github.com/kwonoj/hunspell-asm#readme","devDependencies":{"@babel/core":"^7.6.4","@commitlint/cli":"^8.2.0","@commitlint/config-angular":"^8.2.0","@types/chai":"^4.2.4","@types/jest":"^24.0.19","@types/lodash":"^4.14.144","@types/node":"^12.11.6","@types/shelljs":"^0.8.5","chai":"^4.2.0","conventional-changelog-cli":"^2.0.25","husky":"^3.0.9","jest":"^24.9.0","jest-spin-reporter":"^2.0.0","lint-staged":"^9.4.2","lodash":"^4.17.15","npm-run-all":"^4.1.5","prettier":"^1.18.2","rxjs":"^6.5.3","shelljs":"^0.8.3","shx":"^0.3.2","ts-jest":"^24.1.0","ts-node":"^8.4.1","tslint":"^5.20.0","tslint-no-unused-expression-chai":"0.1.4","typescript":"^3.6.4"},"dependencies":{"emscripten-wasm-loader":"^3.0.3","nanoid":"^2.1.5"},"engines":{"node":">=4"},"husky":{"hooks":{"commit-msg":"commitlint -e","pre-commit":"lint-staged","pre-push":"npm-run-all build test"}},"gitHead":"b8e719f61e8f5fde76b31e48f42d241383d9790e","_id":"hunspell-asm@4.0.2","_nodeVersion":"12.12.0","_npmVersion":"6.13.7","dist":{"integrity":"sha512-u3ZuEYKGYnLZlIs+k5S+KdY+Q57mYD46fTwZJCiSXdES+fhxcLNF5mJ0nxjqrPAgE/8Kow6XLxRdRd/HDUPQZg==","shasum":"20c50ea50a52467534a809b3095a064231e7171e","tarball":"https://registry.npmjs.org/hunspell-asm/-/hunspell-asm-4.0.2.tgz","fileCount":72,"unpackedSize":4901138,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeNR4CCRA9TVsSAnZWagAA8LAP/jJOcOEAn/m6zTbpnNRs\nntbXJ9wfz7senmgvPpERdKhBjEv/wdE/rs14V6IO1PCGmYyihbcLUIPDUXwk\nbdmbuQaEZgrdDBp5x3Lxi0LhvNvtOWweC7Yrpv1ghNG36JIU90CHeqpCotOY\nfkAge5TsRCqbw4tkKWBEoZ+O8g9aiygPJaWzyVlAkLSutTWDpoUxvtSrWFkq\nVVP5ABPyHSFaf7UPsM7YO5TcFUHH2e80MBZYxAxo9dwhqlet5Ro9Rl4kfkRa\nuzUdg4/W3NXnCElNHww+QST0OahZalexfx9vwWRBzukQae6FOoo99tmbnMg0\nDt6UV6oSX8JUkqjEmp+DzfSzuIX0+7BDuuOvhakT3CxFslaIgyR2f2YGQD2Q\n/K2GzJnj2IhCn3mdagMmoHTSeuRUiNF19UHy2kS15S0llDdWuKVmN+I1Wl/c\nNcSw67sANovgl/BZaAVpFgUXLOtluLAQsiueCjYPLZTjGbiK7Ci7DqYBsLaQ\noohxnyYNEek9bwIKwrudcFwYyq+Asuea5IgJwvZS11ZeouJT1q5YjXvHlJsN\nT26b9J20d1GkY8qH9yqh11VZtn5rBFa0sojnGnTabJbXLim1pfUQ8LSjhCDu\n6zYp7wmh+D5pnGWKjMBYNaV3lNibvrgQ6Pw136H9VgGmWFukscCT3mRgN8hb\nclxM\r\n=TjMd\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDE48hhyEWPRyWY0YrpFVjnAFwebMgAm6+KzyiB0LwIqAiBNYdfCiNIPmxprTfnpcBSJGHumH6YDJQ16YcJoEis44A=="}]},"maintainers":[{"name":"kwonoj","email":"kwon.ohjoong@gmail.com"}],"_npmUser":{"name":"kwonoj","email":"kwon.ohjoong@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hunspell-asm_4.0.2_1580539394196_0.08988628667297305"},"_hasShrinkwrap":false}},"readme":"[![Build Status](https://travis-ci.org/kwonoj/hunspell-asm.svg?branch=master)](https://travis-ci.org/kwonoj/hunspell-asm)\n[![Build status](https://ci.appveyor.com/api/projects/status/7s0r599r9h6r682g?svg=true)](https://ci.appveyor.com/project/kwonoj/hunspell-asm)\n[![codecov](https://codecov.io/gh/kwonoj/hunspell-asm/branch/master/graph/badge.svg)](https://codecov.io/gh/kwonoj/hunspell-asm)\n[![npm](https://img.shields.io/npm/v/hunspell-asm.svg)](https://www.npmjs.com/package/hunspell-asm)\n[![node](https://img.shields.io/badge/node-=>10.0-blue.svg?style=flat)](https://www.npmjs.com/package/hunspell-asm)\n\n# Hunspell-asm\n\n`Hunspell-asm` is isomorphic javascript binding to [hunspell](https://github.com/hunspell/hunspell) spellchecker based on WebAssembly hunspell binary. This module aims to provide thin, lightweight interface to hunspell without requiring native modules.\n\n# Install\n\n```sh\nnpm install hunspell-asm\n```\n\n# Usage\n\n## Loading module asynchronously\n\n`Hunspell-asm` relies on wasm binary of hunspell, which need to be initialized first.\n\n```js\nimport { loadModule } from 'hunspell-asm';\n\nconst hunspellFactory = await loadModule();\n```\n\n`loadModule` loads wasm binary, initialize it, and returns factory function to create instance of hunspell.\n\n```js\nloadModule({ timeout?: number }): Promise<HunspellFactory>\n```\n\nIt allows to specify timeout to wait until wasm binary compliation & load.\n\n## Mounting files\n\nWasm binary uses different memory spaces allocated for its own and cannot access plain javascript object / or files directly. `HunspellFactory` provides few interfaces to interop file contents into hunspell.\n\n- `mountBuffer(contents: ArrayBufferView, fileName?: string): string` : Mount contents of file.\n- `unmount(mountedFilePath: string)` : Unmount path if it's exists in memory. If it's bufferFile created by `mountBuffer`, unmount will remove those file object in wasm memory as well.\n\nAll of `virtual` paths for mounted filesystem uses unix separator regardless of platform.\n\n## Creating spellchecker\n\nOnce you mounted dic / aff files you can create hunspell spellchecker instance via `HunspellFactory::create`. Each path for files are mounted path and should not be actual path or server endpoint.\n\n```js\ncreate(affPath: string, dictPath: string): Hunspell\n```\n\n`Hunspell` exposes minimal interfaces to spellchecker.\n\n- `spell(word: string): boolean` : Check spelling for word. False for misspelled, True otherwise.\n- `suggest(word: string): Array<string>` : Get suggestion list for misspelled word. Empty if word is not misspelled or no suggestions.\n- `dispose(): void` : Destroy current instance of hunspell. It is important to note created instance of hunspell will not be destroyed automatically.\n\nThere are simple [examples](https://github.com/kwonoj/hunspell-asm/tree/e0e421fda667fb0d4888a4e0b21877e95540c29c/examples) for each environments using different apis. In each example directory do `npm install && npm start`.\n\n## Adding words to dictionary in runtime\n\nHunspell exposes few interfaces allow to add words, or dictionaries in existing dictionary in runtime. This is **runtime** behavior, so it doesn't persist over once instance is disposed.\n\n- `addWord(word: string): void` : add single word to current dictionary.\n- `removeWord(word: string): void` : remove single word from current dictionary.\n- `addWordWithAffix(word: string, affix: string): void`: add word with example word having affix flag to be applied. Second param `affix` is example word, should exists in current dictionary with its own affix flag. Newly added word will have same affix rule as example word.\n- `addDictionary(dictPath): boolean` : Load addtional dictionary into existing hunspell instance. This cannot load additional affi\nx. If function returns false, it means internal slot hunspell manages are full and can't add additional dictionaries.\n\n## Things to note\n\n- Ensure all inputs (aff, dic, word for spell / suggest) are UTF-8 encoded correctly. While hunspell itself supports other encodings, all surrounding interfaces passing buffers are plain javascript doesn't detect / converts encodings automatically.\n\n# Building / Testing\n\nFew npm scripts are supported for build / test code.\n\n- `build`: Transpiles code to ES5 commonjs to `dist`.\n- `test`: Run `hunspell` / `hunspell-asm` test both. Does not require `build` before execute test.\n- `test:hunspell`: Run integration test for actual hunspell wasm binary, using [hunspell's test case](https://github.com/hunspell/hunspell/tree/97d7d559f621176685695fbd51e5d8d3f9e005e3/tests) as-is.\n- `test:hunspell-asm`: Run unit test against `hunspell-asm` interface\n- `lint`: Run lint over all codebases\n- `lint:staged`: Run lint only for staged changes. This'll be executed automatically with precommit hook.\n- `commit`: Commit wizard to write commit message\n\n# License\n\n- Hunspell: [original license](https://github.com/hunspell/hunspell/blob/master/license.hunspell)\n- Hunspell-asm: [MIT](https://github.com/kwonoj/hunspell-asm/blob/master/LICENSE)\n","maintainers":[{"name":"kwonoj","email":"kwon.ohjoong@gmail.com"}],"time":{"modified":"2022-06-18T23:13:13.384Z","created":"2017-07-28T06:56:34.792Z","0.0.1":"2017-07-28T06:56:34.792Z","0.0.2":"2017-07-28T16:27:42.251Z","0.0.3":"2017-07-29T17:27:39.717Z","0.0.4":"2017-07-30T22:32:49.827Z","0.0.5":"2017-08-23T01:30:23.946Z","0.0.6":"2017-08-26T02:31:17.964Z","0.0.7":"2017-09-08T22:34:01.819Z","0.0.8":"2017-09-10T03:45:07.169Z","0.0.9":"2017-09-10T04:49:28.421Z","0.0.10":"2017-09-12T06:49:27.973Z","0.0.11":"2017-09-15T06:34:03.463Z","0.0.12":"2017-09-15T17:00:20.646Z","0.0.13":"2017-09-16T06:11:29.900Z","0.0.14":"2017-09-18T04:39:44.020Z","0.0.15":"2017-09-21T05:58:36.922Z","0.0.16":"2017-09-22T19:03:51.285Z","0.0.17":"2017-10-10T02:02:10.778Z","1.0.0":"2017-11-30T19:49:44.796Z","1.0.1":"2018-02-04T22:55:05.356Z","1.0.2":"2018-03-07T04:41:35.128Z","1.1.2":"2018-10-19T17:49:36.392Z","2.0.0-beta.1":"2018-11-01T19:31:52.596Z","2.0.0-beta.2":"2018-11-02T20:38:22.067Z","2.0.0-beta.3":"2019-01-26T05:22:35.808Z","2.0.0-beta.4":"2019-01-26T07:31:07.594Z","2.0.0-beta.5":"2019-01-26T08:12:36.724Z","2.0.0-beta.6":"2019-01-27T20:53:03.000Z","2.0.0-beta.asm.1":"2019-01-27T21:00:31.589Z","2.0.0-beta.asm.2":"2019-01-27T21:35:46.654Z","2.0.0-beta.7":"2019-01-30T18:08:02.341Z","2.0.0-beta.asm.3":"2019-01-30T18:17:42.288Z","2.0.0-beta.8":"2019-01-31T00:31:12.629Z","2.0.0-beta.asm.4":"2019-01-31T00:35:52.840Z","2.0.0-asm.5":"2019-02-01T22:17:14.061Z","2.0.0":"2019-03-12T15:57:39.681Z","3.0.0":"2019-06-13T06:30:41.179Z","3.0.1":"2019-06-13T17:51:04.362Z","3.0.2":"2019-06-20T18:30:09.431Z","3.0.3":"2019-07-19T19:45:54.282Z","4.0.0":"2019-09-13T16:24:38.046Z","4.0.1":"2019-10-19T09:02:15.626Z","4.0.2":"2020-02-01T06:43:14.365Z"},"homepage":"https://github.com/kwonoj/hunspell-asm#readme","repository":{"type":"git","url":"git+https://github.com/kwonoj/hunspell-asm.git"},"author":{"name":"OJ Kwon","email":"kwon.ohjoong@gmail.com"},"bugs":{"url":"https://github.com/kwonoj/hunspell-asm/issues"},"license":"MIT","readmeFilename":"README.md","description":"WebAssembly based Javascript bindings for hunspell spellchecker","keywords":["WebAssembly","Wasm","Spellchecker","Hunspell","Language"],"users":{"eterna2":true}}