├── .eslintignore ├── .eslintrc.yml ├── .github └── workflows │ └── build.yml ├── .gitignore ├── .prettierignore ├── .prettierrc ├── LICENSE ├── README.md ├── package-lock.json ├── package.json ├── src └── index.ts └── tsconfig.json /.eslintignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | lib 3 | -------------------------------------------------------------------------------- /.eslintrc.yml: -------------------------------------------------------------------------------- 1 | env: 2 | browser: true 3 | es6: true 4 | extends: 5 | [ 6 | "plugin:@typescript-eslint/recommended", 7 | "prettier/@typescript-eslint", 8 | "plugin:prettier/recommended", 9 | ] 10 | plugins: ["@typescript-eslint", "prettier"] 11 | settings: 12 | react: 13 | pragma: "React" 14 | version: "detect" 15 | globals: 16 | Atomics: readonly 17 | SharedArrayBuffer: readonly 18 | parser: "@typescript-eslint/parser" 19 | parserOptions: 20 | ecmaVersion: 2018 21 | sourceType: module 22 | rules: 23 | linebreak-style: 24 | - error 25 | - unix 26 | quotes: 27 | - error 28 | - single 29 | - avoidEscape: true 30 | allowTemplateLiterals: true 31 | semi: 32 | - off 33 | "@typescript-eslint/semi": 34 | - error 35 | object-curly-spacing: 36 | - warn 37 | - always 38 | "@typescript-eslint/explicit-function-return-type": 39 | - off 40 | -------------------------------------------------------------------------------- /.github/workflows/build.yml: -------------------------------------------------------------------------------- 1 | name: CI 2 | 3 | on: [push] 4 | 5 | jobs: 6 | build: 7 | runs-on: ubuntu-latest 8 | 9 | steps: 10 | - uses: actions/checkout@v1 11 | - name: Install 12 | run: npm install 13 | - name: Build 14 | run: npm run build 15 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | 2 | # Created by https://www.gitignore.io/api/node,linux,macos,windows,intellij+all 3 | # Edit at https://www.gitignore.io/?templates=node,linux,macos,windows,intellij+all 4 | 5 | ### Intellij+all ### 6 | # Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and WebStorm 7 | # Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 8 | 9 | # User-specific stuff 10 | .idea/**/workspace.xml 11 | .idea/**/tasks.xml 12 | .idea/**/usage.statistics.xml 13 | .idea/**/dictionaries 14 | .idea/**/shelf 15 | 16 | # Generated files 17 | .idea/**/contentModel.xml 18 | 19 | # Sensitive or high-churn files 20 | .idea/**/dataSources/ 21 | .idea/**/dataSources.ids 22 | .idea/**/dataSources.local.xml 23 | .idea/**/sqlDataSources.xml 24 | .idea/**/dynamic.xml 25 | .idea/**/uiDesigner.xml 26 | .idea/**/dbnavigator.xml 27 | 28 | # Gradle 29 | .idea/**/gradle.xml 30 | .idea/**/libraries 31 | 32 | # Gradle and Maven with auto-import 33 | # When using Gradle or Maven with auto-import, you should exclude module files, 34 | # since they will be recreated, and may cause churn. Uncomment if using 35 | # auto-import. 36 | # .idea/modules.xml 37 | # .idea/*.iml 38 | # .idea/modules 39 | # *.iml 40 | # *.ipr 41 | 42 | # CMake 43 | cmake-build-*/ 44 | 45 | # Mongo Explorer plugin 46 | .idea/**/mongoSettings.xml 47 | 48 | # File-based project format 49 | *.iws 50 | 51 | # IntelliJ 52 | out/ 53 | 54 | # mpeltonen/sbt-idea plugin 55 | .idea_modules/ 56 | 57 | # JIRA plugin 58 | atlassian-ide-plugin.xml 59 | 60 | # Cursive Clojure plugin 61 | .idea/replstate.xml 62 | 63 | # Crashlytics plugin (for Android Studio and IntelliJ) 64 | com_crashlytics_export_strings.xml 65 | crashlytics.properties 66 | crashlytics-build.properties 67 | fabric.properties 68 | 69 | # Editor-based Rest Client 70 | .idea/httpRequests 71 | 72 | # Android studio 3.1+ serialized cache file 73 | .idea/caches/build_file_checksums.ser 74 | 75 | ### Intellij+all Patch ### 76 | # Ignores the whole .idea folder and all .iml files 77 | # See https://github.com/joeblau/gitignore.io/issues/186 and https://github.com/joeblau/gitignore.io/issues/360 78 | 79 | .idea/ 80 | 81 | # Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-249601023 82 | 83 | *.iml 84 | modules.xml 85 | .idea/misc.xml 86 | *.ipr 87 | 88 | # Sonarlint plugin 89 | .idea/sonarlint 90 | 91 | ### Linux ### 92 | *~ 93 | 94 | # temporary files which can be created if a process still has a handle open of a deleted file 95 | .fuse_hidden* 96 | 97 | # KDE directory preferences 98 | .directory 99 | 100 | # Linux trash folder which might appear on any partition or disk 101 | .Trash-* 102 | 103 | # .nfs files are created when an open file is removed but is still being accessed 104 | .nfs* 105 | 106 | ### macOS ### 107 | # General 108 | .DS_Store 109 | .AppleDouble 110 | .LSOverride 111 | 112 | # Icon must end with two \r 113 | Icon 114 | 115 | # Thumbnails 116 | ._* 117 | 118 | # Files that might appear in the root of a volume 119 | .DocumentRevisions-V100 120 | .fseventsd 121 | .Spotlight-V100 122 | .TemporaryItems 123 | .Trashes 124 | .VolumeIcon.icns 125 | .com.apple.timemachine.donotpresent 126 | 127 | # Directories potentially created on remote AFP share 128 | .AppleDB 129 | .AppleDesktop 130 | Network Trash Folder 131 | Temporary Items 132 | .apdisk 133 | 134 | ### Node ### 135 | # Logs 136 | logs 137 | *.log 138 | npm-debug.log* 139 | yarn-debug.log* 140 | yarn-error.log* 141 | lerna-debug.log* 142 | 143 | # Diagnostic reports (https://nodejs.org/api/report.html) 144 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json 145 | 146 | # Runtime data 147 | pids 148 | *.pid 149 | *.seed 150 | *.pid.lock 151 | 152 | # Directory for instrumented libs generated by jscoverage/JSCover 153 | lib-cov 154 | 155 | # Coverage directory used by tools like istanbul 156 | coverage 157 | *.lcov 158 | 159 | # nyc test coverage 160 | .nyc_output 161 | 162 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) 163 | .grunt 164 | 165 | # Bower dependency directory (https://bower.io/) 166 | bower_components 167 | 168 | # node-waf configuration 169 | .lock-wscript 170 | 171 | # Compiled binary addons (https://nodejs.org/api/addons.html) 172 | build/Release 173 | 174 | # Dependency directories 175 | node_modules/ 176 | jspm_packages/ 177 | 178 | # TypeScript v1 declaration files 179 | typings/ 180 | 181 | # TypeScript cache 182 | *.tsbuildinfo 183 | 184 | # Optional npm cache directory 185 | .npm 186 | 187 | # Optional eslint cache 188 | .eslintcache 189 | 190 | # Optional REPL history 191 | .node_repl_history 192 | 193 | # Output of 'npm pack' 194 | *.tgz 195 | 196 | # Yarn Integrity file 197 | .yarn-integrity 198 | 199 | # dotenv environment variables file 200 | .env 201 | .env.test 202 | 203 | # parcel-bundler cache (https://parceljs.org/) 204 | .cache 205 | 206 | # next.js build output 207 | .next 208 | 209 | # nuxt.js build output 210 | .nuxt 211 | 212 | # react / gatsby 213 | public/ 214 | 215 | # vuepress build output 216 | .vuepress/dist 217 | 218 | # Serverless directories 219 | .serverless/ 220 | 221 | # FuseBox cache 222 | .fusebox/ 223 | 224 | # DynamoDB Local files 225 | .dynamodb/ 226 | 227 | ### Windows ### 228 | # Windows thumbnail cache files 229 | Thumbs.db 230 | Thumbs.db:encryptable 231 | ehthumbs.db 232 | ehthumbs_vista.db 233 | 234 | # Dump file 235 | *.stackdump 236 | 237 | # Folder config file 238 | [Dd]esktop.ini 239 | 240 | # Recycle Bin used on file shares 241 | $RECYCLE.BIN/ 242 | 243 | # Windows Installer files 244 | *.cab 245 | *.msi 246 | *.msix 247 | *.msm 248 | *.msp 249 | 250 | # Windows shortcuts 251 | *.lnk 252 | 253 | # End of https://www.gitignore.io/api/node,linux,macos,windows,intellij+all 254 | lib 255 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | package.json 2 | package-lock.json 3 | node_modules 4 | -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "useTabs": false, 3 | "printWidth": 80, 4 | "tabWidth": 2, 5 | "singleQuote": true, 6 | "trailingComma": "all", 7 | "jsxBracketSameLine": false, 8 | "arrowParens": "always", 9 | "endOfLine": "lf", 10 | "parser": "typescript" 11 | } 12 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) [2019] [Ryan Lee] 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Postgres Error Codes 2 | 3 | ![actions-badge](https://github.com/drdgvhbh/postgres-error-codes/workflows/CI/badge.svg) 4 | 5 | Postgres error codes mapping for NodeJS. 6 | 7 | ## Install 8 | ``` 9 | npm i @drdgvhbh/postgres-error-codes 10 | ``` 11 | 12 | ## Usage 13 | 14 | Each condition from the [PG documentation](https://www.postgresql.org/docs/9.2/errcodes-appendix.html) is available in the module. In order to obtain the status code use the prefixed uppercase condition name: 15 | 16 | `unique_violation` => `PG_UNIQUE_VIOLATION` 17 | 18 | `not_null_violation` => `PG_NOT_NULL_VIOLATION` 19 | 20 | ```javascript 21 | const { PG_UNIQUE_VIOLATION, PG_NOT_NULL_VIOLATION } = require('postgres-error-codes') 22 | 23 | async function createUserMethod(req, res, next) { 24 | try { 25 | // Run insert user SQL 26 | } catch (err) { 27 | // If user with same email already exists 28 | if (err.code === PG_UNIQUE_VIOLATION) { 29 | return next('Email already exists!') 30 | } 31 | 32 | // Param should not be null 33 | if (err.code === PG_NOT_NULL_VIOLATION) { 34 | return next('Email required!') 35 | } 36 | 37 | next(err) 38 | } 39 | } 40 | ``` 41 | 42 | ## Related 43 | - [PostgreSQL Error Codes Documentation](https://www.postgresql.org/docs/9.2/errcodes-appendix.html) 44 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@drdgvhbh/postgres-error-codes", 3 | "version": "0.0.6", 4 | "lockfileVersion": 1, 5 | "requires": true, 6 | "dependencies": { 7 | "@babel/code-frame": { 8 | "version": "7.5.5", 9 | "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz", 10 | "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==", 11 | "dev": true, 12 | "requires": { 13 | "@babel/highlight": "^7.0.0" 14 | } 15 | }, 16 | "@babel/highlight": { 17 | "version": "7.5.0", 18 | "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz", 19 | "integrity": "sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==", 20 | "dev": true, 21 | "requires": { 22 | "chalk": "^2.0.0", 23 | "esutils": "^2.0.2", 24 | "js-tokens": "^4.0.0" 25 | } 26 | }, 27 | "@types/eslint-visitor-keys": { 28 | "version": "1.0.0", 29 | "resolved": "https://registry.npmjs.org/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", 30 | "integrity": "sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag==", 31 | "dev": true 32 | }, 33 | "@types/json-schema": { 34 | "version": "7.0.4", 35 | "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.4.tgz", 36 | "integrity": "sha512-8+KAKzEvSUdeo+kmqnKrqgeE+LcA0tjYWFY7RPProVYwnqDjukzO+3b6dLD56rYX5TdWejnEOLJYOIeh4CXKuA==", 37 | "dev": true 38 | }, 39 | "@typescript-eslint/eslint-plugin": { 40 | "version": "2.13.0", 41 | "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.13.0.tgz", 42 | "integrity": "sha512-QoiANo0MMGNa8ej/yX3BrW5dZj5d8HYcKiM2fyYUlezECqn8Xc7T/e4EUdiGinn8jhBrn+9X47E9TWaaup3u1g==", 43 | "dev": true, 44 | "requires": { 45 | "@typescript-eslint/experimental-utils": "2.13.0", 46 | "eslint-utils": "^1.4.3", 47 | "functional-red-black-tree": "^1.0.1", 48 | "regexpp": "^3.0.0", 49 | "tsutils": "^3.17.1" 50 | } 51 | }, 52 | "@typescript-eslint/experimental-utils": { 53 | "version": "2.13.0", 54 | "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.13.0.tgz", 55 | "integrity": "sha512-+Hss3clwa6aNiC8ZjA45wEm4FutDV5HsVXPl/rDug1THq6gEtOYRGLqS3JlTk7mSnL5TbJz0LpEbzbPnKvY6sw==", 56 | "dev": true, 57 | "requires": { 58 | "@types/json-schema": "^7.0.3", 59 | "@typescript-eslint/typescript-estree": "2.13.0", 60 | "eslint-scope": "^5.0.0" 61 | } 62 | }, 63 | "@typescript-eslint/parser": { 64 | "version": "2.13.0", 65 | "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-2.13.0.tgz", 66 | "integrity": "sha512-vbDeLr5QRJ1K7x5iRK8J9wuGwR9OVyd1zDAY9XFAQvAosHVjSVbDgkm328ayE6hx2QWVGhwvGaEhedcqAbfQcA==", 67 | "dev": true, 68 | "requires": { 69 | "@types/eslint-visitor-keys": "^1.0.0", 70 | "@typescript-eslint/experimental-utils": "2.13.0", 71 | "@typescript-eslint/typescript-estree": "2.13.0", 72 | "eslint-visitor-keys": "^1.1.0" 73 | } 74 | }, 75 | "@typescript-eslint/typescript-estree": { 76 | "version": "2.13.0", 77 | "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.13.0.tgz", 78 | "integrity": "sha512-t21Mg5cc8T3ADEUGwDisHLIubgXKjuNRbkpzDMLb7/JMmgCe/gHM9FaaujokLey+gwTuLF5ndSQ7/EfQqrQx4g==", 79 | "dev": true, 80 | "requires": { 81 | "debug": "^4.1.1", 82 | "eslint-visitor-keys": "^1.1.0", 83 | "glob": "^7.1.6", 84 | "is-glob": "^4.0.1", 85 | "lodash.unescape": "4.0.1", 86 | "semver": "^6.3.0", 87 | "tsutils": "^3.17.1" 88 | } 89 | }, 90 | "acorn": { 91 | "version": "7.1.0", 92 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.0.tgz", 93 | "integrity": "sha512-kL5CuoXA/dgxlBbVrflsflzQ3PAas7RYZB52NOm/6839iVYJgKMJ3cQJD+t2i5+qFa8h3MDpEOJiS64E8JLnSQ==", 94 | "dev": true 95 | }, 96 | "acorn-jsx": { 97 | "version": "5.1.0", 98 | "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.1.0.tgz", 99 | "integrity": "sha512-tMUqwBWfLFbJbizRmEcWSLw6HnFzfdJs2sOJEOwwtVPMoH/0Ay+E703oZz78VSXZiiDcZrQ5XKjPIUQixhmgVw==", 100 | "dev": true 101 | }, 102 | "ajv": { 103 | "version": "6.10.2", 104 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz", 105 | "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==", 106 | "dev": true, 107 | "requires": { 108 | "fast-deep-equal": "^2.0.1", 109 | "fast-json-stable-stringify": "^2.0.0", 110 | "json-schema-traverse": "^0.4.1", 111 | "uri-js": "^4.2.2" 112 | } 113 | }, 114 | "ansi-escapes": { 115 | "version": "4.3.0", 116 | "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.0.tgz", 117 | "integrity": "sha512-EiYhwo0v255HUL6eDyuLrXEkTi7WwVCLAw+SeOQ7M7qdun1z1pum4DEm/nuqIVbPvi9RPPc9k9LbyBv6H0DwVg==", 118 | "dev": true, 119 | "requires": { 120 | "type-fest": "^0.8.1" 121 | } 122 | }, 123 | "ansi-regex": { 124 | "version": "5.0.0", 125 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", 126 | "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", 127 | "dev": true 128 | }, 129 | "ansi-styles": { 130 | "version": "3.2.1", 131 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", 132 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", 133 | "dev": true, 134 | "requires": { 135 | "color-convert": "^1.9.0" 136 | } 137 | }, 138 | "argparse": { 139 | "version": "1.0.10", 140 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", 141 | "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", 142 | "dev": true, 143 | "requires": { 144 | "sprintf-js": "~1.0.2" 145 | } 146 | }, 147 | "astral-regex": { 148 | "version": "1.0.0", 149 | "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", 150 | "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", 151 | "dev": true 152 | }, 153 | "balanced-match": { 154 | "version": "1.0.0", 155 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", 156 | "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", 157 | "dev": true 158 | }, 159 | "brace-expansion": { 160 | "version": "1.1.11", 161 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 162 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 163 | "dev": true, 164 | "requires": { 165 | "balanced-match": "^1.0.0", 166 | "concat-map": "0.0.1" 167 | } 168 | }, 169 | "callsites": { 170 | "version": "3.1.0", 171 | "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", 172 | "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", 173 | "dev": true 174 | }, 175 | "chalk": { 176 | "version": "2.4.2", 177 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", 178 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", 179 | "dev": true, 180 | "requires": { 181 | "ansi-styles": "^3.2.1", 182 | "escape-string-regexp": "^1.0.5", 183 | "supports-color": "^5.3.0" 184 | } 185 | }, 186 | "chardet": { 187 | "version": "0.7.0", 188 | "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", 189 | "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", 190 | "dev": true 191 | }, 192 | "cli-cursor": { 193 | "version": "3.1.0", 194 | "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", 195 | "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", 196 | "dev": true, 197 | "requires": { 198 | "restore-cursor": "^3.1.0" 199 | } 200 | }, 201 | "cli-width": { 202 | "version": "2.2.0", 203 | "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", 204 | "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", 205 | "dev": true 206 | }, 207 | "color-convert": { 208 | "version": "1.9.3", 209 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", 210 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", 211 | "dev": true, 212 | "requires": { 213 | "color-name": "1.1.3" 214 | } 215 | }, 216 | "color-name": { 217 | "version": "1.1.3", 218 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", 219 | "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", 220 | "dev": true 221 | }, 222 | "concat-map": { 223 | "version": "0.0.1", 224 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 225 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", 226 | "dev": true 227 | }, 228 | "cross-spawn": { 229 | "version": "6.0.5", 230 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", 231 | "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", 232 | "dev": true, 233 | "requires": { 234 | "nice-try": "^1.0.4", 235 | "path-key": "^2.0.1", 236 | "semver": "^5.5.0", 237 | "shebang-command": "^1.2.0", 238 | "which": "^1.2.9" 239 | }, 240 | "dependencies": { 241 | "semver": { 242 | "version": "5.7.1", 243 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", 244 | "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", 245 | "dev": true 246 | } 247 | } 248 | }, 249 | "debug": { 250 | "version": "4.1.1", 251 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", 252 | "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", 253 | "dev": true, 254 | "requires": { 255 | "ms": "^2.1.1" 256 | } 257 | }, 258 | "deep-is": { 259 | "version": "0.1.3", 260 | "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", 261 | "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", 262 | "dev": true 263 | }, 264 | "doctrine": { 265 | "version": "3.0.0", 266 | "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", 267 | "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", 268 | "dev": true, 269 | "requires": { 270 | "esutils": "^2.0.2" 271 | } 272 | }, 273 | "emoji-regex": { 274 | "version": "8.0.0", 275 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 276 | "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", 277 | "dev": true 278 | }, 279 | "escape-string-regexp": { 280 | "version": "1.0.5", 281 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 282 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", 283 | "dev": true 284 | }, 285 | "eslint": { 286 | "version": "6.8.0", 287 | "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz", 288 | "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==", 289 | "dev": true, 290 | "requires": { 291 | "@babel/code-frame": "^7.0.0", 292 | "ajv": "^6.10.0", 293 | "chalk": "^2.1.0", 294 | "cross-spawn": "^6.0.5", 295 | "debug": "^4.0.1", 296 | "doctrine": "^3.0.0", 297 | "eslint-scope": "^5.0.0", 298 | "eslint-utils": "^1.4.3", 299 | "eslint-visitor-keys": "^1.1.0", 300 | "espree": "^6.1.2", 301 | "esquery": "^1.0.1", 302 | "esutils": "^2.0.2", 303 | "file-entry-cache": "^5.0.1", 304 | "functional-red-black-tree": "^1.0.1", 305 | "glob-parent": "^5.0.0", 306 | "globals": "^12.1.0", 307 | "ignore": "^4.0.6", 308 | "import-fresh": "^3.0.0", 309 | "imurmurhash": "^0.1.4", 310 | "inquirer": "^7.0.0", 311 | "is-glob": "^4.0.0", 312 | "js-yaml": "^3.13.1", 313 | "json-stable-stringify-without-jsonify": "^1.0.1", 314 | "levn": "^0.3.0", 315 | "lodash": "^4.17.14", 316 | "minimatch": "^3.0.4", 317 | "mkdirp": "^0.5.1", 318 | "natural-compare": "^1.4.0", 319 | "optionator": "^0.8.3", 320 | "progress": "^2.0.0", 321 | "regexpp": "^2.0.1", 322 | "semver": "^6.1.2", 323 | "strip-ansi": "^5.2.0", 324 | "strip-json-comments": "^3.0.1", 325 | "table": "^5.2.3", 326 | "text-table": "^0.2.0", 327 | "v8-compile-cache": "^2.0.3" 328 | }, 329 | "dependencies": { 330 | "regexpp": { 331 | "version": "2.0.1", 332 | "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", 333 | "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", 334 | "dev": true 335 | } 336 | } 337 | }, 338 | "eslint-config-prettier": { 339 | "version": "6.9.0", 340 | "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-6.9.0.tgz", 341 | "integrity": "sha512-k4E14HBtcLv0uqThaI6I/n1LEqROp8XaPu6SO9Z32u5NlGRC07Enu1Bh2KEFw4FNHbekH8yzbIU9kUGxbiGmCA==", 342 | "dev": true, 343 | "requires": { 344 | "get-stdin": "^6.0.0" 345 | } 346 | }, 347 | "eslint-plugin-prettier": { 348 | "version": "3.1.2", 349 | "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.1.2.tgz", 350 | "integrity": "sha512-GlolCC9y3XZfv3RQfwGew7NnuFDKsfI4lbvRK+PIIo23SFH+LemGs4cKwzAaRa+Mdb+lQO/STaIayno8T5sJJA==", 351 | "dev": true, 352 | "requires": { 353 | "prettier-linter-helpers": "^1.0.0" 354 | } 355 | }, 356 | "eslint-scope": { 357 | "version": "5.0.0", 358 | "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.0.0.tgz", 359 | "integrity": "sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==", 360 | "dev": true, 361 | "requires": { 362 | "esrecurse": "^4.1.0", 363 | "estraverse": "^4.1.1" 364 | } 365 | }, 366 | "eslint-utils": { 367 | "version": "1.4.3", 368 | "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", 369 | "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", 370 | "dev": true, 371 | "requires": { 372 | "eslint-visitor-keys": "^1.1.0" 373 | } 374 | }, 375 | "eslint-visitor-keys": { 376 | "version": "1.1.0", 377 | "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz", 378 | "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==", 379 | "dev": true 380 | }, 381 | "espree": { 382 | "version": "6.1.2", 383 | "resolved": "https://registry.npmjs.org/espree/-/espree-6.1.2.tgz", 384 | "integrity": "sha512-2iUPuuPP+yW1PZaMSDM9eyVf8D5P0Hi8h83YtZ5bPc/zHYjII5khoixIUTMO794NOY8F/ThF1Bo8ncZILarUTA==", 385 | "dev": true, 386 | "requires": { 387 | "acorn": "^7.1.0", 388 | "acorn-jsx": "^5.1.0", 389 | "eslint-visitor-keys": "^1.1.0" 390 | } 391 | }, 392 | "esprima": { 393 | "version": "4.0.1", 394 | "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", 395 | "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", 396 | "dev": true 397 | }, 398 | "esquery": { 399 | "version": "1.0.1", 400 | "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz", 401 | "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==", 402 | "dev": true, 403 | "requires": { 404 | "estraverse": "^4.0.0" 405 | } 406 | }, 407 | "esrecurse": { 408 | "version": "4.2.1", 409 | "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", 410 | "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", 411 | "dev": true, 412 | "requires": { 413 | "estraverse": "^4.1.0" 414 | } 415 | }, 416 | "estraverse": { 417 | "version": "4.3.0", 418 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", 419 | "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", 420 | "dev": true 421 | }, 422 | "esutils": { 423 | "version": "2.0.3", 424 | "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", 425 | "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", 426 | "dev": true 427 | }, 428 | "external-editor": { 429 | "version": "3.1.0", 430 | "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", 431 | "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", 432 | "dev": true, 433 | "requires": { 434 | "chardet": "^0.7.0", 435 | "iconv-lite": "^0.4.24", 436 | "tmp": "^0.0.33" 437 | } 438 | }, 439 | "fast-deep-equal": { 440 | "version": "2.0.1", 441 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", 442 | "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", 443 | "dev": true 444 | }, 445 | "fast-diff": { 446 | "version": "1.2.0", 447 | "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", 448 | "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", 449 | "dev": true 450 | }, 451 | "fast-json-stable-stringify": { 452 | "version": "2.1.0", 453 | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", 454 | "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", 455 | "dev": true 456 | }, 457 | "fast-levenshtein": { 458 | "version": "2.0.6", 459 | "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", 460 | "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", 461 | "dev": true 462 | }, 463 | "figures": { 464 | "version": "3.1.0", 465 | "resolved": "https://registry.npmjs.org/figures/-/figures-3.1.0.tgz", 466 | "integrity": "sha512-ravh8VRXqHuMvZt/d8GblBeqDMkdJMBdv/2KntFH+ra5MXkO7nxNKpzQ3n6QD/2da1kH0aWmNISdvhM7gl2gVg==", 467 | "dev": true, 468 | "requires": { 469 | "escape-string-regexp": "^1.0.5" 470 | } 471 | }, 472 | "file-entry-cache": { 473 | "version": "5.0.1", 474 | "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", 475 | "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", 476 | "dev": true, 477 | "requires": { 478 | "flat-cache": "^2.0.1" 479 | } 480 | }, 481 | "flat-cache": { 482 | "version": "2.0.1", 483 | "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", 484 | "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", 485 | "dev": true, 486 | "requires": { 487 | "flatted": "^2.0.0", 488 | "rimraf": "2.6.3", 489 | "write": "1.0.3" 490 | }, 491 | "dependencies": { 492 | "rimraf": { 493 | "version": "2.6.3", 494 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", 495 | "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", 496 | "dev": true, 497 | "requires": { 498 | "glob": "^7.1.3" 499 | } 500 | } 501 | } 502 | }, 503 | "flatted": { 504 | "version": "2.0.1", 505 | "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.1.tgz", 506 | "integrity": "sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==", 507 | "dev": true 508 | }, 509 | "fs.realpath": { 510 | "version": "1.0.0", 511 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 512 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", 513 | "dev": true 514 | }, 515 | "functional-red-black-tree": { 516 | "version": "1.0.1", 517 | "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", 518 | "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", 519 | "dev": true 520 | }, 521 | "get-stdin": { 522 | "version": "6.0.0", 523 | "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz", 524 | "integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==", 525 | "dev": true 526 | }, 527 | "glob": { 528 | "version": "7.1.6", 529 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", 530 | "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", 531 | "dev": true, 532 | "requires": { 533 | "fs.realpath": "^1.0.0", 534 | "inflight": "^1.0.4", 535 | "inherits": "2", 536 | "minimatch": "^3.0.4", 537 | "once": "^1.3.0", 538 | "path-is-absolute": "^1.0.0" 539 | } 540 | }, 541 | "glob-parent": { 542 | "version": "5.1.0", 543 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz", 544 | "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==", 545 | "dev": true, 546 | "requires": { 547 | "is-glob": "^4.0.1" 548 | } 549 | }, 550 | "globals": { 551 | "version": "12.3.0", 552 | "resolved": "https://registry.npmjs.org/globals/-/globals-12.3.0.tgz", 553 | "integrity": "sha512-wAfjdLgFsPZsklLJvOBUBmzYE8/CwhEqSBEMRXA3qxIiNtyqvjYurAtIfDh6chlEPUfmTY3MnZh5Hfh4q0UlIw==", 554 | "dev": true, 555 | "requires": { 556 | "type-fest": "^0.8.1" 557 | } 558 | }, 559 | "has-flag": { 560 | "version": "3.0.0", 561 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", 562 | "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", 563 | "dev": true 564 | }, 565 | "iconv-lite": { 566 | "version": "0.4.24", 567 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", 568 | "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", 569 | "dev": true, 570 | "requires": { 571 | "safer-buffer": ">= 2.1.2 < 3" 572 | } 573 | }, 574 | "ignore": { 575 | "version": "4.0.6", 576 | "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", 577 | "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", 578 | "dev": true 579 | }, 580 | "import-fresh": { 581 | "version": "3.2.1", 582 | "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", 583 | "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", 584 | "dev": true, 585 | "requires": { 586 | "parent-module": "^1.0.0", 587 | "resolve-from": "^4.0.0" 588 | } 589 | }, 590 | "imurmurhash": { 591 | "version": "0.1.4", 592 | "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", 593 | "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", 594 | "dev": true 595 | }, 596 | "inflight": { 597 | "version": "1.0.6", 598 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 599 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", 600 | "dev": true, 601 | "requires": { 602 | "once": "^1.3.0", 603 | "wrappy": "1" 604 | } 605 | }, 606 | "inherits": { 607 | "version": "2.0.4", 608 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 609 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", 610 | "dev": true 611 | }, 612 | "inquirer": { 613 | "version": "7.0.1", 614 | "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.0.1.tgz", 615 | "integrity": "sha512-V1FFQ3TIO15det8PijPLFR9M9baSlnRs9nL7zWu1MNVA2T9YVl9ZbrHJhYs7e9X8jeMZ3lr2JH/rdHFgNCBdYw==", 616 | "dev": true, 617 | "requires": { 618 | "ansi-escapes": "^4.2.1", 619 | "chalk": "^2.4.2", 620 | "cli-cursor": "^3.1.0", 621 | "cli-width": "^2.0.0", 622 | "external-editor": "^3.0.3", 623 | "figures": "^3.0.0", 624 | "lodash": "^4.17.15", 625 | "mute-stream": "0.0.8", 626 | "run-async": "^2.2.0", 627 | "rxjs": "^6.5.3", 628 | "string-width": "^4.1.0", 629 | "strip-ansi": "^5.1.0", 630 | "through": "^2.3.6" 631 | } 632 | }, 633 | "is-extglob": { 634 | "version": "2.1.1", 635 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 636 | "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", 637 | "dev": true 638 | }, 639 | "is-fullwidth-code-point": { 640 | "version": "3.0.0", 641 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", 642 | "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", 643 | "dev": true 644 | }, 645 | "is-glob": { 646 | "version": "4.0.1", 647 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", 648 | "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", 649 | "dev": true, 650 | "requires": { 651 | "is-extglob": "^2.1.1" 652 | } 653 | }, 654 | "is-promise": { 655 | "version": "2.1.0", 656 | "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", 657 | "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", 658 | "dev": true 659 | }, 660 | "isexe": { 661 | "version": "2.0.0", 662 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 663 | "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", 664 | "dev": true 665 | }, 666 | "js-tokens": { 667 | "version": "4.0.0", 668 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", 669 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", 670 | "dev": true 671 | }, 672 | "js-yaml": { 673 | "version": "3.13.1", 674 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", 675 | "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", 676 | "dev": true, 677 | "requires": { 678 | "argparse": "^1.0.7", 679 | "esprima": "^4.0.0" 680 | } 681 | }, 682 | "json-schema-traverse": { 683 | "version": "0.4.1", 684 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", 685 | "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", 686 | "dev": true 687 | }, 688 | "json-stable-stringify-without-jsonify": { 689 | "version": "1.0.1", 690 | "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", 691 | "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", 692 | "dev": true 693 | }, 694 | "levn": { 695 | "version": "0.3.0", 696 | "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", 697 | "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", 698 | "dev": true, 699 | "requires": { 700 | "prelude-ls": "~1.1.2", 701 | "type-check": "~0.3.2" 702 | } 703 | }, 704 | "lodash": { 705 | "version": "4.17.15", 706 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", 707 | "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", 708 | "dev": true 709 | }, 710 | "lodash.unescape": { 711 | "version": "4.0.1", 712 | "resolved": "https://registry.npmjs.org/lodash.unescape/-/lodash.unescape-4.0.1.tgz", 713 | "integrity": "sha1-vyJJiGzlFM2hEvrpIYzcBlIR/Jw=", 714 | "dev": true 715 | }, 716 | "mimic-fn": { 717 | "version": "2.1.0", 718 | "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", 719 | "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", 720 | "dev": true 721 | }, 722 | "minimatch": { 723 | "version": "3.0.4", 724 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", 725 | "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", 726 | "dev": true, 727 | "requires": { 728 | "brace-expansion": "^1.1.7" 729 | } 730 | }, 731 | "minimist": { 732 | "version": "0.0.8", 733 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", 734 | "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", 735 | "dev": true 736 | }, 737 | "mkdirp": { 738 | "version": "0.5.1", 739 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", 740 | "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", 741 | "dev": true, 742 | "requires": { 743 | "minimist": "0.0.8" 744 | } 745 | }, 746 | "ms": { 747 | "version": "2.1.2", 748 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 749 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", 750 | "dev": true 751 | }, 752 | "mute-stream": { 753 | "version": "0.0.8", 754 | "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", 755 | "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", 756 | "dev": true 757 | }, 758 | "natural-compare": { 759 | "version": "1.4.0", 760 | "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", 761 | "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", 762 | "dev": true 763 | }, 764 | "nice-try": { 765 | "version": "1.0.5", 766 | "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", 767 | "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", 768 | "dev": true 769 | }, 770 | "once": { 771 | "version": "1.4.0", 772 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 773 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", 774 | "dev": true, 775 | "requires": { 776 | "wrappy": "1" 777 | } 778 | }, 779 | "onetime": { 780 | "version": "5.1.0", 781 | "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", 782 | "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", 783 | "dev": true, 784 | "requires": { 785 | "mimic-fn": "^2.1.0" 786 | } 787 | }, 788 | "optionator": { 789 | "version": "0.8.3", 790 | "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", 791 | "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", 792 | "dev": true, 793 | "requires": { 794 | "deep-is": "~0.1.3", 795 | "fast-levenshtein": "~2.0.6", 796 | "levn": "~0.3.0", 797 | "prelude-ls": "~1.1.2", 798 | "type-check": "~0.3.2", 799 | "word-wrap": "~1.2.3" 800 | } 801 | }, 802 | "os-tmpdir": { 803 | "version": "1.0.2", 804 | "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", 805 | "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", 806 | "dev": true 807 | }, 808 | "parent-module": { 809 | "version": "1.0.1", 810 | "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", 811 | "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", 812 | "dev": true, 813 | "requires": { 814 | "callsites": "^3.0.0" 815 | } 816 | }, 817 | "path-is-absolute": { 818 | "version": "1.0.1", 819 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 820 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", 821 | "dev": true 822 | }, 823 | "path-key": { 824 | "version": "2.0.1", 825 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", 826 | "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", 827 | "dev": true 828 | }, 829 | "prelude-ls": { 830 | "version": "1.1.2", 831 | "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", 832 | "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", 833 | "dev": true 834 | }, 835 | "prettier": { 836 | "version": "1.19.1", 837 | "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", 838 | "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==", 839 | "dev": true 840 | }, 841 | "prettier-linter-helpers": { 842 | "version": "1.0.0", 843 | "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", 844 | "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", 845 | "dev": true, 846 | "requires": { 847 | "fast-diff": "^1.1.2" 848 | } 849 | }, 850 | "progress": { 851 | "version": "2.0.3", 852 | "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", 853 | "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", 854 | "dev": true 855 | }, 856 | "punycode": { 857 | "version": "2.1.1", 858 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", 859 | "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", 860 | "dev": true 861 | }, 862 | "regexpp": { 863 | "version": "3.0.0", 864 | "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.0.0.tgz", 865 | "integrity": "sha512-Z+hNr7RAVWxznLPuA7DIh8UNX1j9CDrUQxskw9IrBE1Dxue2lyXT+shqEIeLUjrokxIP8CMy1WkjgG3rTsd5/g==", 866 | "dev": true 867 | }, 868 | "resolve-from": { 869 | "version": "4.0.0", 870 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", 871 | "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", 872 | "dev": true 873 | }, 874 | "restore-cursor": { 875 | "version": "3.1.0", 876 | "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", 877 | "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", 878 | "dev": true, 879 | "requires": { 880 | "onetime": "^5.1.0", 881 | "signal-exit": "^3.0.2" 882 | } 883 | }, 884 | "rimraf": { 885 | "version": "3.0.0", 886 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.0.tgz", 887 | "integrity": "sha512-NDGVxTsjqfunkds7CqsOiEnxln4Bo7Nddl3XhS4pXg5OzwkLqJ971ZVAAnB+DDLnF76N+VnDEiBHaVV8I06SUg==", 888 | "dev": true, 889 | "requires": { 890 | "glob": "^7.1.3" 891 | } 892 | }, 893 | "run-async": { 894 | "version": "2.3.0", 895 | "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", 896 | "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", 897 | "dev": true, 898 | "requires": { 899 | "is-promise": "^2.1.0" 900 | } 901 | }, 902 | "rxjs": { 903 | "version": "6.5.4", 904 | "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz", 905 | "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==", 906 | "dev": true, 907 | "requires": { 908 | "tslib": "^1.9.0" 909 | } 910 | }, 911 | "safer-buffer": { 912 | "version": "2.1.2", 913 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", 914 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", 915 | "dev": true 916 | }, 917 | "semver": { 918 | "version": "6.3.0", 919 | "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", 920 | "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", 921 | "dev": true 922 | }, 923 | "shebang-command": { 924 | "version": "1.2.0", 925 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", 926 | "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", 927 | "dev": true, 928 | "requires": { 929 | "shebang-regex": "^1.0.0" 930 | } 931 | }, 932 | "shebang-regex": { 933 | "version": "1.0.0", 934 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", 935 | "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", 936 | "dev": true 937 | }, 938 | "signal-exit": { 939 | "version": "3.0.2", 940 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", 941 | "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", 942 | "dev": true 943 | }, 944 | "slice-ansi": { 945 | "version": "2.1.0", 946 | "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", 947 | "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", 948 | "dev": true, 949 | "requires": { 950 | "ansi-styles": "^3.2.0", 951 | "astral-regex": "^1.0.0", 952 | "is-fullwidth-code-point": "^2.0.0" 953 | }, 954 | "dependencies": { 955 | "is-fullwidth-code-point": { 956 | "version": "2.0.0", 957 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", 958 | "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", 959 | "dev": true 960 | } 961 | } 962 | }, 963 | "sprintf-js": { 964 | "version": "1.0.3", 965 | "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", 966 | "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", 967 | "dev": true 968 | }, 969 | "string-width": { 970 | "version": "4.2.0", 971 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", 972 | "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", 973 | "dev": true, 974 | "requires": { 975 | "emoji-regex": "^8.0.0", 976 | "is-fullwidth-code-point": "^3.0.0", 977 | "strip-ansi": "^6.0.0" 978 | }, 979 | "dependencies": { 980 | "strip-ansi": { 981 | "version": "6.0.0", 982 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", 983 | "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", 984 | "dev": true, 985 | "requires": { 986 | "ansi-regex": "^5.0.0" 987 | } 988 | } 989 | } 990 | }, 991 | "strip-ansi": { 992 | "version": "5.2.0", 993 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", 994 | "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", 995 | "dev": true, 996 | "requires": { 997 | "ansi-regex": "^4.1.0" 998 | }, 999 | "dependencies": { 1000 | "ansi-regex": { 1001 | "version": "4.1.0", 1002 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", 1003 | "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", 1004 | "dev": true 1005 | } 1006 | } 1007 | }, 1008 | "strip-json-comments": { 1009 | "version": "3.0.1", 1010 | "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.0.1.tgz", 1011 | "integrity": "sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==", 1012 | "dev": true 1013 | }, 1014 | "supports-color": { 1015 | "version": "5.5.0", 1016 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", 1017 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", 1018 | "dev": true, 1019 | "requires": { 1020 | "has-flag": "^3.0.0" 1021 | } 1022 | }, 1023 | "table": { 1024 | "version": "5.4.6", 1025 | "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", 1026 | "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", 1027 | "dev": true, 1028 | "requires": { 1029 | "ajv": "^6.10.2", 1030 | "lodash": "^4.17.14", 1031 | "slice-ansi": "^2.1.0", 1032 | "string-width": "^3.0.0" 1033 | }, 1034 | "dependencies": { 1035 | "emoji-regex": { 1036 | "version": "7.0.3", 1037 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", 1038 | "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", 1039 | "dev": true 1040 | }, 1041 | "is-fullwidth-code-point": { 1042 | "version": "2.0.0", 1043 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", 1044 | "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", 1045 | "dev": true 1046 | }, 1047 | "string-width": { 1048 | "version": "3.1.0", 1049 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", 1050 | "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", 1051 | "dev": true, 1052 | "requires": { 1053 | "emoji-regex": "^7.0.1", 1054 | "is-fullwidth-code-point": "^2.0.0", 1055 | "strip-ansi": "^5.1.0" 1056 | } 1057 | } 1058 | } 1059 | }, 1060 | "text-table": { 1061 | "version": "0.2.0", 1062 | "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", 1063 | "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", 1064 | "dev": true 1065 | }, 1066 | "through": { 1067 | "version": "2.3.8", 1068 | "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", 1069 | "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", 1070 | "dev": true 1071 | }, 1072 | "tmp": { 1073 | "version": "0.0.33", 1074 | "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", 1075 | "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", 1076 | "dev": true, 1077 | "requires": { 1078 | "os-tmpdir": "~1.0.2" 1079 | } 1080 | }, 1081 | "tslib": { 1082 | "version": "1.10.0", 1083 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz", 1084 | "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==", 1085 | "dev": true 1086 | }, 1087 | "tsutils": { 1088 | "version": "3.17.1", 1089 | "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.17.1.tgz", 1090 | "integrity": "sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g==", 1091 | "dev": true, 1092 | "requires": { 1093 | "tslib": "^1.8.1" 1094 | } 1095 | }, 1096 | "type-check": { 1097 | "version": "0.3.2", 1098 | "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", 1099 | "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", 1100 | "dev": true, 1101 | "requires": { 1102 | "prelude-ls": "~1.1.2" 1103 | } 1104 | }, 1105 | "type-fest": { 1106 | "version": "0.8.1", 1107 | "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", 1108 | "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", 1109 | "dev": true 1110 | }, 1111 | "typescript": { 1112 | "version": "3.7.4", 1113 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.7.4.tgz", 1114 | "integrity": "sha512-A25xv5XCtarLwXpcDNZzCGvW2D1S3/bACratYBx2sax8PefsFhlYmkQicKHvpYflFS8if4zne5zT5kpJ7pzuvw==", 1115 | "dev": true 1116 | }, 1117 | "uri-js": { 1118 | "version": "4.2.2", 1119 | "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", 1120 | "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", 1121 | "dev": true, 1122 | "requires": { 1123 | "punycode": "^2.1.0" 1124 | } 1125 | }, 1126 | "v8-compile-cache": { 1127 | "version": "2.1.0", 1128 | "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz", 1129 | "integrity": "sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g==", 1130 | "dev": true 1131 | }, 1132 | "which": { 1133 | "version": "1.3.1", 1134 | "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", 1135 | "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", 1136 | "dev": true, 1137 | "requires": { 1138 | "isexe": "^2.0.0" 1139 | } 1140 | }, 1141 | "word-wrap": { 1142 | "version": "1.2.3", 1143 | "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", 1144 | "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", 1145 | "dev": true 1146 | }, 1147 | "wrappy": { 1148 | "version": "1.0.2", 1149 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 1150 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", 1151 | "dev": true 1152 | }, 1153 | "write": { 1154 | "version": "1.0.3", 1155 | "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", 1156 | "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", 1157 | "dev": true, 1158 | "requires": { 1159 | "mkdirp": "^0.5.1" 1160 | } 1161 | } 1162 | } 1163 | } 1164 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@drdgvhbh/postgres-error-codes", 3 | "version": "0.0.6", 4 | "description": "Postgres Error Codes", 5 | "main": "lib/index.js", 6 | "keywords": [ 7 | "postgres", 8 | "nodejs", 9 | "error", 10 | "codes" 11 | ], 12 | "author": "Ryan Lee (https://rlee.dev)", 13 | "repository": { 14 | "type": "git", 15 | "url": "git+https://github.com/drdgvhbh/postgres-error-codes.git" 16 | }, 17 | "license": "MIT", 18 | "bugs": { 19 | "url": "https://github.com/drdgvhbh/postgres-error-codes/issues" 20 | }, 21 | "homepage": "https://github.com/drdgvhbh/postgres-error-codes#readme", 22 | "dependencies": {}, 23 | "scripts": { 24 | "prepublishOnly": "npm run clean && npm run build", 25 | "prepare": "npm run build", 26 | "clean": "rimraf lib", 27 | "build": "tsc", 28 | "lint": "eslint \"./**/*.{ts,js}\"", 29 | "lint:fix": "eslint --fix \"./**/*.{ts,js}\"" 30 | }, 31 | "devDependencies": { 32 | "@typescript-eslint/eslint-plugin": "^2.13.0", 33 | "@typescript-eslint/parser": "^2.13.0", 34 | "eslint": "^6.8.0", 35 | "eslint-config-prettier": "^6.9.0", 36 | "eslint-plugin-prettier": "^3.1.2", 37 | "prettier": "^1.19.1", 38 | "rimraf": "^3.0.0", 39 | "typescript": "^3.7.4" 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- 1 | export const PG_SUCCESSFUL_COMPLETION = '00000'; 2 | export const PG_WARNING = '01000'; 3 | export const PG_DYNAMIC_RESULT_SETS_RETURNED = '0100C'; 4 | export const PG_IMPLICIT_ZERO_BIT_PADDING = '01008'; 5 | export const PG_NULL_VALUE_ELIMINATED_IN_SET_FUNCTION = '01003'; 6 | export const PG_PRIVILEGE_NOT_GRANTED = '01007'; 7 | export const PG_PRIVILEGE_NOT_REVOKED = '01006'; 8 | export const PG_STRING_DATA_RIGHT_TRUNCATION = '01004'; 9 | export const PG_DEPRECATED_FEATURE = '01P01'; 10 | export const PG_NO_DATA = '02000'; 11 | export const PG_NO_ADDITIONAL_DYNAMIC_RESULT_SETS_RETURNED = '02001'; 12 | export const PG_SQL_STATEMENT_NOT_YET_COMPLETE = '03000'; 13 | export const PG_CONNECTION_EXCEPTION = '08000'; 14 | export const PG_CONNECTION_DOES_NOT_EXIST = '08003'; 15 | export const PG_CONNECTION_FAILURE = '08006'; 16 | export const PG_SQLCLIENT_UNABLE_TO_ESTABLISH_SQLCONNECTION = '08001'; 17 | export const PG_SQLSERVER_REJECTED_ESTABLISHMENT_OF_SQLCONNECTION = '08004'; 18 | export const PG_TRANSACTION_RESOLUTION_UNKNOWN = '08007'; 19 | export const PG_PROTOCOL_VIOLATION = '08P01'; 20 | export const PG_TRIGGERED_ACTION_EXCEPTION = '09000'; 21 | export const PG_FEATURE_NOT_SUPPORTED = '0A000'; 22 | export const PG_INVALID_TRANSACTION_INITIATION = '0B000'; 23 | export const PG_LOCATOR_EXCEPTION = '0F000'; 24 | export const PG_INVALID_LOCATOR_SPECIFICATION = '0F001'; 25 | export const PG_INVALID_GRANTOR = '0L000'; 26 | export const PG_INVALID_GRANT_OPERATION = '0LP01'; 27 | export const PG_INVALID_ROLE_SPECIFICATION = '0P000'; 28 | export const PG_DIAGNOSTICS_EXCEPTION = '0Z000'; 29 | export const PG_STACKED_DIAGNOSTICS_ACCESSED_WITHOUT_ACTIVE_HANDLER = '0Z002'; 30 | export const PG_CASE_NOT_FOUND = '20000'; 31 | export const PG_CARDINALITY_VIOLATION = '21000'; 32 | export const PG_DATA_EXCEPTION = '22000'; 33 | export const PG_ARRAY_SUBSCRIPT_ERROR = '2202E'; 34 | export const PG_CHARACTER_NOT_IN_REPERTOIRE = '22021'; 35 | export const PG_DATETIME_FIELD_OVERFLOW = '22008'; 36 | export const PG_DIVISION_BY_ZERO = '22012'; 37 | export const PG_ERROR_IN_ASSIGNMENT = '22005'; 38 | export const PG_ESCAPE_CHARACTER_CONFLICT = '2200B'; 39 | export const PG_INDICATOR_OVERFLOW = '22022'; 40 | export const PG_INTERVAL_FIELD_OVERFLOW = '22015'; 41 | export const PG_INVALID_ARGUMENT_FOR_LOGARITHM = '2201E'; 42 | export const PG_INVALID_ARGUMENT_FOR_NTILE_FUNCTION = '22014'; 43 | export const PG_INVALID_ARGUMENT_FOR_NTH_VALUE_FUNCTION = '22016'; 44 | export const PG_INVALID_ARGUMENT_FOR_POWER_FUNCTION = '2201F'; 45 | export const PG_INVALID_ARGUMENT_FOR_WIDTH_BUCKET_FUNCTION = '2201G'; 46 | export const PG_INVALID_CHARACTER_VALUE_FOR_CAST = '22018'; 47 | export const PG_INVALID_DATETIME_FORMAT = '22007'; 48 | export const PG_INVALID_ESCAPE_CHARACTER = '22019'; 49 | export const PG_INVALID_ESCAPE_OCTET = '2200D'; 50 | export const PG_INVALID_ESCAPE_SEQUENCE = '22025'; 51 | export const PG_NONSTANDARD_USE_OF_ESCAPE_CHARACTER = '22P06'; 52 | export const PG_INVALID_INDICATOR_PARAMETER_VALUE = '22010'; 53 | export const PG_INVALID_PARAMETER_VALUE = '22023'; 54 | export const PG_INVALID_REGULAR_EXPRESSION = '2201B'; 55 | export const PG_INVALID_ROW_COUNT_IN_LIMIT_CLAUSE = '2201W'; 56 | export const PG_INVALID_ROW_COUNT_IN_RESULT_OFFSET_CLAUSE = '2201X'; 57 | export const PG_INVALID_TIME_ZONE_DISPLACEMENT_VALUE = '22009'; 58 | export const PG_INVALID_USE_OF_ESCAPE_CHARACTER = '2200C'; 59 | export const PG_MOST_SPECIFIC_TYPE_MISMATCH = '2200G'; 60 | export const PG_NULL_VALUE_NOT_ALLOWED = '22004'; 61 | export const PG_NULL_VALUE_NO_INDICATOR_PARAMETER = '22002'; 62 | export const PG_NUMERIC_VALUE_OUT_OF_RANGE = '22003'; 63 | export const PG_STRING_DATA_LENGTH_MISMATCH = '22026'; 64 | export const PG_DATA_STRING_DATA_RIGHT_TRUNCATION = '22001'; 65 | export const PG_SUBSTRING_ERROR = '22011'; 66 | export const PG_TRIM_ERROR = '22027'; 67 | export const PG_UNTERMINATED_C_STRING = '22024'; 68 | export const PG_ZERO_LENGTH_CHARACTER_STRING = '2200F'; 69 | export const PG_FLOATING_POINT_EXCEPTION = '22P01'; 70 | export const PG_INVALID_TEXT_REPRESENTATION = '22P02'; 71 | export const PG_INVALID_BINARY_REPRESENTATION = '22P03'; 72 | export const PG_BAD_COPY_FILE_FORMAT = '22P04'; 73 | export const PG_UNTRANSLATABLE_CHARACTER = '22P05'; 74 | export const PG_NOT_AN_XML_DOCUMENT = '2200L'; 75 | export const PG_INVALID_XML_DOCUMENT = '2200M'; 76 | export const PG_INVALID_XML_CONTENT = '2200N'; 77 | export const PG_INVALID_XML_COMMENT = '2200S'; 78 | export const PG_INVALID_XML_PROCESSING_INSTRUCTION = '2200T'; 79 | export const PG_INTEGRITY_CONSTRAINT_VIOLATION = '23000'; 80 | export const PG_RESTRICT_VIOLATION = '23001'; 81 | export const PG_NOT_NULL_VIOLATION = '23502'; 82 | export const PG_FOREIGN_KEY_VIOLATION = '23503'; 83 | export const PG_UNIQUE_VIOLATION = '23505'; 84 | export const PG_CHECK_VIOLATION = '23514'; 85 | export const PG_EXCLUSION_VIOLATION = '23P01'; 86 | export const PG_INVALID_CURSOR_STATE = '24000'; 87 | export const PG_INVALID_TRANSACTION_STATE = '25000'; 88 | export const PG_ACTIVE_SQL_TRANSACTION = '25001'; 89 | export const PG_BRANCH_TRANSACTION_ALREADY_ACTIVE = '25002'; 90 | export const PG_HELD_CURSOR_REQUIRES_SAME_ISOLATION_LEVEL = '25008'; 91 | export const PG_INAPPROPRIATE_ACCESS_MODE_FOR_BRANCH_TRANSACTION = '25003'; 92 | export const PG_INAPPROPRIATE_ISOLATION_LEVEL_FOR_BRANCH_TRANSACTION = '25004'; 93 | export const PG_NO_ACTIVE_SQL_TRANSACTION_FOR_BRANCH_TRANSACTION = '25005'; 94 | export const PG_READ_ONLY_SQL_TRANSACTION = '25006'; 95 | export const PG_SCHEMA_AND_DATA_STATEMENT_MIXING_NOT_SUPPORTED = '25007'; 96 | export const PG_NO_ACTIVE_SQL_TRANSACTION = '25P01'; 97 | export const PG_IN_FAILED_SQL_TRANSACTION = '25P02'; 98 | export const PG_INVALID_SQL_STATEMENT_NAME = '26000'; 99 | export const PG_TRIGGERED_DATA_CHANGE_VIOLATION = '27000'; 100 | export const PG_INVALID_AUTHORIZATION_SPECIFICATION = '28000'; 101 | export const PG_INVALID_PASSWORD = '28P01'; 102 | export const PG_DEPENDENT_PRIVILEGE_DESCRIPTORS_STILL_EXIST = '2B000'; 103 | export const PG_DEPENDENT_OBJECTS_STILL_EXIST = '2BP01'; 104 | export const PG_INVALID_TRANSACTION_TERMINATION = '2D000'; 105 | export const PG_SQL_ROUTINE_EXCEPTION = '2F000'; 106 | export const PG_FUNCTION_EXECUTED_NO_RETURN_STATEMENT = '2F005'; 107 | export const PG_SQL_ROUTINE_MODIFYING_SQL_DATA_NOT_PERMITTED = '2F002'; 108 | export const PG_SQL_ROUTINE_PROHIBITED_SQL_STATEMENT_ATTEMPTED = '2F003'; 109 | export const PG_SQL_ROUTINE_READING_SQL_DATA_NOT_PERMITTED = '2F004'; 110 | export const PG_INVALID_CURSOR_NAME = '34000'; 111 | export const PG_EXTERNAL_ROUTINE_EXCEPTION = '38000'; 112 | export const PG_CONTAINING_SQL_NOT_PERMITTED = '38001'; 113 | export const PG_EXTERNAL_ROUTINE_MODIFYING_SQL_DATA_NOT_PERMITTED = '38002'; 114 | export const PG_EXTERNAL_ROUTINE_PROHIBITED_SQL_STATEMENT_ATTEMPTED = '38003'; 115 | export const PG_EXTERNAL_ROUTINE_READING_SQL_DATA_NOT_PERMITTED = '38004'; 116 | export const PG_EXTERNAL_ROUTINE_INVOCATION_EXCEPTION = '39000'; 117 | export const PG_INVALID_SQLSTATE_RETURNED = '39001'; 118 | export const PG_EXTERNAL_ROUTINE_NULL_VALUE_NOT_ALLOWED = '39004'; 119 | export const PG_TRIGGER_PROTOCOL_VIOLATED = '39P01'; 120 | export const PG_SRF_PROTOCOL_VIOLATED = '39P02'; 121 | export const PG_SAVEPOINT_EXCEPTION = '3B000'; 122 | export const PG_INVALID_SAVEPOINT_SPECIFICATION = '3B001'; 123 | export const PG_INVALID_CATALOG_NAME = '3D000'; 124 | export const PG_INVALID_SCHEMA_NAME = '3F000'; 125 | export const PG_TRANSACTION_ROLLBACK = '40000'; 126 | export const PG_TRANSACTION_INTEGRITY_CONSTRAINT_VIOLATION = '40002'; 127 | export const PG_SERIALIZATION_FAILURE = '40001'; 128 | export const PG_STATEMENT_COMPLETION_UNKNOWN = '40003'; 129 | export const PG_DEADLOCK_DETECTED = '40P01'; 130 | export const PG_SYNTAX_ERROR_OR_ACCESS_RULE_VIOLATION = '42000'; 131 | export const PG_SYNTAX_ERROR = '42601'; 132 | export const PG_INSUFFICIENT_PRIVILEGE = '42501'; 133 | export const PG_CANNOT_COERCE = '42846'; 134 | export const PG_GROUPING_ERROR = '42803'; 135 | export const PG_WINDOWING_ERROR = '42P20'; 136 | export const PG_INVALID_RECURSION = '42P19'; 137 | export const PG_INVALID_FOREIGN_KEY = '42830'; 138 | export const PG_INVALID_NAME = '42602'; 139 | export const PG_NAME_TOO_LONG = '42622'; 140 | export const PG_RESERVED_NAME = '42939'; 141 | export const PG_DATATYPE_MISMATCH = '42804'; 142 | export const PG_INDETERMINATE_DATATYPE = '42P18'; 143 | export const PG_COLLATION_MISMATCH = '42P21'; 144 | export const PG_INDETERMINATE_COLLATION = '42P22'; 145 | export const PG_WRONG_OBJECT_TYPE = '42809'; 146 | export const PG_UNDEFINED_COLUMN = '42703'; 147 | export const PG_UNDEFINED_FUNCTION = '42883'; 148 | export const PG_UNDEFINED_TABLE = '42P01'; 149 | export const PG_UNDEFINED_PARAMETER = '42P02'; 150 | export const PG_UNDEFINED_OBJECT = '42704'; 151 | export const PG_DUPLICATE_COLUMN = '42701'; 152 | export const PG_DUPLICATE_CURSOR = '42P03'; 153 | export const PG_DUPLICATE_DATABASE = '42P04'; 154 | export const PG_DUPLICATE_FUNCTION = '42723'; 155 | export const PG_DUPLICATE_PREPARED_STATEMENT = '42P05'; 156 | export const PG_DUPLICATE_SCHEMA = '42P06'; 157 | export const PG_DUPLICATE_TABLE = '42P07'; 158 | export const PG_DUPLICATE_ALIAS = '42712'; 159 | export const PG_DUPLICATE_OBJECT = '42710'; 160 | export const PG_AMBIGUOUS_COLUMN = '42702'; 161 | export const PG_AMBIGUOUS_FUNCTION = '42725'; 162 | export const PG_AMBIGUOUS_PARAMETER = '42P08'; 163 | export const PG_AMBIGUOUS_ALIAS = '42P09'; 164 | export const PG_INVALID_COLUMN_REFERENCE = '42P10'; 165 | export const PG_INVALID_COLUMN_DEFINITION = '42611'; 166 | export const PG_INVALID_CURSOR_DEFINITION = '42P11'; 167 | export const PG_INVALID_DATABASE_DEFINITION = '42P12'; 168 | export const PG_INVALID_FUNCTION_DEFINITION = '42P13'; 169 | export const PG_INVALID_PREPARED_STATEMENT_DEFINITION = '42P14'; 170 | export const PG_INVALID_SCHEMA_DEFINITION = '42P15'; 171 | export const PG_INVALID_TABLE_DEFINITION = '42P16'; 172 | export const PG_INVALID_OBJECT_DEFINITION = '42P17'; 173 | export const PG_WITH_CHECK_OPTION_VIOLATION = '44000'; 174 | export const PG_INSUFFICIENT_RESOURCES = '53000'; 175 | export const PG_DISK_FULL = '53100'; 176 | export const PG_OUT_OF_MEMORY = '53200'; 177 | export const PG_TOO_MANY_CONNECTIONS = '53300'; 178 | export const PG_CONFIGURATION_LIMIT_EXCEEDED = '53400'; 179 | export const PG_PROGRAM_LIMIT_EXCEEDED = '54000'; 180 | export const PG_STATEMENT_TOO_COMPLEX = '54001'; 181 | export const PG_TOO_MANY_COLUMNS = '54011'; 182 | export const PG_TOO_MANY_ARGUMENTS = '54023'; 183 | export const PG_OBJECT_NOT_IN_PREREQUISITE_STATE = '55000'; 184 | export const PG_OBJECT_IN_USE = '55006'; 185 | export const PG_CANT_CHANGE_RUNTIME_PARAM = '55P02'; 186 | export const PG_LOCK_NOT_AVAILABLE = '55P03'; 187 | export const PG_OPERATOR_INTERVENTION = '57000'; 188 | export const PG_QUERY_CANCELED = '57014'; 189 | export const PG_ADMIN_SHUTDOWN = '57P01'; 190 | export const PG_CRASH_SHUTDOWN = '57P02'; 191 | export const PG_CANNOT_CONNECT_NOW = '57P03'; 192 | export const PG_DATABASE_DROPPED = '57P04'; 193 | export const PG_SYSTEM_ERROR = '58000'; 194 | export const PG_IO_ERROR = '58030'; 195 | export const PG_UNDEFINED_FILE = '58P01'; 196 | export const PG_DUPLICATE_FILE = '58P02'; 197 | export const PG_CONFIG_FILE_ERROR = 'F0000'; 198 | export const PG_LOCK_FILE_EXISTS = 'F0001'; 199 | export const PG_FDW_ERROR = 'HV000'; 200 | export const PG_FDW_COLUMN_NAME_NOT_FOUND = 'HV005'; 201 | export const PG_FDW_DYNAMIC_PARAMETER_VALUE_NEEDED = 'HV002'; 202 | export const PG_FDW_FUNCTION_SEQUENCE_ERROR = 'HV010'; 203 | export const PG_FDW_INCONSISTENT_DESCRIPTOR_INFORMATION = 'HV021'; 204 | export const PG_FDW_INVALID_ATTRIBUTE_VALUE = 'HV024'; 205 | export const PG_FDW_INVALID_COLUMN_NAME = 'HV007'; 206 | export const PG_FDW_INVALID_COLUMN_NUMBER = 'HV008'; 207 | export const PG_FDW_INVALID_DATA_TYPE = 'HV004'; 208 | export const PG_FDW_INVALID_DATA_TYPE_DESCRIPTORS = 'HV006'; 209 | export const PG_FDW_INVALID_DESCRIPTOR_FIELD_IDENTIFIER = 'HV091'; 210 | export const PG_FDW_INVALID_HANDLE = 'HV00B'; 211 | export const PG_FDW_INVALID_OPTION_INDEX = 'HV00C'; 212 | export const PG_FDW_INVALID_OPTION_NAME = 'HV00D'; 213 | export const PG_FDW_INVALID_STRING_LENGTH_OR_BUFFER_LENGTH = 'HV090'; 214 | export const PG_FDW_INVALID_STRING_FORMAT = 'HV00A'; 215 | export const PG_FDW_INVALID_USE_OF_NULL_POINTER = 'HV009'; 216 | export const PG_FDW_TOO_MANY_HANDLES = 'HV014'; 217 | export const PG_FDW_OUT_OF_MEMORY = 'HV001'; 218 | export const PG_FDW_NO_SCHEMAS = 'HV00P'; 219 | export const PG_FDW_OPTION_NAME_NOT_FOUND = 'HV00J'; 220 | export const PG_FDW_REPLY_HANDLE = 'HV00K'; 221 | export const PG_FDW_SCHEMA_NOT_FOUND = 'HV00Q'; 222 | export const PG_FDW_TABLE_NOT_FOUND = 'HV00R'; 223 | export const PG_FDW_UNABLE_TO_CREATE_EXECUTION = 'HV00L'; 224 | export const PG_FDW_UNABLE_TO_CREATE_REPLY = 'HV00M'; 225 | export const PG_FDW_UNABLE_TO_ESTABLISH_CONNECTION = 'HV00N'; 226 | export const PG_PLPGSQL_ERROR = 'P0000'; 227 | export const PG_RAISE_EXCEPTION = 'P0001'; 228 | export const PG_NO_DATA_FOUND = 'P0002'; 229 | export const PG_TOO_MANY_ROWS = 'P0003'; 230 | export const PG_INTERNAL_ERROR = 'XX000'; 231 | export const PG_DATA_CORRUPTED = 'XX001'; 232 | export const PG_INDEX_CORRUPTED = 'XX002'; 233 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | /* Basic Options */ 4 | // "incremental": true, /* Enable incremental compilation */ 5 | "target": "esnext", 6 | /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019' or 'ESNEXT'. */ 7 | "module": "commonjs", 8 | /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */ 9 | // "lib": [], /* Specify library files to be included in the compilation. */ 10 | // "allowJs": true, 11 | /* Allow javascript files to be compiled. */ 12 | // "checkJs": true, 13 | /* Report errors in .js files. */ 14 | // "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */ 15 | "declaration": true, 16 | /* Generates corresponding '.d.ts' file. */ 17 | // "declarationMap": true, /* Generates a sourcemap for each corresponding '.d.ts' file. */ 18 | // "sourceMap": true, /* Generates corresponding '.map' file. */ 19 | // "outFile": "./", /* Concatenate and emit output to single file. */ 20 | "outDir": "./lib", 21 | /* Redirect output structure to the directory. */ 22 | // "rootDir": "./src", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */ 23 | // "composite": true, /* Enable project compilation */ 24 | // "tsBuildInfoFile": "./", /* Specify file to store incremental compilation information */ 25 | "removeComments": true, 26 | /* Do not emit comments to output. */ 27 | // "noEmit": true, /* Do not emit outputs. */ 28 | // "importHelpers": true, /* Import emit helpers from 'tslib'. */ 29 | // "downlevelIteration": true, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */ 30 | // "isolatedModules": true, 31 | /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */ 32 | 33 | /* Strict Type-Checking Options */ 34 | "strict": true, 35 | /* Enable all strict type-checking options. */ 36 | "noImplicitAny": false, 37 | /* Raise error on expressions and declarations with an implied 'any' type. */ 38 | "strictNullChecks": true, 39 | /* Enable strict null checks. */ 40 | "strictFunctionTypes": true, 41 | /* Enable strict checking of function types. */ 42 | "strictBindCallApply": true, 43 | /* Enable strict 'bind', 'call', and 'apply' methods on functions. */ 44 | "strictPropertyInitialization": true, 45 | /* Enable strict checking of property initialization in classes. */ 46 | "noImplicitThis": true, 47 | /* Raise error on 'this' expressions with an implied 'any' type. */ 48 | "alwaysStrict": true, 49 | /* Parse in strict mode and emit "use strict" for each source file. */ 50 | 51 | /* Additional Checks */ 52 | "noUnusedLocals": true, 53 | /* Report errors on unused locals. */ 54 | "noUnusedParameters": true, 55 | /* Report errors on unused parameters. */ 56 | "noImplicitReturns": true, 57 | /* Report error when not all code paths in function return a value. */ 58 | "noFallthroughCasesInSwitch": true, 59 | /* Report errors for fallthrough cases in switch statement. */ 60 | 61 | "skipLibCheck": true, 62 | /* Module Resolution Options */ 63 | "moduleResolution": "node", 64 | /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */ 65 | // "baseUrl": "./", /* Base directory to resolve non-absolute module names. */ 66 | // "paths": {}, /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */ 67 | "rootDirs": [ 68 | "src", 69 | ], 70 | /* List of root folders whose combined content represents the structure of the project at runtime. */ 71 | // "typeRoots": [], /* List of folders to include type definitions from. */ 72 | // "types": [], /* Type declaration files to be included in compilation. */ 73 | // "allowSyntheticDefaultImports": true, /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */ 74 | "esModuleInterop": true, 75 | /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */ 76 | // "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */ 77 | // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ 78 | 79 | /* Source Map Options */ 80 | // "sourceRoot": "", /* Specify the location where debugger should locate TypeScript files instead of source locations. */ 81 | // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ 82 | // "inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */ 83 | // "inlineSources": true, /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */ 84 | 85 | /* Experimental Options */ 86 | "experimentalDecorators": true, 87 | /* Enables experimental support for ES7 decorators. */ 88 | "emitDecoratorMetadata": true, 89 | /* Enables experimental support for emitting type metadata for decorators. */ 90 | 91 | /* Advanced Options */ 92 | "forceConsistentCasingInFileNames": true /* Disallow inconsistently-cased references to the same file. */ 93 | }, 94 | "include": ["./src/**/*"] 95 | } 96 | --------------------------------------------------------------------------------