{"_id":"wordsninja","_rev":"3-2b09ebf1df9bbf31118e22059b7bd273","name":"wordsninja","dist-tags":{"latest":"1.1.0"},"versions":{"1.0.0":{"name":"wordsninja","version":"1.0.0","keywords":["split","text","sentence","english","ninja","words","word","splitter","capitalize","camel case"],"author":{"url":"http://parsa.ws","name":"Parsa Kafi","email":"parselearn@gmail.com"},"license":"MIT","_id":"wordsninja@1.0.0","maintainers":[{"name":"parsakafi","email":"parselearn@gmail.com"}],"homepage":"https://github.com/parsakafi/wordsninja","bugs":{"url":"https://github.com/parsakafi/wordsninja/issues"},"dist":{"shasum":"526e5b293ea1fb740b747675570e8fcdc0860272","tarball":"https://registry.npmjs.org/wordsninja/-/wordsninja-1.0.0.tgz","fileCount":5,"integrity":"sha512-f9aKDZ01xCjBEVxqQ4+fbSw+Jksi0OlvWV4QeqFzX78FjwREk/7ARgk0PuKlOkxGPg1ylkTYMTcKpReMVi2z4A==","signatures":[{"sig":"MEUCIBd9p0ALu097jVDIi8SIQNhHXykUXzkegyR8XlIobq5qAiEAvH3sdOl6fzzadg8aJxbnu/4Z+87gBlBoA2ycoAsGyB8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1111605,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdC4aJCRA9TVsSAnZWagAAseYQAIXBromwA2Ollk1mDidQ\nudNHz6CDl9iccOZyMT4QhgkMG57GFmaJkl0BhB7+iGzTPgQr4MKH4tV8rG2C\nOACN2HbdAqzW0/p04LMXeRwVHlBzBUz9DJV/CNUV3TT3WN55r8BZIbqPJkM/\n3zfq+AFmxpqGr1AVskn99yj77QHn8cMbXlQvWqXNNFQxOCVarj0a9R/pXQgy\nyEaAyh++a9iPbStwIEwfsrNn7wiVodvDNXqsXz4H4hDDjYtPsHbBm9ULlWxg\n1p2Qkdm6XHOxq3sAQkfGpc+NqX33VLzlAO9qqnrsl1TmMf1xwTndnPmP42Ls\ndAMe6lM/0xQB1g7S08HNKN9tq73f3GgKDeDhvClPkNNXu9KAYO7b/O7VMnmq\nAhT3h60K6n/sYr5GzMEeOQ9Zi7lQ/wmKjvUXIy+FRZQEIDx8hr3eTDcEfEBN\n9W3tQYwAeXd5ZXLzm4EUiTXZng0HA9zx27hkSckTirRFMVnnsdSF18iFNX3B\nQnTtC9ruGC+YqZIku7HWHUar+gEEmqEPxB3m8jfsJ7uEqRh6tYT+r/PvHpEX\nW6XPknceuTd2TX9gXwN3H4WZLARpq93Jp1nbUwOOquKabGhHkKceRSQmrgZo\nnDGrvfChrdudHr7295U1J2EVdfShx3Lcaw+WsvyHUNVC0SkGE/mXyZ9q6bca\n8t3X\r\n=yziI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"d0d2cba75437527fc47c21c7a887c8b1350874a0","scripts":{},"_npmUser":{"name":"parsakafi","email":"parselearn@gmail.com"},"repository":{"url":"git+https://github.com/parsakafi/wordsninja.git","type":"git"},"_npmVersion":"6.9.0","description":"Split a English sentence without any spaces nor accents, into words.","directories":{},"_nodeVersion":"12.1.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/wordsninja_1.0.0_1561036425382_0.5326145638517168","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"wordsninja","version":"1.1.0","description":"Split a English sentence without any spaces nor accents, into words.","main":"index.js","author":{"name":"Parsa Kafi","email":"parselearn@gmail.com","url":"https://parsa.ws"},"license":"MIT","scripts":{},"keywords":["split","text","sentence","english","ninja","words","word","splitter","capitalize","camel case"],"repository":{"type":"git","url":"git+https://github.com/parsakafi/wordsninja.git"},"bugs":{"url":"https://github.com/parsakafi/wordsninja/issues"},"homepage":"https://parsa.ws/projects/wordsninja-js-package","_id":"wordsninja@1.1.0","gitHead":"20be9098da5418518bbde07fdf3c358e8222de0c","_nodeVersion":"22.18.0","_npmVersion":"11.5.2","dist":{"integrity":"sha512-cxhLZHK21P3URD+F4HNeyd4Bizqyqcrh++p/oJ7fYasCMrQhwKrmCVcasUr6UuTv6YaiZ8tESxgbzZE4yf3mfA==","shasum":"2f50cf0647e4f24f0ce7f8bc6530819251c43113","tarball":"https://registry.npmjs.org/wordsninja/-/wordsninja-1.1.0.tgz","fileCount":6,"unpackedSize":1868804,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCmRZEd1RCEVgSd3fqK6U1m2Tz23n/52WSQW3+bhszgNwIhAMG28349WYxYr5oXqH8sR61FMk3XvFx8iP8OGBVTYEnT"}]},"_npmUser":{"name":"parsakafi","email":"parselearn@gmail.com"},"directories":{},"maintainers":[{"name":"parsakafi","email":"parselearn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/wordsninja_1.1.0_1755966655735_0.7865442216223777"},"_hasShrinkwrap":false}},"time":{"created":"2019-06-20T13:13:45.381Z","modified":"2025-08-23T16:30:56.257Z","1.0.0":"2019-06-20T13:13:45.534Z","1.1.0":"2025-08-23T16:30:56.048Z"},"bugs":{"url":"https://github.com/parsakafi/wordsninja/issues"},"author":{"name":"Parsa Kafi","email":"parselearn@gmail.com","url":"https://parsa.ws"},"license":"MIT","homepage":"https://parsa.ws/projects/wordsninja-js-package","keywords":["split","text","sentence","english","ninja","words","word","splitter","capitalize","camel case"],"repository":{"type":"git","url":"git+https://github.com/parsakafi/wordsninja.git"},"description":"Split a English sentence without any spaces nor accents, into words.","maintainers":[{"name":"parsakafi","email":"parselearn@gmail.com"}],"readme":"# WordsNinja\r\nSplit an English sentence that lacks spaces and accents into separate words.\r\n\r\n[![https://nodei.co/npm/wordsninja.png?downloads=true&downloadRank=true&stars=true](https://nodei.co/npm/wordsninja.png?downloads=true&downloadRank=true&stars=true)](https://www.npmjs.com/package/wordsninja)\r\n\r\n## Install\r\n```bash\r\nnpm install wordsninja --save\r\n```\r\nLoad package\r\n```js\r\nconst WordsNinjaPack = require('wordsninja');\r\nconst WordsNinja = new WordsNinjaPack();\r\n```\r\n\r\n\r\nLoad dictionary\r\n\r\n```js\r\nawait WordsNinja.loadDictionary(); // First load dictionary\r\n```\r\n\r\n\r\n\r\nAdd word(s)\r\n\r\n```js\r\nWordsNinja.addWords('new word');\r\n```\r\nParameters\r\n\r\n- `word`: The word(s) (string|array)\r\n\r\n\r\n\r\n### Split sentence\r\n\r\n```js\r\nlet words = WordsNinja.splitSentence(string, {camelCaseSplitter, capitalizeFirstLetter, joinWords});\r\n```\r\n\r\nParameters\r\n- `string`: The string for split\r\n- `options`\r\n    - `camelCaseSplitter`: Split by Camel Case, Default is `false` (optional)\r\n    - `capitalizeFirstLetter`: Capitalize First Letter, Default is `false` (optional)\r\n    - `joinWords`: Return join words as sentence, Default is `false` (optional)\r\n\r\nExample\r\n\r\n```js\r\n(async () => {\r\n    await WordsNinja.loadDictionary(); // First load dictionary\r\n    let string = 'youneedtolearnfromyourmistakes';\r\n    let words = WordsNinja.splitSentence(string);\r\n    console.log(words);\r\n})();\r\n```\r\n\r\nResult\r\n\r\n```js\r\n[ 'you', 'need', 'to', 'learn', 'from', 'your', 'mistakes' ]\r\n```\r\n\r\n\r\n\r\n#### More options\r\n\r\n```js\r\nlet string = 'youneedtolearnfromyourmistakes';\r\nlet words = WordsNinja.splitSentence(string,\r\n    {\r\n        camelCaseSplitter: true,  // Camel case splitting\r\n        capitalizeFirstLetter: true,  // Capitalize first letter of result\r\n        joinWords: true  // Join words with spaces\r\n    }\r\n);\r\nconsole.log(words);\r\n```\r\n\r\nResult\r\n\r\n```\r\nYou Need To Learn From Your Mistakes\r\n```\r\n\r\n\r\n\r\n### Add Word(s)\r\n\r\nYou can add new word(s) to dictionary in runtime\r\n```js\r\nWordsNinja.addWords('Parsa');  // Add one word\r\nWordsNinja.addWords(['Parsa', 'Kafi']); // Add one or more words\r\n```\r\n\r\nExample\r\n\r\n```js\r\nlet string = 'parsayouneedtolearnfromyourmistakes';\r\nWordsNinja.addWords('Parsa');\r\nlet words = WordsNinja.splitSentence(string,\r\n    {\r\n        capitalizeFirstLetter: true,  // Capitalize first letter of result\r\n        joinWords: true  // Join words with spaces\r\n    }\r\n);\r\nconsole.log(words);\r\n```\r\n\r\nResult\r\n\r\n```\r\nParsa You Need To Learn From Your Mistakes\r\n```\r\n\r\n\r\n\r\n\r\n## Acknowledgement\r\n\r\nAlgorithm from [How to split text without spaces into list of words?](https://stackoverflow.com/questions/8870261/how-to-split-text-without-spaces-into-list-of-words). \r\nList of words from [wordninja](https://pypi.org/project/wordninja) python package. Camel case splitter based on [split-camelcase-to-words](https://www.npmjs.com/package/split-camelcase-to-words) package.","readmeFilename":"README.md"}