├── .npmrc ├── funding.yml ├── .prettierignore ├── .gitignore ├── .editorconfig ├── test.js ├── tsconfig.json ├── .github └── workflows │ └── main.yml ├── license ├── package.json ├── data.txt ├── index.js └── readme.md /.npmrc: -------------------------------------------------------------------------------- 1 | package-lock=false 2 | -------------------------------------------------------------------------------- /funding.yml: -------------------------------------------------------------------------------- 1 | github: wooorm 2 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | coverage/ 2 | *.md 3 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | *.d.ts 3 | *.log 4 | coverage/ 5 | node_modules/ 6 | yarn.lock 7 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | indent_style = space 5 | indent_size = 2 6 | end_of_line = lf 7 | charset = utf-8 8 | trim_trailing_whitespace = true 9 | insert_final_newline = true 10 | -------------------------------------------------------------------------------- /test.js: -------------------------------------------------------------------------------- 1 | import assert from 'node:assert' 2 | import test from 'node:test' 3 | import {hedges} from './index.js' 4 | 5 | test('hedges', function () { 6 | assert.equal(typeof hedges, 'object', 'should be an array #1') 7 | assert.equal(Array.isArray(hedges), true, 'should be an array #2') 8 | assert.notEqual(hedges.indexOf('appear'), -1, 'should contain words') 9 | }) 10 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "include": ["**/**.js"], 3 | "exclude": ["coverage", "node_modules"], 4 | "compilerOptions": { 5 | "checkJs": true, 6 | "declaration": true, 7 | "emitDeclarationOnly": true, 8 | "exactOptionalPropertyTypes": true, 9 | "forceConsistentCasingInFileNames": true, 10 | "lib": ["es2020"], 11 | "module": "node16", 12 | "newLine": "lf", 13 | "skipLibCheck": true, 14 | "strict": true, 15 | "target": "es2020" 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /.github/workflows/main.yml: -------------------------------------------------------------------------------- 1 | name: main 2 | on: 3 | - pull_request 4 | - push 5 | jobs: 6 | main: 7 | name: ${{matrix.node}} 8 | runs-on: ubuntu-latest 9 | steps: 10 | - uses: actions/checkout@v3 11 | - uses: actions/setup-node@v3 12 | with: 13 | node-version: ${{matrix.node}} 14 | - run: npm install 15 | - run: npm test 16 | - uses: codecov/codecov-action@v1 17 | strategy: 18 | matrix: 19 | node: 20 | - lts/hydrogen 21 | - node 22 | -------------------------------------------------------------------------------- /license: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2014 Titus Wormer 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | 'Software'), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "hedges", 3 | "version": "2.0.1", 4 | "description": "List of (possible) English hedge words", 5 | "license": "MIT", 6 | "keywords": [ 7 | "hedge", 8 | "word", 9 | "list" 10 | ], 11 | "repository": "words/hedges", 12 | "bugs": "https://github.com/words/hedges/issues", 13 | "funding": { 14 | "type": "github", 15 | "url": "https://github.com/sponsors/wooorm" 16 | }, 17 | "author": "Titus Wormer (https://wooorm.com)", 18 | "contributors": [ 19 | "Titus Wormer (https://wooorm.com)" 20 | ], 21 | "sideEffects": false, 22 | "type": "module", 23 | "main": "index.js", 24 | "types": "index.d.ts", 25 | "files": [ 26 | "index.d.ts", 27 | "index.js" 28 | ], 29 | "devDependencies": { 30 | "@types/node": "^18.0.0", 31 | "c8": "^7.0.0", 32 | "plain-text-data-to-json": "^2.0.0", 33 | "prettier": "^2.0.0", 34 | "remark-cli": "^11.0.0", 35 | "remark-preset-wooorm": "^9.0.0", 36 | "type-coverage": "^2.0.0", 37 | "typescript": "^4.0.0", 38 | "xo": "^0.52.0" 39 | }, 40 | "scripts": { 41 | "prepack": "npm run build && npm run format", 42 | "generate": "node build.js", 43 | "build": "tsc --build --clean && tsc --build && type-coverage", 44 | "format": "remark . -qfo && prettier . -w --loglevel warn && xo --fix", 45 | "test-api": "node --conditions development test.js", 46 | "test-coverage": "c8 --check-coverage --100 --reporter lcov npm run test-api", 47 | "test": "npm run build && npm run format && npm run test-coverage" 48 | }, 49 | "prettier": { 50 | "tabWidth": 2, 51 | "useTabs": false, 52 | "singleQuote": true, 53 | "bracketSpacing": false, 54 | "semi": false, 55 | "trailingComma": "none" 56 | }, 57 | "xo": { 58 | "prettier": true 59 | }, 60 | "remarkConfig": { 61 | "plugins": [ 62 | "preset-wooorm" 63 | ] 64 | }, 65 | "typeCoverage": { 66 | "atLeast": 100, 67 | "detail": true, 68 | "strict": true 69 | } 70 | } 71 | -------------------------------------------------------------------------------- /data.txt: -------------------------------------------------------------------------------- 1 | % How to change this file: 2 | % - Every entry on a single line; 3 | % - Line-comments with a percentage-sign; 4 | % - Empty lines are ignored; 5 | % - Make sure both British and American (Australian, Canadian) English 6 | % are covered. 7 | 8 | % Sources: 9 | % - https://github.com/ohEmily/HedgeCounter/ 10 | % - http://english-language-skills.com/item/177-writing-skills-hedge-words.html (down) 11 | % - http://www.uefap.com/writing/feature/hedge.htm 12 | % - https://www.davidhanauer.com/CV/conference_papers/2012/hedging_AMIA_2012_presentation.pdf 13 | % - https://www.readwriteandedit.com/hedgewords.html 14 | % - http://deceptionanalysis.com/hedge_words.html 15 | 16 | % HedgeCounter 17 | 18 | largely 19 | generally 20 | often 21 | rarely 22 | sometimes 23 | frequently 24 | occasionally 25 | seldom 26 | usually 27 | most 28 | several 29 | some 30 | almost 31 | practically 32 | apparently 33 | virtually 34 | basically 35 | approximately 36 | roughly 37 | somewhat 38 | somehow 39 | partially 40 | actually 41 | like 42 | something 43 | someone 44 | somebody 45 | somewhere 46 | think 47 | thinks 48 | thought 49 | believe 50 | believed 51 | believes 52 | consider 53 | considers 54 | considered 55 | assume 56 | assumes 57 | assumed 58 | understand 59 | understands 60 | understood 61 | find 62 | found 63 | finds 64 | appear 65 | appears 66 | appeared 67 | seem 68 | seems 69 | seemed 70 | suppose 71 | supposes 72 | supposed 73 | guess 74 | guesses 75 | guessed 76 | estimate 77 | estimates 78 | estimated 79 | speculate 80 | speculates 81 | speculated 82 | suggest 83 | suggests 84 | suggested 85 | may 86 | could 87 | should 88 | might 89 | surely 90 | probably 91 | likely 92 | maybe 93 | perhaps 94 | unsure 95 | probable 96 | unlikely 97 | possibly 98 | possible 99 | read 100 | say 101 | says 102 | looks like 103 | look like 104 | don't know 105 | necessarily 106 | kind of 107 | much 108 | bunch 109 | couple 110 | few 111 | little 112 | really 113 | and all that 114 | and so forth 115 | et cetera 116 | in my mind 117 | in my opinion 118 | their impression 119 | my impression 120 | in my understanding 121 | my thinking is 122 | my understanding is 123 | in my view 124 | if i'm understanding you correctly 125 | something or other 126 | so far 127 | at least 128 | 129 | % english-language-skills 130 | 131 | about 132 | around 133 | can 134 | effectively 135 | evidently 136 | fairly 137 | hopefully 138 | in general 139 | mainly 140 | more or less 141 | mostly 142 | overall 143 | presumably 144 | 145 | % Such as, pretty strong, pretty weak 146 | pretty 147 | quite clearly 148 | quite 149 | rather 150 | sort of 151 | supposedly 152 | 153 | 154 | % uefap 155 | 156 | tend 157 | appear to be 158 | doubt 159 | be sure 160 | indicate 161 | will 162 | must 163 | would 164 | certainly 165 | definitely 166 | clearly 167 | conceivably 168 | certain 169 | definite 170 | clear 171 | assumption 172 | possibility 173 | probability 174 | 175 | % Others: 176 | 177 | many 178 | almost never 179 | improbable 180 | always 181 | % never 182 | rare 183 | consistent with 184 | % not 185 | doubtful 186 | suggestive 187 | diagnostic 188 | inconclusive 189 | apparent 190 | alleged 191 | allege 192 | a bit 193 | presumable 194 | -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * List of *supposed* English (both British and American) hedge words. 3 | */ 4 | export const hedges = [ 5 | 'a bit', 6 | 'about', 7 | 'actually', 8 | 'allege', 9 | 'alleged', 10 | 'almost', 11 | 'almost never', 12 | 'always', 13 | 'and all that', 14 | 'and so forth', 15 | 'apparent', 16 | 'apparently', 17 | 'appear', 18 | 'appear to be', 19 | 'appeared', 20 | 'appears', 21 | 'approximately', 22 | 'around', 23 | 'assume', 24 | 'assumed', 25 | 'assumes', 26 | 'assumption', 27 | 'at least', 28 | 'basically', 29 | 'be sure', 30 | 'believe', 31 | 'believed', 32 | 'believes', 33 | 'bunch', 34 | 'can', 35 | 'certain', 36 | 'certainly', 37 | 'clear', 38 | 'clearly', 39 | 'conceivably', 40 | 'consider', 41 | 'considered', 42 | 'considers', 43 | 'consistent with', 44 | 'could', 45 | 'couple', 46 | 'definite', 47 | 'definitely', 48 | 'diagnostic', 49 | "don't know", 50 | 'doubt', 51 | 'doubtful', 52 | 'effectively', 53 | 'estimate', 54 | 'estimated', 55 | 'estimates', 56 | 'et cetera', 57 | 'evidently', 58 | 'fairly', 59 | 'few', 60 | 'find', 61 | 'finds', 62 | 'found', 63 | 'frequently', 64 | 'generally', 65 | 'guess', 66 | 'guessed', 67 | 'guesses', 68 | 'hopefully', 69 | "if i'm understanding you correctly", 70 | 'improbable', 71 | 'in general', 72 | 'in my mind', 73 | 'in my opinion', 74 | 'in my understanding', 75 | 'in my view', 76 | 'inconclusive', 77 | 'indicate', 78 | 'kind of', 79 | 'largely', 80 | 'like', 81 | 'likely', 82 | 'little', 83 | 'look like', 84 | 'looks like', 85 | 'mainly', 86 | 'many', 87 | 'may', 88 | 'maybe', 89 | 'might', 90 | 'more or less', 91 | 'most', 92 | 'mostly', 93 | 'much', 94 | 'must', 95 | 'my impression', 96 | 'my thinking is', 97 | 'my understanding is', 98 | 'necessarily', 99 | 'occasionally', 100 | 'often', 101 | 'overall', 102 | 'partially', 103 | 'perhaps', 104 | 'possibility', 105 | 'possible', 106 | 'possibly', 107 | 'practically', 108 | 'presumable', 109 | 'presumably', 110 | 'pretty', 111 | 'probability', 112 | 'probable', 113 | 'probably', 114 | 'quite', 115 | 'quite clearly', 116 | 'rare', 117 | 'rarely', 118 | 'rather', 119 | 'read', 120 | 'really', 121 | 'roughly', 122 | 'say', 123 | 'says', 124 | 'seem', 125 | 'seemed', 126 | 'seems', 127 | 'seldom', 128 | 'several', 129 | 'should', 130 | 'so far', 131 | 'some', 132 | 'somebody', 133 | 'somehow', 134 | 'someone', 135 | 'something', 136 | 'something or other', 137 | 'sometimes', 138 | 'somewhat', 139 | 'somewhere', 140 | 'sort of', 141 | 'speculate', 142 | 'speculated', 143 | 'speculates', 144 | 'suggest', 145 | 'suggested', 146 | 'suggestive', 147 | 'suggests', 148 | 'suppose', 149 | 'supposed', 150 | 'supposedly', 151 | 'supposes', 152 | 'surely', 153 | 'tend', 154 | 'their impression', 155 | 'think', 156 | 'thinks', 157 | 'thought', 158 | 'understand', 159 | 'understands', 160 | 'understood', 161 | 'unlikely', 162 | 'unsure', 163 | 'usually', 164 | 'virtually', 165 | 'will', 166 | 'would' 167 | ] 168 | -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- 1 | # hedges 2 | 3 | [![Build][build-badge]][build] 4 | [![Coverage][coverage-badge]][coverage] 5 | [![Downloads][downloads-badge]][downloads] 6 | [![Size][size-badge]][size] 7 | 8 | List of *supposed* English (both British and American) hedge words. 9 | 10 | ## Contents 11 | 12 | * [What is this?](#what-is-this) 13 | * [When should I use this?](#when-should-i-use-this) 14 | * [Install](#install) 15 | * [Use](#use) 16 | * [API](#api) 17 | * [`hedges`](#hedges-1) 18 | * [Data](#data) 19 | * [Types](#types) 20 | * [Compatibility](#compatibility) 21 | * [Related](#related) 22 | * [Contribute](#contribute) 23 | * [Security](#security) 24 | * [License](#license) 25 | 26 | ## What is this? 27 | 28 | This package exposes a list of [hedge][wiki] words, which are typically used 29 | to introduce ambiguity or indecisiveness. 30 | 31 | ## When should I use this? 32 | 33 | Use this when you want to do fun things with natural language. 34 | 35 | ## Install 36 | 37 | This package is [ESM only][esm]. 38 | In Node.js (version 14.14+, 16.0+), install with [npm][]: 39 | 40 | ```sh 41 | npm install hedges 42 | ``` 43 | 44 | In Deno with [`esm.sh`][esmsh]: 45 | 46 | ```js 47 | import {hedges} from 'https://esm.sh/hedges@2' 48 | ``` 49 | 50 | In browsers with [`esm.sh`][esmsh]: 51 | 52 | ```html 53 | 56 | ``` 57 | 58 | ## Use 59 | 60 | ```js 61 | import {hedges} from 'hedges' 62 | 63 | console.log(hedges.length) //=> 162 64 | 65 | console.log(hedges.slice(0, 10)) 66 | ``` 67 | 68 | Yields: 69 | 70 | ```js 71 | [ 'a bit', 72 | 'about', 73 | 'actually', 74 | 'allege', 75 | 'alleged', 76 | 'almost', 77 | 'almost never', 78 | 'always', 79 | 'and all that', 80 | 'and so forth' ] 81 | ``` 82 | 83 | ## API 84 | 85 | This package exports the identifier `hedges`. 86 | There is no default export. 87 | 88 | ### `hedges` 89 | 90 | *Roughly*, **hedges** exposes information as a list of strings 91 | (`Array`). 92 | 93 | ## Data 94 | 95 | For a complete list of supported hedge words and phrases, *like*, see 96 | [`data.txt`][data]. 97 | 98 | > 👉 **Note**: that the words listed in **hedges** are *speculated* to be 99 | > hedges, although *perhaps* not. 100 | 101 | ## Types 102 | 103 | This package is fully typed with [TypeScript][]. 104 | It exports no additional types. 105 | 106 | ## Compatibility 107 | 108 | This package is at least compatible with all maintained versions of Node.js. 109 | As of now, that is Node.js 14.14+ and 16.0+. 110 | It also works in Deno and modern browsers. 111 | 112 | ## Related 113 | 114 | * [`buzzwords`](https://github.com/words/buzzwords) 115 | — list of buzzwords 116 | * [`dale-chall`](https://github.com/words/dale-chall) 117 | — list of familiar American-English words (1995) 118 | * [`fillers`](https://github.com/words/fillers) 119 | — list of filler words 120 | * [`profanities`](https://github.com/words/profanities) 121 | — list of profane words 122 | * [`spache`](https://github.com/words/spache) 123 | — list of simple American-English words (1974) 124 | * [`weasels`](https://github.com/words/weasels) 125 | — list of weasel words 126 | 127 | ## Contribute 128 | 129 | Yes please! 130 | See [How to Contribute to Open Source][contribute]. 131 | 132 | ## Security 133 | 134 | This package is safe. 135 | 136 | ## License 137 | 138 | [MIT][license] © [Titus Wormer][author] 139 | 140 | 141 | 142 | [build-badge]: https://github.com/words/hedges/workflows/main/badge.svg 143 | 144 | [build]: https://github.com/words/hedges/actions 145 | 146 | [coverage-badge]: https://img.shields.io/codecov/c/github/words/hedges.svg 147 | 148 | [coverage]: https://codecov.io/github/words/hedges 149 | 150 | [downloads-badge]: https://img.shields.io/npm/dm/hedges.svg 151 | 152 | [downloads]: https://www.npmjs.com/package/hedges 153 | 154 | [size-badge]: https://img.shields.io/bundlephobia/minzip/hedges.svg 155 | 156 | [size]: https://bundlephobia.com/result?p=hedges 157 | 158 | [npm]: https://docs.npmjs.com/cli/install 159 | 160 | [esm]: https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c 161 | 162 | [esmsh]: https://esm.sh 163 | 164 | [typescript]: https://www.typescriptlang.org 165 | 166 | [contribute]: https://opensource.guide/how-to-contribute/ 167 | 168 | [license]: license 169 | 170 | [author]: https://wooorm.com 171 | 172 | [data]: data.txt 173 | 174 | [wiki]: https://en.wikipedia.org/wiki/Hedge_\(linguistics\) 175 | --------------------------------------------------------------------------------